From d5eee7954a6aa440edbba15e1735b0b323252665 Mon Sep 17 00:00:00 2001 From: Felipe Novaes F Rocha Date: Thu, 11 Jan 2024 04:18:03 -0300 Subject: [PATCH 1/4] :zap: new test :sparkles: deployed to Arb --- .../421614/run-1704957191.json | 1549 +++++++++++++++ .../421614/run-latest.json | 1696 ++++++++--------- .../CVStrategyTest.t.sol/CVStrategyTest.json | 2 +- .../DeployCVArbSepolia.json | 2 +- pkg/contracts/script/DeployCVArbSepolia.s.sol | 1 + pkg/contracts/test/CVStrategyTest.t.sol | 19 + 6 files changed, 2405 insertions(+), 864 deletions(-) create mode 100644 broadcast/DeployCVArbSepolia.s.sol/421614/run-1704957191.json diff --git a/broadcast/DeployCVArbSepolia.s.sol/421614/run-1704957191.json b/broadcast/DeployCVArbSepolia.s.sol/421614/run-1704957191.json new file mode 100644 index 000000000..2dcd975c7 --- /dev/null +++ b/broadcast/DeployCVArbSepolia.s.sol/421614/run-1704957191.json @@ -0,0 +1,1549 @@ +{ + "transactions": [ + { + "hash": "0xe34ca35a43c33b980f454fa51cad569c0d072b4ac4509b94e4519aab61b6b669", + "transactionType": "CREATE", + "contractName": null, + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x101db1", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c63430008130033", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86b9fc2f4fb36940a60d4bb0ad1986ba61a609d21c0995b52a50e0e026103523", + "transactionType": "CREATE", + "contractName": "RegistryFactory", + "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x2c0e6a", + "value": "0x0", + "data": "0x6080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6e900cfe67da2d1061e5222719036ccb5f55b17a9b08fad062175667f1145cf6", + "transactionType": "CREATE", + "contractName": "SafeProxyFactory", + "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0xa0424", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x14964dd8679e685d1d0beb17c96dfa2d8cfdbf5f1a8f8da34bdd0768f13d22a8", + "transactionType": "CREATE", + "contractName": "Safe", + "contractAddress": "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x3bdc06", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033", + "nonce": "0x1c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", + "transactionType": "CALL", + "contractName": "SafeProxyFactory", + "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "function": "createProxyWithNonce(address,bytes,uint256)", + "arguments": [ + "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", + "0x", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x226bb0ce601b5fa0b9305e95edb2edbc842588ce", + "gas": "0x6ed8", + "value": "0x0", + "data": "0x1688f0b90000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1d", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "initCode": "0x608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c634300081300330000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "transactionType": "CALL", + "contractName": "SafeProxy", + "contractAddress": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x80cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238", + "gas": "0x73a3", + "value": "0x0", + "data": "0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionType": "CALL", + "contractName": "RegistryFactory", + "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "function": "createRegistry((address,address,uint256,uint256,uint256,(uint256,string),address))", + "arguments": [ + "(0x1133eA7Af70876e64665ecD07C0A0476d09465a1, 0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9, 50, 0, 0, (1, \"strategy pointer\"), 0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238)" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xeab40527a5d4ac7605bef58113adae14cb4f8939", + "gas": "0x77c3", + "value": "0x0", + "data": "0x4f350fb200000000000000000000000000000000000000000000000000000000000000200000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a10000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "initCode": "0x608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033" + }, + { + "transactionType": "CREATE2", + "address": "0xA046556fDb0FA0B97B32a904B685CBE0F7c70919", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c63430008130033ee63582435f34d9ed9980fb910e179ce3b8f5edec4e4b9ce9a52bffb2e6262c50000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xbbeaccd47214d8b2e969431cb16fa58f5c37dde6f11097b5b9c0af65162e6809", + "transactionType": "CREATE", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": null, + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x397ed6", + "value": "0x0", + "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x70bb20ba942e578f571cfc30beaf91f2f16f2bf3145681a412db67887cc6fcc7", + "transactionType": "CREATE", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": null, + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x397ed6", + "value": "0x0", + "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "function": "createProfile(uint256,string,(uint256,string),address,address[])", + "arguments": [ + "1", + "\"Pool Profile 1\"", + "(1, \"PoolProfile1\")", + "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "[0x05800FAD118693c398e4E1ceFBb1FAC54537b107, 0xF49D32655a289163297342376EA91F6434cff60f]" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x4aacca72145e1df2aec137e1f3c5e3d75db8b5f3", + "gas": "0xe4eb9", + "value": "0x0", + "data": "0x3a92f65f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0xe92fb133261Bc1B16CAe23Edb4F2570dfA12Db08", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c63430008130033a0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c96410000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", + "arguments": [ + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "0x0000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "0", + "(1, \"strategy pointer\")", + "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x938ca", + "value": "0x0", + "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", + "arguments": [ + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "0x0000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "0", + "(1, \"strategy pointer\")", + "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x938ca", + "value": "0x0", + "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe3bd648e4e6d7ca0995b0ff36418935c7e06eb0a66993094c9a4d01bc804cd86", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "setDecay(uint256)", + "arguments": [ + "9965402" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6bcc", + "value": "0x0", + "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe4bab59236c12ac4c8ebddd34da43b543a4f67dddc5a65068d8d80ca0e08b9f6", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "setMaxRatio(uint256)", + "arguments": [ + "1000000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6bcc", + "value": "0x0", + "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0x26", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfea376821d82471713a89e0e9d88d5b62c54135daa1ac386b94d56aa9d02d8a3", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "setWeight(uint256)", + "arguments": [ + "5000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6bbc", + "value": "0x0", + "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", + "nonce": "0x27", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd8525a1911fc63c6268f20619868d6a45d5095df3fe19e1472bd8fa16fa8f08e", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "setDecay(uint256)", + "arguments": [ + "9965402" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6bcc", + "value": "0x0", + "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", + "nonce": "0x28", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8ce3670f73bd905784986fa51605e9b3aa578cf8d895144705d754c189894f6f", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "setMaxRatio(uint256)", + "arguments": [ + "1000000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6bcc", + "value": "0x0", + "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0x29", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3784aa680f262082db04603cbe93b10c3fc974d3fce6932c64980545c128e605", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "setWeight(uint256)", + "arguments": [ + "5000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6bbc", + "value": "0x0", + "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", + "nonce": "0x2a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "activatePoints()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6af7", + "value": "0x0", + "data": "0x814516ad", + "nonce": "0x2b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "activatePoints()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6af7", + "value": "0x0", + "data": "0x814516ad", + "nonce": "0x2c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "transactionType": "CALL", + "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "function": "mint(address,uint256)", + "arguments": [ + "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "10000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x8e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "gas": "0x6d9b", + "value": "0x0", + "data": "0x40c10f190000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000002710", + "nonce": "0x2d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "transactionType": "CALL", + "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "function": "approve(address,uint256)", + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x8e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "gas": "0x6f6f", + "value": "0x0", + "data": "0x095ea7b30000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "fundPool(uint256,uint256)", + "arguments": [ + "205", + "1000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x288a1", + "value": "0x0", + "data": "0x5acd6fac00000000000000000000000000000000000000000000000000000000000000cd00000000000000000000000000000000000000000000000000000000000003e8", + "nonce": "0x2f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "205", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x50e77", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "nonce": "0x30", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "205", + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f40000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x46a48", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f40000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "nonce": "0x31", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "205", + "0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003840000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x46a48", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003840000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "nonce": "0x32", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "206", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x3827a", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x33", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe34ca35a43c33b980f454fa51cad569c0d072b4ac4509b94e4519aab61b6b669", + "transactionIndex": "0x1", + "blockHash": "0x8b9d34ba5fda111f0bbac8802ebf58e4fd533aeffbdf216c56ef5374feee2cfe", + "blockNumber": "0x60809f", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0xc659c", + "gasUsed": "0xc659c", + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x86b9fc2f4fb36940a60d4bb0ad1986ba61a609d21c0995b52a50e0e026103523", + "transactionIndex": "0x1", + "blockHash": "0x38b2b0b469d1d49dbe166ca3f4fea36f04dd9d3754a54f484c045bc7caa5b2d2", + "blockNumber": "0x6080a2", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x21e3b4", + "gasUsed": "0x21e3b4", + "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x6e900cfe67da2d1061e5222719036ccb5f55b17a9b08fad062175667f1145cf6", + "transactionIndex": "0x1", + "blockHash": "0x5b8557a97cbdf8b9223544e76528923e649a97d02ae352320e375715354437ee", + "blockNumber": "0x6080b7", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x7b46b", + "gasUsed": "0x7b46b", + "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x14964dd8679e685d1d0beb17c96dfa2d8cfdbf5f1a8f8da34bdd0768f13d22a8", + "transactionIndex": "0x1", + "blockHash": "0xff60a1b0881ca0863b2787b84d9ee3238af61310c2229bd40cf7a5e2a82d5765", + "blockNumber": "0x6080d3", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x2e0bb6", + "gasUsed": "0x2e0bb6", + "contractAddress": "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", + "transactionIndex": "0x1", + "blockHash": "0x1929d51e64aa9545c052e02cfd328a740e04d1c868e1e1b0b3b481db31763265", + "blockNumber": "0x6080ec", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "cumulativeGasUsed": "0x1c1ce", + "gasUsed": "0x1c1ce", + "contractAddress": null, + "logs": [ + { + "address": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "topics": [ + "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", + "0x00000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238" + ], + "data": "0x0000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf", + "blockHash": "0x1929d51e64aa9545c052e02cfd328a740e04d1c868e1e1b0b3b481db31763265", + "blockNumber": "0x6080ec", + "transactionHash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000002000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000000000800000000000000000000000000000000010000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "transactionIndex": "0x1", + "blockHash": "0xb705be04e98dc5b5fad725232d3b246afdbb023ef82dd3139b7fbcd14175ee0a", + "blockNumber": "0x608102", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "cumulativeGasUsed": "0x23395", + "gasUsed": "0x23395", + "contractAddress": null, + "logs": [ + { + "address": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "topics": [ + "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "blockHash": "0xb705be04e98dc5b5fad725232d3b246afdbb023ef82dd3139b7fbcd14175ee0a", + "blockNumber": "0x608102", + "transactionHash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000408000000000000000000000000000000000100000000000000000000000000000000000010004000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000020000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "cumulativeGasUsed": "0x2ecef4", + "gasUsed": "0x282403", + "contractAddress": null, + "logs": [ + { + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "topics": [ + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", + "0x00000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238", + "0x000000000000000000000000eab40527a5d4ac7605bef58113adae14cb4f8939" + ], + "data": "0x", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", + "0xee63582435f34d9ed9980fb910e179ce3b8f5edec4e4b9ce9a52bffb2e6262c5" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eab40527a5d4ac7605bef58113adae14cb4f8939000000000000000000000000a046556fdb0fa0b97b32a904b685cbe0f7c709190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000840000000000000080000000000000000400000000000000000000100000000000000000000100200004000000000000000000000000000000010000000040000000000000000000000000080000000000000000000000000000000020000400000000000000a00000000000000000000000000000000000000000000000000000000000800000000100000000002000000000000080000000002000000004000000000000000000000000000000000001000040000000000000008000000000000000000000000000000000000000100100000000020000000000000000000000000000800004000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xbbeaccd47214d8b2e969431cb16fa58f5c37dde6f11097b5b9c0af65162e6809", + "transactionIndex": "0x1", + "blockHash": "0x4b6be23c41da04fac3f406ab8af596fe1440ced827fbb99bf9c23d8e89d35b58", + "blockNumber": "0x608136", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x2c3a2f", + "gasUsed": "0x2c3a2f", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x70bb20ba942e578f571cfc30beaf91f2f16f2bf3145681a412db67887cc6fcc7", + "transactionIndex": "0x1", + "blockHash": "0xc8a35b21ca906cfb3a95f4bfc01a3f76279fb1c9b6ac48fcd0b3b92742a7404c", + "blockNumber": "0x60814f", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x2c3a2f", + "gasUsed": "0x2c3a2f", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "transactionIndex": "0x1", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "cumulativeGasUsed": "0xad786", + "gasUsed": "0xad786", + "contractAddress": null, + "logs": [ + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x00000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000e92fb133261bc1b16cae23edb4f2570dfa12db08000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000200000000000000000000000000000400000000000000000000000000008080000000000000000000002000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000020000000000000000000000000000000800800000000000000000000000000000000000000000000000004000000000000000000000000000000200001000000000000000080000000000000000000000000000000000000000000100000000200000000000000000000200000000000000004000000000000000000240000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionIndex": "0x1", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x6ad2c", + "gasUsed": "0x6ad2c", + "contractAddress": null, + "logs": [ + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x7bc1f6d50ee439c2511c1af06c7ad15f22cd33198ee513ae0dd8329640d867ec", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x7bc1f6d50ee439c2511c1af06c7ad15f22cd33198ee513ae0dd8329640d867ec" + ], + "data": "0x", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "topics": [ + "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" + ], + "data": "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a00000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00002004000000000800000000000000080000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000001000001000000000000010000000000000000000000000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000020004000080800000000000000010000000000000000000000000000000000000000002000000000000200000000200001000000000000000080000020204100000000000000000000000000000000100000100200020000000000000000200000000000010000000000000000000800000200000000200", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionIndex": "0x1", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x6ad2c", + "gasUsed": "0x6ad2c", + "contractAddress": null, + "logs": [ + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x83f6cc8d7d93dc5de805391a18ffd1de9f684820168be8a90221ec8d71ffaa05", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0x00000000000000000000000000000000000000000000000000000000000000ce", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x83f6cc8d7d93dc5de805391a18ffd1de9f684820168be8a90221ec8d71ffaa05" + ], + "data": "0x", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "topics": [ + "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000ce", + "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000ce", + "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", + "0x00000000000000000000000000000000000000000000000000000000000000ce", + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" + ], + "data": "0x000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000024000000000800000000000000080000000000000000001000000000000100000000000000000000000000000000000002000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000000004000000800800001000000000000000000000000000000000000000000000000002000000000000200000000200001000000000000000080000000204800000000000000000000000000000000100000000200020000000000000020200000000000010000000000000000000040000200000000202", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe3bd648e4e6d7ca0995b0ff36418935c7e06eb0a66993094c9a4d01bc804cd86", + "transactionIndex": "0x1", + "blockHash": "0xb7614b9d678e5397e60c6ac584b27f09cd06c87b97aa87f40325cb1f3dabc1bf", + "blockNumber": "0x60819d", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0xbcc3", + "gasUsed": "0xbcc3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe4bab59236c12ac4c8ebddd34da43b543a4f67dddc5a65068d8d80ca0e08b9f6", + "transactionIndex": "0x1", + "blockHash": "0xfdfe8a45de5b5cd9ea25aff555548d69bc8884446f246ecf277413fca4515a85", + "blockNumber": "0x6081b0", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0xbc99", + "gasUsed": "0xbc99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xfea376821d82471713a89e0e9d88d5b62c54135daa1ac386b94d56aa9d02d8a3", + "transactionIndex": "0x1", + "blockHash": "0x3624085dfe14bfa243cd6a1a7774f6f111cccc0b1048696c7aa3e71764a05e62", + "blockNumber": "0x6081b1", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0xbcb6", + "gasUsed": "0xbcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xd8525a1911fc63c6268f20619868d6a45d5095df3fe19e1472bd8fa16fa8f08e", + "transactionIndex": "0x1", + "blockHash": "0x9f5b86139734171393d92f700b2315340acad30ea43e4a18924453b55eafa075", + "blockNumber": "0x6081cc", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0xbcc3", + "gasUsed": "0xbcc3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x8ce3670f73bd905784986fa51605e9b3aa578cf8d895144705d754c189894f6f", + "transactionIndex": "0x3", + "blockHash": "0x1c35aa9bee2ef4cf687a78a03f91fa519ea7ce07961cc1467efde1ffe9dc1c6d", + "blockNumber": "0x6081e2", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0x13808e", + "gasUsed": "0xbc99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x3784aa680f262082db04603cbe93b10c3fc974d3fce6932c64980545c128e605", + "transactionIndex": "0x1", + "blockHash": "0x0c70ce0124bf8186c2c9b06f5cf153e6baba2def525c13603857ca7f0929f0eb", + "blockNumber": "0x6081f8", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0xbcb6", + "gasUsed": "0xbcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "transactionIndex": "0x1", + "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", + "blockNumber": "0x6081fb", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0x1ed8f", + "gasUsed": "0x1ed8f", + "contractAddress": null, + "logs": [ + { + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "topics": [ + "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" + ], + "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", + "blockNumber": "0x6081fb", + "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "topics": [ + "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" + ], + "data": "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", + "blockNumber": "0x6081fb", + "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000002000000000010000000000000000000000000000000001000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", + "transactionIndex": "0x1", + "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", + "blockNumber": "0x608218", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0x15217", + "gasUsed": "0x15217", + "contractAddress": null, + "logs": [ + { + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "topics": [ + "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" + ], + "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", + "blockNumber": "0x608218", + "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "topics": [ + "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" + ], + "data": "0x000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", + "blockNumber": "0x608218", + "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000002000000000010000000000000000000000000000000001000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "transactionIndex": "0x1", + "blockHash": "0xb7cbba328ebcb3867c040746296715a89c9518773aa12c0015c2cd7889717b82", + "blockNumber": "0x60822a", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "cumulativeGasUsed": "0x10a45", + "gasUsed": "0x10a45", + "contractAddress": null, + "logs": [ + { + "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0xb7cbba328ebcb3867c040746296715a89c9518773aa12c0015c2cd7889717b82", + "blockNumber": "0x60822a", + "transactionHash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000200000000800000000000000000000000000400000000000000000000000000000000000000000000000000000200000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000200000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "transactionIndex": "0x1", + "blockHash": "0xc100cf34687eeca0c132260512ae8665bd7aa3fd500448d595261bc59ceca0b2", + "blockNumber": "0x60822d", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "cumulativeGasUsed": "0xb50b", + "gasUsed": "0xb50b", + "contractAddress": null, + "logs": [ + { + "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x0000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc100cf34687eeca0c132260512ae8665bd7aa3fd500448d595261bc59ceca0b2", + "blockNumber": "0x60822d", + "transactionHash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000200000000800000000000004000000000000400000000020000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000010000000000200000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "transactionIndex": "0x1", + "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", + "blockNumber": "0x608240", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x1bb82", + "gasUsed": "0x1bb82", + "contractAddress": null, + "logs": [ + { + "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", + "blockNumber": "0x608240", + "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0xbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851", + "0x00000000000000000000000000000000000000000000000000000000000000cd" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", + "blockNumber": "0x608240", + "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x20000000000000000000000000000000000000000000000000000000000000000000000400000000000000010000000000000000000000000000000000080000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000200000080800000000001000010000000000400000000000000000000000000000000000000000000200000000200000000000000000000000002000200100000000000000000000000000000000000002000000000000000000000000200000000000000000000000000000000100000200000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", + "transactionIndex": "0x1", + "blockHash": "0xccd08e634ead2f2e3b450672613b5443c7080ff3e6f0a3d652b0d46022963a02", + "blockNumber": "0x608251", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x3751b", + "gasUsed": "0x3751b", + "contractAddress": null, + "logs": [ + { + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xccd08e634ead2f2e3b450672613b5443c7080ff3e6f0a3d652b0d46022963a02", + "blockNumber": "0x608251", + "transactionHash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", + "transactionIndex": "0x1", + "blockHash": "0xee6627cf5ad25f6bd4924f398e675ef0708ffc1970e085b8f82d81f88f03d6e1", + "blockNumber": "0x60826a", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x3324f", + "gasUsed": "0x3324f", + "contractAddress": null, + "logs": [ + { + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000001f4", + "blockHash": "0xee6627cf5ad25f6bd4924f398e675ef0708ffc1970e085b8f82d81f88f03d6e1", + "blockNumber": "0x60826a", + "transactionHash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", + "transactionIndex": "0x1", + "blockHash": "0xaf304dc5bbc34e711579536b09ef888441b4d8cbc6d5dd26ed2961c24016b5b1", + "blockNumber": "0x608281", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x3324f", + "gasUsed": "0x3324f", + "contractAddress": null, + "logs": [ + { + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000384", + "blockHash": "0xaf304dc5bbc34e711579536b09ef888441b4d8cbc6d5dd26ed2961c24016b5b1", + "blockNumber": "0x608281", + "transactionHash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", + "transactionIndex": "0x1", + "blockHash": "0xef51f92fb9d9fc1ac8f96c3443c6dc70f4de4022dde1ffc93e6ed63282fe1353", + "blockNumber": "0x60829d", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x28a7c", + "gasUsed": "0x28a7c", + "contractAddress": null, + "logs": [ + { + "address": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xef51f92fb9d9fc1ac8f96c3443c6dc70f4de4022dde1ffc93e6ed63282fe1353", + "blockNumber": "0x60829d", + "transactionHash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000040000000080000002", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704957191, + "chain": 421614, + "multi": false, + "commit": "db8ae0f" +} \ No newline at end of file diff --git a/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json b/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json index ca80ac957..2dcd975c7 100644 --- a/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json +++ b/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json @@ -1,579 +1,622 @@ { "transactions": [ { - "hash": "0x356a6acf87e01a86d61705404d9ebc07c814bf94476ec98d911af1c753c698c0", + "hash": "0xe34ca35a43c33b980f454fa51cad569c0d072b4ac4509b94e4519aab61b6b669", "transactionType": "CREATE", - "contractName": "Registry", - "contractAddress": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", + "contractName": null, + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x6ccd6d", + "gas": "0x101db1", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033", - "nonce": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c63430008130033", + "nonce": "0x19", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x9f62089d5fbf8db66bfcf3207ecfcddeef86f73646f2523df07aa730ddb7d730", - "transactionType": "CALL", - "contractName": "Registry", - "contractAddress": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", - "function": "initialize(address)", - "arguments": [ - "0x258d92158E12b867DEb88eff01D1496334c77576" - ], + "hash": "0x86b9fc2f4fb36940a60d4bb0ad1986ba61a609d21c0995b52a50e0e026103523", + "transactionType": "CREATE", + "contractName": "RegistryFactory", + "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x2c0e6a", + "value": "0x0", + "data": "0x6080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6e900cfe67da2d1061e5222719036ccb5f55b17a9b08fad062175667f1145cf6", + "transactionType": "CREATE", + "contractName": "SafeProxyFactory", + "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "function": null, + "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x7dfc9f640a6b7b22bb474c9802f89c687ceecbe8", - "gas": "0x2019f", + "gas": "0xa0424", "value": "0x0", - "data": "0xc4d66de8000000000000000000000000258d92158e12b867deb88eff01d1496334c77576", - "nonce": "0x1", + "data": "0x608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033", + "nonce": "0x1b", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x831ad3eed474c5f5adf95ec49fa3613889862dc0843733bc8402eb87c3d92cbc", + "hash": "0x14964dd8679e685d1d0beb17c96dfa2d8cfdbf5f1a8f8da34bdd0768f13d22a8", "transactionType": "CREATE", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "contractName": "Safe", + "contractAddress": "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x820188", + "gas": "0x3bdc06", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033", - "nonce": "0x2", + "data": "0x608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033", + "nonce": "0x1c", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", + "hash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "function": "initialize(address,address,address,uint256,uint256)", + "contractName": "SafeProxyFactory", + "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ - "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", - "0x11CDD8c4b40352E593942e66b1ccA5DC28E391B4", - "0", + "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", + "0x", "0" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x32e5f", + "to": "0x226bb0ce601b5fa0b9305e95edb2edbc842588ce", + "gas": "0x6ed8", "value": "0x0", - "data": "0xa6b63eb80000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000007dfc9f640a6b7b22bb474c9802f89c687ceecbe800000000000000000000000011cdd8c4b40352e593942e66b1cca5dc28e391b400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x3", + "data": "0x1688f0b90000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1d", "accessList": [] }, - "additionalContracts": [], + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "initCode": "0x608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c634300081300330000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf" + } + ], "isFixedGasLimit": false }, { - "hash": "0x03fec844d0a112af709def462b72df02b56f75bdbc7244a8126c5b7a442aa56c", - "transactionType": "CREATE", - "contractName": null, - "contractAddress": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", + "hash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "transactionType": "CALL", + "contractName": "SafeProxy", + "contractAddress": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x260b00", + "to": "0x80cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238", + "gas": "0x73a3", "value": "0x0", - "data": "0x60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c63430008130033", - "nonce": "0x4", + "data": "0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1e", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x5335520f21bda93f7ac593e0c545825b5a0c84a9e8108789f8b8449ba2fac0e4", - "transactionType": "CREATE", + "hash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionType": "CALL", "contractName": "RegistryFactory", - "contractAddress": "0xb49591445089d430531e35eFCb745D6290b3DFcd", - "function": null, - "arguments": null, + "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "function": "createRegistry((address,address,uint256,uint256,uint256,(uint256,string),address))", + "arguments": [ + "(0x1133eA7Af70876e64665ecD07C0A0476d09465a1, 0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9, 50, 0, 0, (1, \"strategy pointer\"), 0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238)" + ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x5a417f", + "to": "0xeab40527a5d4ac7605bef58113adae14cb4f8939", + "gas": "0x77c3", "value": "0x0", - "data": "0x6080604052600060015534801561001557600080fd5b50612539806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6120aa8061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612006806100a46000396000f3fe6080604052600436106101fe5760003560e01c80636ff61ab31161011d578063b0e21e8a116100b0578063d547741f1161007f578063db61d65c11610064578063db61d65c146106a3578063ebd7dc52146106c3578063fc45f976146106e357600080fd5b8063d547741f14610663578063d6d8428d1461068357600080fd5b8063b0e21e8a146105f6578063b5058c501461060c578063c3f6852114610621578063c6d572ae1461064157600080fd5b806391d14854116100ec57806391d1485414610503578063a0b21cdf14610549578063a217fddf1461057d578063a230c5241461059257600080fd5b80636ff61ab314610430578063719da6a3146104605780637b1039991461047357806388cfe6841461049357600080fd5b806331f61bca116101955780633c092330116101645780633c092330146103985780634256dd78146103b857806368decabb146103d85780636c53db9a1461041057600080fd5b806331f61bca1461030857806336568abe14610328578063397e2543146103485780633a871fe11461036857600080fd5b8063223e5479116101d1578063223e54791461028f578063248a9ca3146102af5780632e0b012e146102e05780632f2ff15d146102e857600080fd5b806301ffc9a7146102035780630331383c1461023857806308386eba14610257578063175188e81461026d575b600080fd5b34801561020f57600080fd5b5061022361021e3660046119ce565b610703565b60405190151581526020015b60405180910390f35b34801561024457600080fd5b506005545b60405190815260200161022f565b34801561026357600080fd5b5061024960095481565b34801561027957600080fd5b5061028d610288366004611a1d565b61076c565b005b34801561029b57600080fd5b5061028d6102aa366004611a1d565b61081c565b3480156102bb57600080fd5b506102496102ca366004611a3a565b6000908152600160208190526040909120015490565b61028d610922565b3480156102f457600080fd5b5061028d610303366004611a53565b610bbc565b34801561031457600080fd5b5061028d610323366004611a3a565b610be7565b34801561033457600080fd5b5061028d610343366004611a53565b610c3b565b34801561035457600080fd5b5061028d610363366004611a1d565b610cc7565b34801561037457600080fd5b50610223610383366004611a1d565b600e6020526000908152604090205460ff1681565b3480156103a457600080fd5b5061028d6103b3366004611a1d565b610d72565b3480156103c457600080fd5b5061028d6103d3366004611a3a565b610dc0565b3480156103e457600080fd5b50600a546103f8906001600160a01b031681565b6040516001600160a01b03909116815260200161022f565b34801561041c57600080fd5b50600b546103f8906001600160a01b031681565b34801561043c57600080fd5b5061022361044b366004611a1d565b600c6020526000908152604090205460ff1681565b61028d61046e366004611a3a565b610e44565b34801561047f57600080fd5b506003546103f8906001600160a01b031681565b34801561049f57600080fd5b506104dc6104ae366004611a1d565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600161022f565b34801561050f57600080fd5b5061022361051e366004611a53565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561055557600080fd5b506102497fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b34801561058957600080fd5b50610249600081565b34801561059e57600080fd5b506102236105ad366004611a1d565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561060257600080fd5b5061024960075481565b34801561061857600080fd5b5061028d61103c565b34801561062d57600080fd5b5061028d61063c366004611bbe565b611088565b34801561064d57600080fd5b50610656611272565b60405161022f9190611ccc565b34801561066f57600080fd5b5061028d61067e366004611a53565b611300565b34801561068f57600080fd5b506002546103f8906001600160a01b031681565b3480156106af57600080fd5b506006546103f8906001600160a01b031681565b3480156106cf57600080fd5b506102236106de366004611a1d565b611326565b3480156106ef57600080fd5b5061028d6106fe366004611a1d565b611366565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061076657507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166107bb57604051637b1328fd60e11b815260040160405180910390fd5b6107c481611570565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261087b57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff16156108ce576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610811565b61092a611597565b336000908152600d602052604090206007546005546109499190611cf5565b6006546040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce9190611d08565b1015610a6e5760405162461bcd60e51b8152602060048201526044602482018190527f5b52656769737472795d3a20416d6f756e74207374616b6564206d7573742062908201527f652067726561746572207468616e206d696e696d756d207374616b656420616d60648201527f6f756e7400000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b600554816001015410610ac35760405162461bcd60e51b815260206004820152600e60248201527f616c7265616479205374616b65640000000000000000000000000000000000006044820152606401610a65565b60028101805460ff191660019081179091556005549082018190556006546040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101929092526001600160a01b0316906323b872dd906064016020604051808303816000875af1158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b719190611d21565b506005546040805133815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a150610bba6001600055565b565b60008281526001602081905260409091200154610bd8816115f0565b610be283836115fa565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610c3657604051637b1328fd60e11b815260040160405180910390fd5b600555565b6001600160a01b0381163314610cb95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610a65565b610cc38282611681565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610d1657604051637b1328fd60e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600b546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610811565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610811565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610e0f57604051637b1328fd60e11b815260040160405180910390fd5b60078190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610811565b610e4c611597565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff1615159101819052610eab57604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015610f5d576006546001600160a01b031663a9059cbb33610ee88487611d43565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f579190611d21565b50610ff4565b6006546001600160a01b03166323b872dd3033610f7a8786611d43565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff29190611d21565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506110396001600055565b50565b600a546001600160a01b03163314611080576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bba611704565b8051600280546001600160a01b03199081166001600160a01b03938416179091556020830151600680549092169083161790556040820151600555606082015160075560c0820151166110ee576040516303988b8160e61b815260040160405180910390fd5b60c0810151600b80546001600160a01b0319166001600160a01b038316179055611139907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906115fa565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190611d56565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161122891600490338760248101611e18565b6020604051808303816000875af1158015611247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126b9190611d08565b6009555050565b6004805461127f90611d73565b80601f01602080910402602001604051908101604052809291908181526020018280546112ab90611d73565b80156112f85780601f106112cd576101008083540402835291602001916112f8565b820191906000526020600020905b8154815290600101906020018083116112db57829003601f168201915b505050505081565b6000828152600160208190526040909120015461131c816115f0565b610be28383611681565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610766565b61136e611597565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052806113c357506113c333611326565b6114355760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610a65565b336000818152600d60208181526040808420815160608101835281546001600160a01b03808216835260018401805484880190815260028601805460ff81161515878a01528c8c52999098526001600160a01b03199093169094559690925560ff19909416909255600654915190517fa9059cbb00000000000000000000000000000000000000000000000000000000815260048101959095526024850152909291169063a9059cbb906044016020604051808303816000875af1158015611501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115259190611d21565b5060208082015160408051338152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a1506110396001600055565b6001600160a01b038116611039576040516303988b8160e61b815260040160405180910390fd5b6002600054036115e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a65565b6002600055565b611039813361175f565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610cc35760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610cc35760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600a8054600b80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610cc357611792816117d4565b61179d8360206117e6565b6040516020016117ae929190611f0b565b60408051601f198184030181529082905262461bcd60e51b8252610a6591600401611ccc565b60606107666001600160a01b03831660145b606060006117f5836002611f8c565b611800906002611cf5565b67ffffffffffffffff81111561181857611818611a83565b6040519080825280601f01601f191660200182016040528015611842576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061187957611879611fa3565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106118c4576118c4611fa3565b60200101906001600160f81b031916908160001a90535060006118e8846002611f8c565b6118f3906001611cf5565b90505b6001811115611978577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061193457611934611fa3565b1a60f81b82828151811061194a5761194a611fa3565b60200101906001600160f81b031916908160001a90535060049490941c9361197181611fb9565b90506118f6565b5083156119c75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a65565b9392505050565b6000602082840312156119e057600080fd5b81356001600160e01b0319811681146119c757600080fd5b6001600160a01b038116811461103957600080fd5b8035611a18816119f8565b919050565b600060208284031215611a2f57600080fd5b81356119c7816119f8565b600060208284031215611a4c57600080fd5b5035919050565b60008060408385031215611a6657600080fd5b823591506020830135611a78816119f8565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611abc57611abc611a83565b60405290565b60405160e0810167ffffffffffffffff81118282101715611abc57611abc611a83565b604051601f8201601f1916810167ffffffffffffffff81118282101715611b0e57611b0e611a83565b604052919050565b600060408284031215611b2857600080fd5b611b30611a99565b90508135815260208083013567ffffffffffffffff80821115611b5257600080fd5b818501915085601f830112611b6657600080fd5b813581811115611b7857611b78611a83565b611b8a601f8201601f19168501611ae5565b91508082528684828501011115611ba057600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611bd057600080fd5b813567ffffffffffffffff80821115611be857600080fd5b9083019060e08286031215611bfc57600080fd5b611c04611ac2565b611c0d83611a0d565b8152611c1b60208401611a0d565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611c5057600080fd5b611c5c87828601611b16565b60a083015250611c6e60c08401611a0d565b60c082015295945050505050565b60005b83811015611c97578181015183820152602001611c7f565b50506000910152565b60008151808452611cb8816020860160208601611c7c565b601f01601f19169290920160200192915050565b6020815260006119c76020830184611ca0565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076657610766611cdf565b600060208284031215611d1a57600080fd5b5051919050565b600060208284031215611d3357600080fd5b815180151581146119c757600080fd5b8181038181111561076657610766611cdf565b600060208284031215611d6857600080fd5b81516119c7816119f8565b600181811c90821680611d8757607f821691505b602082108103611da757634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611dcc6040850182611ca0565b949350505050565b600081518084526020808501945080840160005b83811015611e0d5781516001600160a01b031687529582019590820190600101611de8565b509495945050505050565b8581526000602060a0818401526000875481600182811c915080831680611e4057607f831692505b8583108103611e5d57634e487b7160e01b85526022600452602485fd5b60a0880183905260c08801818015611e7c5760018114611e9257611ebd565b60ff198616825284151560051b82019650611ebd565b60008e81526020902060005b86811015611eb757815484820152908501908901611e9e565b83019750505b5050505050508381036040850152611ed58188611dad565b915050611eed60608401866001600160a01b03169052565b8281036080840152611eff8185611dd4565b98975050505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611f43816017850160208801611c7c565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611f80816028840160208801611c7c565b01602801949350505050565b808202811582820484141761076657610766611cdf565b634e487b7160e01b600052603260045260246000fd5b600081611fc857611fc8611cdf565b50600019019056fea26469706673582212203cae4deebb4cf6d06cd3345f8ea179c9823f871e4b8639db82823330c10941e164736f6c63430008130033a26469706673582212200a40ff3ce1de8c343477884f12ff328c9e542b424918b07ca4f605c1b61b2cce64736f6c63430008130033", - "nonce": "0x5", + "data": "0x4f350fb200000000000000000000000000000000000000000000000000000000000000200000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a10000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "nonce": "0x1f", "accessList": [] }, - "additionalContracts": [], + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "initCode": "0x608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033" + }, + { + "transactionType": "CREATE2", + "address": "0xA046556fDb0FA0B97B32a904B685CBE0F7c70919", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c63430008130033ee63582435f34d9ed9980fb910e179ce3b8f5edec4e4b9ce9a52bffb2e6262c50000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" + } + ], "isFixedGasLimit": false }, { - "hash": "0x476e5009c975395fe234863b535ab312c1a560b283c2f69f65c7b8369c5ce75b", + "hash": "0xbbeaccd47214d8b2e969431cb16fa58f5c37dde6f11097b5b9c0af65162e6809", "transactionType": "CREATE", - "contractName": "SafeProxyFactory", - "contractAddress": "0x9aC9a52a1bE10713d70acBa357d05F1e8A364F6b", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", "function": null, - "arguments": null, + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" + ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x18a1a5", + "gas": "0x397ed6", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033", - "nonce": "0x6", + "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", + "nonce": "0x20", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xff061ffdf3ad44aebf1c0c5a613019def2550b04cecb177bcd42673225ced9d8", + "hash": "0x70bb20ba942e578f571cfc30beaf91f2f16f2bf3145681a412db67887cc6fcc7", "transactionType": "CREATE", - "contractName": "Safe", - "contractAddress": "0x91b278E2D27FC417B64B8C02858Ca54974a79Ece", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", "function": null, - "arguments": null, + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" + ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x7aa7f8", + "gas": "0x397ed6", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033", - "nonce": "0x7", + "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", + "nonce": "0x21", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x36d28e0b1ce72a8dfd6587c5d7923dad3410c7f6c06ffda08f1c674796e82717", + "hash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", "transactionType": "CALL", - "contractName": "SafeProxyFactory", - "contractAddress": "0x9aC9a52a1bE10713d70acBa357d05F1e8A364F6b", - "function": "createProxyWithNonce(address,bytes,uint256)", + "contractName": null, + "contractAddress": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "function": "createProfile(uint256,string,(uint256,string),address,address[])", "arguments": [ - "0x91b278E2D27FC417B64B8C02858Ca54974a79Ece", - "0x", - "0" + "1", + "\"Pool Profile 1\"", + "(1, \"PoolProfile1\")", + "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "[0x05800FAD118693c398e4E1ceFBb1FAC54537b107, 0xF49D32655a289163297342376EA91F6434cff60f]" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x9ac9a52a1be10713d70acba357d05f1e8a364f6b", - "gas": "0x2e054", + "to": "0x4aacca72145e1df2aec137e1f3c5e3d75db8b5f3", + "gas": "0xe4eb9", "value": "0x0", - "data": "0x1688f0b900000000000000000000000091b278e2d27fc417b64b8c02858ca54974a79ece000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x8", + "data": "0x3a92f65f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "nonce": "0x22", "accessList": [] }, "additionalContracts": [ { "transactionType": "CREATE2", - "address": "0x4B6a63ecDD676dc3DB2F9d6D10F54FCcccbcE650", - "initCode": "0x608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c6343000813003300000000000000000000000091b278e2d27fc417b64b8c02858ca54974a79ece" + "address": "0xe92fb133261Bc1B16CAe23Edb4F2570dfA12Db08", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c63430008130033a0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c96410000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" } ], "isFixedGasLimit": false }, { - "hash": "0xf33a6e52e76e0fd1779fcf53410dd48f0ddac06e3029fa61b2e16e67514dfbaa", + "hash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionType": "CALL", - "contractName": "SafeProxy", - "contractAddress": "0x4B6a63ecDD676dc3DB2F9d6D10F54FCcccbcE650", - "function": null, - "arguments": null, + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", + "arguments": [ + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "0x0000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "0", + "(1, \"strategy pointer\")", + "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" + ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x4b6a63ecdd676dc3db2f9d6d10f54fccccbce650", - "gas": "0x391f6", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x938ca", "value": "0x0", - "data": "0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007e5f4552091a69125d5dfcb7b8c2659029395bdf0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x9", + "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x23", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa01c961fd6a74a8d21d07986b43145ba0afb1f49954bab234b805dca983591f1", + "hash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionType": "CALL", - "contractName": "RegistryFactory", - "contractAddress": "0xb49591445089d430531e35eFCb745D6290b3DFcd", - "function": "createRegistry((address,address,uint256,uint256,uint256,(uint256,string),address))", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", "arguments": [ - "(0x36a84a4707E4fd610060205F08B4EbAA0E438D2d, 0x957f865AC322d34492Fe89dd2D4f83f766F2066A, 50, 0, 0, (1, \"strategy pointer\"), 0x4B6a63ecDD676dc3DB2F9d6D10F54FCcccbcE650)" + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "0x0000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "0", + "(1, \"strategy pointer\")", + "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0xb49591445089d430531e35efcb745d6290b3dfcd", - "gas": "0x442dc", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x938ca", "value": "0x0", - "data": "0x4f350fb2000000000000000000000000000000000000000000000000000000000000002000000000000000000000000036a84a4707e4fd610060205f08b4ebaa0e438d2d000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000004b6a63ecdd676dc3db2f9d6d10f54fccccbce650000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "nonce": "0xa", + "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x24", "accessList": [] }, - "additionalContracts": [ - { - "transactionType": "CREATE", - "address": "0x0cF2440C820dDda4292394999371618d742B6634", - "initCode": "0x608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612006806100a46000396000f3fe6080604052600436106101fe5760003560e01c80636ff61ab31161011d578063b0e21e8a116100b0578063d547741f1161007f578063db61d65c11610064578063db61d65c146106a3578063ebd7dc52146106c3578063fc45f976146106e357600080fd5b8063d547741f14610663578063d6d8428d1461068357600080fd5b8063b0e21e8a146105f6578063b5058c501461060c578063c3f6852114610621578063c6d572ae1461064157600080fd5b806391d14854116100ec57806391d1485414610503578063a0b21cdf14610549578063a217fddf1461057d578063a230c5241461059257600080fd5b80636ff61ab314610430578063719da6a3146104605780637b1039991461047357806388cfe6841461049357600080fd5b806331f61bca116101955780633c092330116101645780633c092330146103985780634256dd78146103b857806368decabb146103d85780636c53db9a1461041057600080fd5b806331f61bca1461030857806336568abe14610328578063397e2543146103485780633a871fe11461036857600080fd5b8063223e5479116101d1578063223e54791461028f578063248a9ca3146102af5780632e0b012e146102e05780632f2ff15d146102e857600080fd5b806301ffc9a7146102035780630331383c1461023857806308386eba14610257578063175188e81461026d575b600080fd5b34801561020f57600080fd5b5061022361021e3660046119ce565b610703565b60405190151581526020015b60405180910390f35b34801561024457600080fd5b506005545b60405190815260200161022f565b34801561026357600080fd5b5061024960095481565b34801561027957600080fd5b5061028d610288366004611a1d565b61076c565b005b34801561029b57600080fd5b5061028d6102aa366004611a1d565b61081c565b3480156102bb57600080fd5b506102496102ca366004611a3a565b6000908152600160208190526040909120015490565b61028d610922565b3480156102f457600080fd5b5061028d610303366004611a53565b610bbc565b34801561031457600080fd5b5061028d610323366004611a3a565b610be7565b34801561033457600080fd5b5061028d610343366004611a53565b610c3b565b34801561035457600080fd5b5061028d610363366004611a1d565b610cc7565b34801561037457600080fd5b50610223610383366004611a1d565b600e6020526000908152604090205460ff1681565b3480156103a457600080fd5b5061028d6103b3366004611a1d565b610d72565b3480156103c457600080fd5b5061028d6103d3366004611a3a565b610dc0565b3480156103e457600080fd5b50600a546103f8906001600160a01b031681565b6040516001600160a01b03909116815260200161022f565b34801561041c57600080fd5b50600b546103f8906001600160a01b031681565b34801561043c57600080fd5b5061022361044b366004611a1d565b600c6020526000908152604090205460ff1681565b61028d61046e366004611a3a565b610e44565b34801561047f57600080fd5b506003546103f8906001600160a01b031681565b34801561049f57600080fd5b506104dc6104ae366004611a1d565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600161022f565b34801561050f57600080fd5b5061022361051e366004611a53565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561055557600080fd5b506102497fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b34801561058957600080fd5b50610249600081565b34801561059e57600080fd5b506102236105ad366004611a1d565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561060257600080fd5b5061024960075481565b34801561061857600080fd5b5061028d61103c565b34801561062d57600080fd5b5061028d61063c366004611bbe565b611088565b34801561064d57600080fd5b50610656611272565b60405161022f9190611ccc565b34801561066f57600080fd5b5061028d61067e366004611a53565b611300565b34801561068f57600080fd5b506002546103f8906001600160a01b031681565b3480156106af57600080fd5b506006546103f8906001600160a01b031681565b3480156106cf57600080fd5b506102236106de366004611a1d565b611326565b3480156106ef57600080fd5b5061028d6106fe366004611a1d565b611366565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061076657507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166107bb57604051637b1328fd60e11b815260040160405180910390fd5b6107c481611570565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261087b57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff16156108ce576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610811565b61092a611597565b336000908152600d602052604090206007546005546109499190611cf5565b6006546040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce9190611d08565b1015610a6e5760405162461bcd60e51b8152602060048201526044602482018190527f5b52656769737472795d3a20416d6f756e74207374616b6564206d7573742062908201527f652067726561746572207468616e206d696e696d756d207374616b656420616d60648201527f6f756e7400000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b600554816001015410610ac35760405162461bcd60e51b815260206004820152600e60248201527f616c7265616479205374616b65640000000000000000000000000000000000006044820152606401610a65565b60028101805460ff191660019081179091556005549082018190556006546040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101929092526001600160a01b0316906323b872dd906064016020604051808303816000875af1158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b719190611d21565b506005546040805133815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a150610bba6001600055565b565b60008281526001602081905260409091200154610bd8816115f0565b610be283836115fa565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610c3657604051637b1328fd60e11b815260040160405180910390fd5b600555565b6001600160a01b0381163314610cb95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610a65565b610cc38282611681565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610d1657604051637b1328fd60e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600b546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610811565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610811565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610e0f57604051637b1328fd60e11b815260040160405180910390fd5b60078190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610811565b610e4c611597565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff1615159101819052610eab57604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015610f5d576006546001600160a01b031663a9059cbb33610ee88487611d43565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f579190611d21565b50610ff4565b6006546001600160a01b03166323b872dd3033610f7a8786611d43565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff29190611d21565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506110396001600055565b50565b600a546001600160a01b03163314611080576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bba611704565b8051600280546001600160a01b03199081166001600160a01b03938416179091556020830151600680549092169083161790556040820151600555606082015160075560c0820151166110ee576040516303988b8160e61b815260040160405180910390fd5b60c0810151600b80546001600160a01b0319166001600160a01b038316179055611139907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906115fa565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561118c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b09190611d56565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161122891600490338760248101611e18565b6020604051808303816000875af1158015611247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126b9190611d08565b6009555050565b6004805461127f90611d73565b80601f01602080910402602001604051908101604052809291908181526020018280546112ab90611d73565b80156112f85780601f106112cd576101008083540402835291602001916112f8565b820191906000526020600020905b8154815290600101906020018083116112db57829003601f168201915b505050505081565b6000828152600160208190526040909120015461131c816115f0565b610be28383611681565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610766565b61136e611597565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052806113c357506113c333611326565b6114355760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610a65565b336000818152600d60208181526040808420815160608101835281546001600160a01b03808216835260018401805484880190815260028601805460ff81161515878a01528c8c52999098526001600160a01b03199093169094559690925560ff19909416909255600654915190517fa9059cbb00000000000000000000000000000000000000000000000000000000815260048101959095526024850152909291169063a9059cbb906044016020604051808303816000875af1158015611501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115259190611d21565b5060208082015160408051338152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a1506110396001600055565b6001600160a01b038116611039576040516303988b8160e61b815260040160405180910390fd5b6002600054036115e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a65565b6002600055565b611039813361175f565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610cc35760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610cc35760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600a8054600b80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610cc357611792816117d4565b61179d8360206117e6565b6040516020016117ae929190611f0b565b60408051601f198184030181529082905262461bcd60e51b8252610a6591600401611ccc565b60606107666001600160a01b03831660145b606060006117f5836002611f8c565b611800906002611cf5565b67ffffffffffffffff81111561181857611818611a83565b6040519080825280601f01601f191660200182016040528015611842576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061187957611879611fa3565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106118c4576118c4611fa3565b60200101906001600160f81b031916908160001a90535060006118e8846002611f8c565b6118f3906001611cf5565b90505b6001811115611978577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061193457611934611fa3565b1a60f81b82828151811061194a5761194a611fa3565b60200101906001600160f81b031916908160001a90535060049490941c9361197181611fb9565b90506118f6565b5083156119c75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a65565b9392505050565b6000602082840312156119e057600080fd5b81356001600160e01b0319811681146119c757600080fd5b6001600160a01b038116811461103957600080fd5b8035611a18816119f8565b919050565b600060208284031215611a2f57600080fd5b81356119c7816119f8565b600060208284031215611a4c57600080fd5b5035919050565b60008060408385031215611a6657600080fd5b823591506020830135611a78816119f8565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611abc57611abc611a83565b60405290565b60405160e0810167ffffffffffffffff81118282101715611abc57611abc611a83565b604051601f8201601f1916810167ffffffffffffffff81118282101715611b0e57611b0e611a83565b604052919050565b600060408284031215611b2857600080fd5b611b30611a99565b90508135815260208083013567ffffffffffffffff80821115611b5257600080fd5b818501915085601f830112611b6657600080fd5b813581811115611b7857611b78611a83565b611b8a601f8201601f19168501611ae5565b91508082528684828501011115611ba057600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611bd057600080fd5b813567ffffffffffffffff80821115611be857600080fd5b9083019060e08286031215611bfc57600080fd5b611c04611ac2565b611c0d83611a0d565b8152611c1b60208401611a0d565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611c5057600080fd5b611c5c87828601611b16565b60a083015250611c6e60c08401611a0d565b60c082015295945050505050565b60005b83811015611c97578181015183820152602001611c7f565b50506000910152565b60008151808452611cb8816020860160208601611c7c565b601f01601f19169290920160200192915050565b6020815260006119c76020830184611ca0565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076657610766611cdf565b600060208284031215611d1a57600080fd5b5051919050565b600060208284031215611d3357600080fd5b815180151581146119c757600080fd5b8181038181111561076657610766611cdf565b600060208284031215611d6857600080fd5b81516119c7816119f8565b600181811c90821680611d8757607f821691505b602082108103611da757634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611dcc6040850182611ca0565b949350505050565b600081518084526020808501945080840160005b83811015611e0d5781516001600160a01b031687529582019590820190600101611de8565b509495945050505050565b8581526000602060a0818401526000875481600182811c915080831680611e4057607f831692505b8583108103611e5d57634e487b7160e01b85526022600452602485fd5b60a0880183905260c08801818015611e7c5760018114611e9257611ebd565b60ff198616825284151560051b82019650611ebd565b60008e81526020902060005b86811015611eb757815484820152908501908901611e9e565b83019750505b5050505050508381036040850152611ed58188611dad565b915050611eed60608401866001600160a01b03169052565b8281036080840152611eff8185611dd4565b98975050505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611f43816017850160208801611c7c565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611f80816028840160208801611c7c565b01602801949350505050565b808202811582820484141761076657610766611cdf565b634e487b7160e01b600052603260045260246000fd5b600081611fc857611fc8611cdf565b50600019019056fea26469706673582212203cae4deebb4cf6d06cd3345f8ea179c9823f871e4b8639db82823330c10941e164736f6c63430008130033" - }, - { - "transactionType": "CREATE2", - "address": "0xa4Ce611D9c2c6F8Befb758b47e6DA521289BAD76", - "initCode": "0x60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033325ddcc7ca9dfc6bbc9edff5345c17df2028594f47ee7f3ee7ac786ec4b28b720000000000000000000000007dfc9f640a6b7b22bb474c9802f89c687ceecbe8" - } - ], + "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd19d93459095fb348a1c1021f71657830c25e0677cf56f7fec5454c8907848df", + "hash": "0xe3bd648e4e6d7ca0995b0ff36418935c7e06eb0a66993094c9a4d01bc804cd86", "transactionType": "CALL", - "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", - "contractAddress": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "function": "mint(address,uint256)", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "setDecay(uint256)", "arguments": [ - "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "100000000000000000000" + "9965402" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x957f865ac322d34492fe89dd2d4f83f766f2066a", - "gas": "0x24db7", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6bcc", "value": "0x0", - "data": "0x40c10f190000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000056bc75e2d63100000", - "nonce": "0xb", + "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", + "nonce": "0x25", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd5a0cbec5684e3b23097ae9bc70e4b6447b0182be533e42e27b7eea69b45a617", + "hash": "0xe4bab59236c12ac4c8ebddd34da43b543a4f67dddc5a65068d8d80ca0e08b9f6", "transactionType": "CALL", - "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", - "contractAddress": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "function": "approve(address,uint256)", + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "setMaxRatio(uint256)", "arguments": [ - "0x0cF2440C820dDda4292394999371618d742B6634", - "50" + "1000000" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x957f865ac322d34492fe89dd2d4f83f766f2066a", - "gas": "0x24d5a", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6bcc", "value": "0x0", - "data": "0x095ea7b30000000000000000000000000cf2440c820ddda4292394999371618d742b66340000000000000000000000000000000000000000000000000000000000000032", - "nonce": "0xc", + "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0x26", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xc453ccca80fd817cc7e1127eff504fb8281b7d9133ece1ce312c662db7d678a7", + "hash": "0xfea376821d82471713a89e0e9d88d5b62c54135daa1ac386b94d56aa9d02d8a3", "transactionType": "CALL", - "contractName": "RegistryGardens", - "contractAddress": "0x0cF2440C820dDda4292394999371618d742B6634", - "function": "stakeAndregisterMember()", - "arguments": [], + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "setWeight(uint256)", + "arguments": [ + "5000" + ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x0cf2440c820ddda4292394999371618d742b6634", - "gas": "0x1b6fd", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6bbc", "value": "0x0", - "data": "0x2e0b012e", - "nonce": "0xd", + "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", + "nonce": "0x27", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x7d1301516a555f1b62e8d1ebbdcd98fdae6574e421ede5071665efb6b486f0ee", - "transactionType": "CREATE", + "hash": "0xd8525a1911fc63c6268f20619868d6a45d5095df3fe19e1472bd8fa16fa8f08e", + "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0xAFE2718319B90EF5614809749b9AE55dE6211fD1", - "function": null, + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "setDecay(uint256)", "arguments": [ - "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d" + "9965402" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x6e357d", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6bcc", "value": "0x0", - "data": "0x60c06040523480156200001157600080fd5b5060405162002eaf38038062002eaf83398101604081905262000034916200009c565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007791839101620000ce565b60408051601f19818403018152919052805160209091012060a052506200011e915050565b600060208284031215620000af57600080fd5b81516001600160a01b0381168114620000c757600080fd5b9392505050565b600060208083528351808285015260005b81811015620000fd57858101830151858201604001528201620000df565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612d5d62000152600039600061045501526000818161039101528181610e88015261104a0152612d5d6000f3fe6080604052600436106102535760003560e01c806376365af711610138578063dc96ff2d116100b0578063e33add931161007f578063edd146cc11610064578063edd146cc1461076b578063ef2920fc1461078b578063f5b0dfb71461079e5761026e565b8063e33add931461071e578063eb11af931461073e5761026e565b8063dc96ff2d1461069a578063dd0081c7146106ca578063df868ed3146106e6578063e0dd2c38146106fe5761026e565b8063b2b878d011610107578063bcc5b93b116100ec578063bcc5b93b14610616578063c7f758a81461064c578063db2d878c146106845761026e565b8063b2b878d0146105c9578063b5f620ce146105f65761026e565b806376365af714610555578063868c57b81461056b578063a0cf0aea1461058b578063a1aab33f146105b35761026e565b8063406244d8116101cb57806351cff8d91161019a57806354fac9191161017f57806354fac919146104f257806359a5db8b146105085780635db64b99146105285761026e565b806351cff8d9146104be578063534ddc9a146104dc5761026e565b8063406244d81461043157806342fda9c7146104465780634ab4ba42146104795780634d31d0871461048e5761026e565b806315cc481e116102225780632bbe0cae116102075780632bbe0cae146103e9578063346db8cb146103fc57806338fff2d01461041c5761026e565b806315cc481e146103825780631aa91a9e146103c95761026e565b8063013cf08b1461027e5780630a6f0ee9146103255780630c0512e9146103475780630f529ba21461036b5761026e565b3661026e57600380549060006102688361216c565b91905055005b600380549060006102688361216c565b34801561028a57600080fd5b50610305610299366004612185565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b60405161031c9b9a999897969594939291906121d8565b60405180910390f35b34801561033157600080fd5b5061034561034036600461242c565b6107be565b005b34801561035357600080fd5b5061035d600c5481565b60405190815260200161031c565b34801561037757600080fd5b5061035d6298968081565b34801561038e57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161031c565b3480156103d557600080fd5b5061035d6103e4366004612185565b6107de565b6103b16103f73660046124a4565b610869565b34801561040857600080fd5b5061035d6104173660046124f6565b61088e565b34801561042857600080fd5b5060015461035d565b34801561043d57600080fd5b5061035d600a81565b34801561045257600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061035d565b34801561048557600080fd5b5060025461035d565b34801561049a57600080fd5b506104ae6104a9366004612522565b610933565b604051901515815260200161031c565b3480156104ca57600080fd5b506103456104d9366004612522565b50565b3480156104e857600080fd5b5061035d600d5481565b3480156104fe57600080fd5b5061035d60085481565b34801561051457600080fd5b5061035d610523366004612185565b61093e565b34801561053457600080fd5b5061035d610543366004612522565b60066020526000908152604090205481565b34801561056157600080fd5b5061035d60095481565b34801561057757600080fd5b5061035d61058636600461253f565b610a94565b34801561059757600080fd5b506103b173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156105bf57600080fd5b5061035d600a5481565b3480156105d557600080fd5b506105e96105e436600461256b565b610ac5565b60405161031c9190612640565b34801561060257600080fd5b506103456106113660046126a6565b610ae0565b34801561062257600080fd5b5061035d610631366004612522565b6001600160a01b031660009081526006602052604090205490565b34801561065857600080fd5b5061066c610667366004612185565b610ae9565b60405161031c9c9b9a999897969594939291906126c3565b34801561069057600080fd5b5061035d600b5481565b3480156106a657600080fd5b5061035d6106b5366004612185565b60009081526005602052604090206002015490565b3480156106d657600080fd5b5061035d670de0b6b3a764000081565b3480156106f257600080fd5b5060005460ff166104ae565b34801561070a57600080fd5b5061035d61071936600461273e565b610c10565b34801561072a57600080fd5b50610345610739366004612763565b610c3b565b34801561074a57600080fd5b5061075e610759366004612522565b610c69565b60405161031c9190612819565b34801561077757600080fd5b50610345610786366004612833565b610c74565b6103456107993660046124a4565b610e38565b3480156107aa57600080fd5b506103456107b9366004612185565b610e56565b6107c6610e7d565b6107ce610ee1565b6107d9838383610f1d565b505050565b6000818152600560205260408120805483146108155760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156108305761083061219e565b14610851576040516344980d8f60e01b81526004810184905260240161080c565b61085f818260020154611146565b6003015492915050565b6000610873610e7d565b61087b610ee1565b61088583836111a1565b90505b92915050565b60008084905060006108b4629896806080600854901b6108ae919061287a565b836113f4565b905060806f80000000000000000000000000000000600854629896806108da919061289c565b6108e884600160801b61289c565b6108f562989680896128af565b6108ff91906128af565b610909919061287a565b61091388856128af565b61091d91906128c6565b61092791906128c6565b901c9695505050505050565b60006108888261149d565b6000806002541161097b576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025461098b62989680846128af565b8160095461099991906128af565b116109d0576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816109e685680100000000000000006128af565b6109f0919061287a565b6298968060095468010000000000000000610a0b91906128af565b610a15919061287a565b610a1f919061289c565b90506040610a2b6114bd565b600854610a3b906298968061289c565b629896806040610a4b86806128af565b901c629896806080600a54901b610a62919061287a565b610a6c919061287a565b610a7691906128af565b610a80919061287a565b610a8a91906128af565b901c949350505050565b60076020528160005260406000208181548110610ab057600080fd5b90600052602060002001600091509150505481565b606060405163d623472560e01b815260040160405180910390fd5b6104d98161158a565b6000806000806000806000806000806000806000600560008f815260200190815260200160002090508060010154600014610b3057610b2b816001015461093e565b610b33565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610885565b60038054906000610c4b8361216c565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610888826115d1565b610c7d826115f1565b600081806020019051810190610c9391906128e9565b9050610cd86040518060400160405280601681526020017f496e697469616c697a65506172616d732e6465636179000000000000000000008152508260200151611672565b610d1b6040518060400160405280601981526020017f496e697469616c697a65506172616d732e6d6178526174696f000000000000008152508260400151611672565b610d5e6040518060400160405280601781526020017f496e697469616c697a65506172616d732e7765696768740000000000000000008152508260600151611672565b610d846040518060600160405280602c8152602001612cfc602c91398260800151611672565b80516001600160a01b0316610dac57604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a556080820151600b55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e90610e2b90859085906129b2565b60405180910390a1505050565b610e40610e7d565b610e48610ee1565b610e5282826116e5565b5050565b610e5e610e7d565b8060026000828254610e7091906128c6565b909155506104d990508181565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610edf576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600154600003610edf576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000610f2d8361216c565b91905055506000825111610f6d576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190610f8391906129d3565b905080600003610fa65760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902080548214610fd85760405163c1d17bef60e01b81526004810183905260240161080c565b6000600982015460ff166003811115610ff357610ff361219e565b14611014576040516344980d8f60e01b81526004810183905260240161080c565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916110819160040190815260200190565b600060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110c691908101906129ec565b6040810151600584015460018501549293506110ed926001600160a01b039091169061183c565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6008820154439081101561115c5761115c612b0e565b8083600801540361116c57505050565b600061118c846008015483611181919061289c565b85600301548561088e565b60088501929092555060039092019190915550565b60038054600091826111b28361216c565b91905055506000838060200190518101906111cd9190612b24565b80519091506000036111f25760405163f881a10d60e01b815260040160405180910390fd5b60408101516001600160a01b031661121d57604051631a3e505160e31b815260040160405180910390fd5b60608101516001600160a01b031661124857604051631a3e505160e31b815260040160405180910390fd5b60c08101516001600160a01b031661127357604051631a3e505160e31b815260040160405180910390fd5b8060a0015160000361129857604051631a3e505160e31b815260040160405180910390fd5b8051600090815260056020526040902081518154036112e95781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161080c565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560c084015160078401805491909316911617905560a08201516001820155608082015160098201805461ff0019166101008360028111156113755761137561219e565b021790555060098101805460ff191690554360088201556000600382018190556004820155815160408084015160a085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b83106114495760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161080c565b50600160801b82825b801561149557806001166000036114775761146d8283611881565b915060011c611452565b6114818383611881565b925061148e60018261289c565b9050611452565b505092915050565b60006001600160a01b038216156114b5576001610888565b600092915050565b60048054604080517fdb61d65c000000000000000000000000000000000000000000000000000000008152905160009384936001600160a01b03169263db61d65c92818301926020928290030181865afa15801561151f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115439190612bab565b6001600160a01b031603611583576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600d5490565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b038216156115e9576002610888565b600392915050565b6115f9610e7d565b60015415611633576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060000361166d576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b610e528282604051602401611688929190612bc8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052611980565b806001600160a01b03811661170d57604051631a3e505160e31b815260040160405180910390fd5b6004546001600160a01b031661173657604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa15801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf9190612bea565b6117f5576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380549060006118058361216c565b91905055506000838060200190518101906118209190612c07565b905061182c83826119a1565b6118368382611baf565b50505050565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611876576107d98282611f38565b6107d9838383611f54565b6000600160801b8311156118fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161080c565b600160801b82106119505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161080c565b60806f8000000000000000000000000000000061196d84866128af565b61197791906128c6565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b8251811015611aa0578281815181106119c0576119c0612cb2565b602002602001015160000151600003611a1657611a116040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250611fa3565b611a8e565b6000838281518110611a2a57611a2a612cb2565b6020026020010151600001519050611a4181612014565b611a615760405163c1d17bef60e01b81526004810182905260240161080c565b838281518110611a7357611a73612cb2565b60200260200101516020015183611a8a9190612cc8565b9250505b80611a988161216c565b9150506119a5565b506001600160a01b038316600090815260066020526040812054611ac4908361204d565b90506000611b47600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4291906129d3565b6120a8565b905080821115611b8d576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161080c565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b8251811015611836576000838281518110611bd157611bd1612cb2565b60200260200101516000015190508251600003611c2d5760408051600180825281830190925290602080830190803683370190505092508083600081518110611c1c57611c1c612cb2565b602002602001018181525050611d80565b6000805b8451811015611cac5782858281518110611c4d57611c4d612cb2565b602002602001015103611c9a576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161080c565b80611ca48161216c565b915050611c31565b5080611d7e57600084516001611cc291906128c6565b67ffffffffffffffff811115611cda57611cda612250565b604051908082528060200260200182016040528015611d03578160200160208202803683370190505b50905060005b8551811015611d5b57858181518110611d2457611d24612cb2565b6020026020010151828281518110611d3e57611d3e612cb2565b602090810291909101015280611d538161216c565b915050611d09565b508281865181518110611d7057611d70612cb2565b602090810291909101015293505b505b6000848381518110611d9457611d94612cb2565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b820190955290822054929450929190611de2838661204d565b6001600160a01b038b166000908152600a860160205260408120829055909150611e0b826120c7565b9050611e4c6040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611672565b6001600160a01b038b166000908152600b860160205260409020819055808311611eb957611e7a838261289c565b600d6000828254611e8b91906128c6565b90915550611e9b9050838261289c565b856002016000828254611eae91906128c6565b90915550611efd9050565b611ec3818461289c565b600d6000828254611ed4919061289c565b90915550611ee49050818461289c565b856002016000828254611ef7919061289c565b90915550505b8460080154600003611f1457436008860155611f1e565b611f1e8584611146565b505050505050508080611f309061216c565b915050611bb4565b60008060008084865af1610e525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716611f99576390b8ec186000526004601cfd5b6000603452505050565b6104d981604051602401611fb79190612ce8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052611980565b600081815260056020526040812054158015906108885750506000908152600560205260409020600601546001600160a01b0316151590565b60008061205a8385612cc8565b90506000811215610885576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161080c565b60006120b26120dd565b6120bd8360646128af565b610888919061287a565b600060646120d36120dd565b6120bd90846128af565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612132573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0b91906129d3565b634e487b7160e01b600052601160045260246000fd5b60006001820161217e5761217e612156565b5060010190565b60006020828403121561219757600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106121c4576121c461219e565b9052565b600381106121c4576121c461219e565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e084015250846101008301526122326101208301856121b4565b6122406101408301846121c8565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561228957612289612250565b60405290565b60405160c0810167ffffffffffffffff8111828210171561228957612289612250565b60405160e0810167ffffffffffffffff8111828210171561228957612289612250565b604051601f8201601f1916810167ffffffffffffffff811182821017156122fe576122fe612250565b604052919050565b600067ffffffffffffffff82111561232057612320612250565b5060051b60200190565b6001600160a01b03811681146104d957600080fd5b600082601f83011261235057600080fd5b8135602061236561236083612306565b6122d5565b82815260059290921b8401810191818101908684111561238457600080fd5b8286015b848110156123a857803561239b8161232a565b8352918301918301612388565b509695505050505050565b600067ffffffffffffffff8211156123cd576123cd612250565b50601f01601f191660200190565b600082601f8301126123ec57600080fd5b81356123fa612360826123b3565b81815284602083860101111561240f57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561244157600080fd5b833567ffffffffffffffff8082111561245957600080fd5b6124658783880161233f565b9450602086013591508082111561247b57600080fd5b50612488868287016123db565b92505060408401356124998161232a565b809150509250925092565b600080604083850312156124b757600080fd5b823567ffffffffffffffff8111156124ce57600080fd5b6124da858286016123db565b92505060208301356124eb8161232a565b809150509250929050565b60008060006060848603121561250b57600080fd5b505081359360208301359350604090920135919050565b60006020828403121561253457600080fd5b81356108858161232a565b6000806040838503121561255257600080fd5b823561255d8161232a565b946020939093013593505050565b6000806040838503121561257e57600080fd5b823567ffffffffffffffff8082111561259657600080fd5b6125a28683870161233f565b93506020915081850135818111156125b957600080fd5b8501601f810187136125ca57600080fd5b80356125d861236082612306565b81815260059190911b820184019084810190898311156125f757600080fd5b8584015b8381101561262f578035868111156126135760008081fd5b6126218c89838901016123db565b8452509186019186016125fb565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561268b57815180516001600160a01b0316855286015186850152928401929085019060010161265d565b5091979650505050505050565b80151581146104d957600080fd5b6000602082840312156126b857600080fd5b813561088581612698565b6001600160a01b038d811682528c811660208301528b166040820152606081018a90526080810189905261018081016126ff60a083018a6121c8565b61270c60c08301896121b4565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b6000806040838503121561275157600080fd5b8235915060208301356124eb8161232a565b6000602080838503121561277657600080fd5b823567ffffffffffffffff81111561278d57600080fd5b8301601f8101851361279e57600080fd5b80356127ac61236082612306565b81815260069190911b820183019083810190878311156127cb57600080fd5b928401925b8284101561280e57604084890312156127e95760008081fd5b6127f1612266565b8435815285850135868201528252604090930192908401906127d0565b979650505050505050565b602081016007831061282d5761282d61219e565b91905290565b6000806040838503121561284657600080fd5b82359150602083013567ffffffffffffffff81111561286457600080fd5b612870858286016123db565b9150509250929050565b60008261289757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561088857610888612156565b808202811582820484141761088857610888612156565b8082018082111561088857610888612156565b80516128e48161232a565b919050565b600060a082840312156128fb57600080fd5b60405160a0810181811067ffffffffffffffff8211171561291e5761291e612250565b604052825161292c8161232a565b80825250602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b60005b8381101561297d578181015183820152602001612965565b50506000910152565b6000815180845261299e816020860160208601612962565b601f01601f19169290920160200192915050565b8281526040602082015260006129cb6040830184612986565b949350505050565b6000602082840312156129e557600080fd5b5051919050565b600060208083850312156129ff57600080fd5b825167ffffffffffffffff80821115612a1757600080fd5b9084019060c08287031215612a2b57600080fd5b612a3361228f565b8251815283830151612a448161232a565b818501526040830151612a568161232a565b6040820152606083015182811115612a6d57600080fd5b830160408189031215612a7f57600080fd5b612a87612266565b815181528582015184811115612a9c57600080fd5b82019350601f84018913612aaf57600080fd5b83519150612abf612360836123b3565b8281528987848701011115612ad357600080fd5b612ae283888301898801612962565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b634e487b7160e01b600052600160045260246000fd5b600060e08284031215612b3657600080fd5b612b3e6122b2565b82518152602083015160208201526040830151612b5a8161232a565b60408201526060830151612b6d8161232a565b6060820152608083015160038110612b8457600080fd5b608082015260a08381015190820152612b9f60c084016128d9565b60c08201529392505050565b600060208284031215612bbd57600080fd5b81516108858161232a565b604081526000612bdb6040830185612986565b90508260208301529392505050565b600060208284031215612bfc57600080fd5b815161088581612698565b60006020808385031215612c1a57600080fd5b825167ffffffffffffffff811115612c3157600080fd5b8301601f81018513612c4257600080fd5b8051612c5061236082612306565b81815260069190911b82018301908381019087831115612c6f57600080fd5b928401925b8284101561280e5760408489031215612c8d5760008081fd5b612c95612266565b845181528585015186820152825260409093019290840190612c74565b634e487b7160e01b600052603260045260246000fd5b808201828112600083128015821682158216171561149557611495612156565b602081526000610885602083018461298656fe496e697469616c697a65506172616d732e6d696e5468726573686f6c645374616b6550657263656e74616765a2646970667358221220a2809fc6697c84d7bf6fc48450d2a363bce63a0dbb232f18dc4a18ac73a26ed164736f6c6343000813003300000000000000000000000036a84a4707e4fd610060205f08b4ebaa0e438d2d", - "nonce": "0xe", + "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", + "nonce": "0x28", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xbf7dcb97d0cd26a38a66751448fae0ff5946080414c3eef3ee9b67adfb399553", + "hash": "0x8ce3670f73bd905784986fa51605e9b3aa578cf8d895144705d754c189894f6f", "transactionType": "CALL", - "contractName": "Registry", - "contractAddress": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", - "function": "createProfile(uint256,string,(uint256,string),address,address[])", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "setMaxRatio(uint256)", "arguments": [ - "1", - "\"Pool Profile 1\"", - "(1, \"PoolProfile1\")", - "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "[0x05800FAD118693c398e4E1ceFBb1FAC54537b107, 0xF49D32655a289163297342376EA91F6434cff60f]" + "1000000" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x7dfc9f640a6b7b22bb474c9802f89c687ceecbe8", - "gas": "0x45e20", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6bcc", "value": "0x0", - "data": "0x3a92f65f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", - "nonce": "0xf", + "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0x29", "accessList": [] }, - "additionalContracts": [ - { - "transactionType": "CREATE2", - "address": "0x154912F2fae2c4fCD3F9BF705B186bBCe8018634", - "initCode": "0x60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c96410000000000000000000000007dfc9f640a6b7b22bb474c9802f89c687ceecbe8" - } - ], + "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "hash": "0x3784aa680f262082db04603cbe93b10c3fc974d3fce6932c64980545c128e605", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "setWeight(uint256)", "arguments": [ - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", - "0xAFE2718319B90EF5614809749b9AE55dE6211fD1", - "0x0000000000000000000000000cf2440c820ddda4292394999371618d742b6634000000000000000000000000000000000000000000000000000000000089544000000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000004e2000000000000000000000000000000000000000000000000002c68af0bb140000", - "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "0", - "(1, \"strategy pointer\")", - "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" + "5000" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x557b2", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6bbc", "value": "0x0", - "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641000000000000000000000000afe2718319b90ef5614809749b9ae55de6211fd100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000cf2440c820ddda4292394999371618d742b6634000000000000000000000000000000000000000000000000000000000089544000000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000004e2000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", - "nonce": "0x10", + "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", + "nonce": "0x2a", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x3d8c8477b692ba246437db9368b1f528d76229e5b1ddea4b5a13c1cb12b9c9fa", + "hash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", "transactionType": "CALL", - "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", - "contractAddress": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "function": "approve(address,uint256)", - "arguments": [ - "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "100000000000000000000" - ], + "contractName": "CVStrategy", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "function": "activatePoints()", + "arguments": [], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x957f865ac322d34492fe89dd2d4f83f766f2066a", - "gas": "0x24da8", + "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "gas": "0x6af7", "value": "0x0", - "data": "0x095ea7b300000000000000000000000036a84a4707e4fd610060205f08b4ebaa0e438d2d0000000000000000000000000000000000000000000000056bc75e2d63100000", - "nonce": "0x11", + "data": "0x814516ad", + "nonce": "0x2b", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xdc72772b2fc3194f3bd7e947fa6fc69b4a2ae40bb9dc8065e5bdbced4705667f", + "hash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "function": "fundPool(uint256,uint256)", + "contractName": "CVStrategy", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "function": "activatePoints()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "gas": "0x6af7", + "value": "0x0", + "data": "0x814516ad", + "nonce": "0x2c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "transactionType": "CALL", + "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "function": "mint(address,uint256)", "arguments": [ - "1", - "100000000000000000" + "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "10000" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x24c7f", + "to": "0x8e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "gas": "0x6d9b", "value": "0x0", - "data": "0x5acd6fac0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000016345785d8a0000", - "nonce": "0x12", + "data": "0x40c10f190000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000002710", + "nonce": "0x2d", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x1b0de7e8466438153ee0878ca85f4dc6934882c712628bb8c8e25333c6e554e8", - "transactionType": "CREATE", - "contractName": "CVStrategy", - "contractAddress": "0x67e278df46fcE316aae1C67007D89C65c4257b7b", - "function": null, + "hash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "transactionType": "CALL", + "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "function": "approve(address,uint256)", "arguments": [ - "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d" + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x6e357d", + "to": "0x8e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "gas": "0x6f6f", "value": "0x0", - "data": "0x60c06040523480156200001157600080fd5b5060405162002eaf38038062002eaf83398101604081905262000034916200009c565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007791839101620000ce565b60408051601f19818403018152919052805160209091012060a052506200011e915050565b600060208284031215620000af57600080fd5b81516001600160a01b0381168114620000c757600080fd5b9392505050565b600060208083528351808285015260005b81811015620000fd57858101830151858201604001528201620000df565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612d5d62000152600039600061045501526000818161039101528181610e88015261104a0152612d5d6000f3fe6080604052600436106102535760003560e01c806376365af711610138578063dc96ff2d116100b0578063e33add931161007f578063edd146cc11610064578063edd146cc1461076b578063ef2920fc1461078b578063f5b0dfb71461079e5761026e565b8063e33add931461071e578063eb11af931461073e5761026e565b8063dc96ff2d1461069a578063dd0081c7146106ca578063df868ed3146106e6578063e0dd2c38146106fe5761026e565b8063b2b878d011610107578063bcc5b93b116100ec578063bcc5b93b14610616578063c7f758a81461064c578063db2d878c146106845761026e565b8063b2b878d0146105c9578063b5f620ce146105f65761026e565b806376365af714610555578063868c57b81461056b578063a0cf0aea1461058b578063a1aab33f146105b35761026e565b8063406244d8116101cb57806351cff8d91161019a57806354fac9191161017f57806354fac919146104f257806359a5db8b146105085780635db64b99146105285761026e565b806351cff8d9146104be578063534ddc9a146104dc5761026e565b8063406244d81461043157806342fda9c7146104465780634ab4ba42146104795780634d31d0871461048e5761026e565b806315cc481e116102225780632bbe0cae116102075780632bbe0cae146103e9578063346db8cb146103fc57806338fff2d01461041c5761026e565b806315cc481e146103825780631aa91a9e146103c95761026e565b8063013cf08b1461027e5780630a6f0ee9146103255780630c0512e9146103475780630f529ba21461036b5761026e565b3661026e57600380549060006102688361216c565b91905055005b600380549060006102688361216c565b34801561028a57600080fd5b50610305610299366004612185565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b60405161031c9b9a999897969594939291906121d8565b60405180910390f35b34801561033157600080fd5b5061034561034036600461242c565b6107be565b005b34801561035357600080fd5b5061035d600c5481565b60405190815260200161031c565b34801561037757600080fd5b5061035d6298968081565b34801561038e57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161031c565b3480156103d557600080fd5b5061035d6103e4366004612185565b6107de565b6103b16103f73660046124a4565b610869565b34801561040857600080fd5b5061035d6104173660046124f6565b61088e565b34801561042857600080fd5b5060015461035d565b34801561043d57600080fd5b5061035d600a81565b34801561045257600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061035d565b34801561048557600080fd5b5060025461035d565b34801561049a57600080fd5b506104ae6104a9366004612522565b610933565b604051901515815260200161031c565b3480156104ca57600080fd5b506103456104d9366004612522565b50565b3480156104e857600080fd5b5061035d600d5481565b3480156104fe57600080fd5b5061035d60085481565b34801561051457600080fd5b5061035d610523366004612185565b61093e565b34801561053457600080fd5b5061035d610543366004612522565b60066020526000908152604090205481565b34801561056157600080fd5b5061035d60095481565b34801561057757600080fd5b5061035d61058636600461253f565b610a94565b34801561059757600080fd5b506103b173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156105bf57600080fd5b5061035d600a5481565b3480156105d557600080fd5b506105e96105e436600461256b565b610ac5565b60405161031c9190612640565b34801561060257600080fd5b506103456106113660046126a6565b610ae0565b34801561062257600080fd5b5061035d610631366004612522565b6001600160a01b031660009081526006602052604090205490565b34801561065857600080fd5b5061066c610667366004612185565b610ae9565b60405161031c9c9b9a999897969594939291906126c3565b34801561069057600080fd5b5061035d600b5481565b3480156106a657600080fd5b5061035d6106b5366004612185565b60009081526005602052604090206002015490565b3480156106d657600080fd5b5061035d670de0b6b3a764000081565b3480156106f257600080fd5b5060005460ff166104ae565b34801561070a57600080fd5b5061035d61071936600461273e565b610c10565b34801561072a57600080fd5b50610345610739366004612763565b610c3b565b34801561074a57600080fd5b5061075e610759366004612522565b610c69565b60405161031c9190612819565b34801561077757600080fd5b50610345610786366004612833565b610c74565b6103456107993660046124a4565b610e38565b3480156107aa57600080fd5b506103456107b9366004612185565b610e56565b6107c6610e7d565b6107ce610ee1565b6107d9838383610f1d565b505050565b6000818152600560205260408120805483146108155760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156108305761083061219e565b14610851576040516344980d8f60e01b81526004810184905260240161080c565b61085f818260020154611146565b6003015492915050565b6000610873610e7d565b61087b610ee1565b61088583836111a1565b90505b92915050565b60008084905060006108b4629896806080600854901b6108ae919061287a565b836113f4565b905060806f80000000000000000000000000000000600854629896806108da919061289c565b6108e884600160801b61289c565b6108f562989680896128af565b6108ff91906128af565b610909919061287a565b61091388856128af565b61091d91906128c6565b61092791906128c6565b901c9695505050505050565b60006108888261149d565b6000806002541161097b576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025461098b62989680846128af565b8160095461099991906128af565b116109d0576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816109e685680100000000000000006128af565b6109f0919061287a565b6298968060095468010000000000000000610a0b91906128af565b610a15919061287a565b610a1f919061289c565b90506040610a2b6114bd565b600854610a3b906298968061289c565b629896806040610a4b86806128af565b901c629896806080600a54901b610a62919061287a565b610a6c919061287a565b610a7691906128af565b610a80919061287a565b610a8a91906128af565b901c949350505050565b60076020528160005260406000208181548110610ab057600080fd5b90600052602060002001600091509150505481565b606060405163d623472560e01b815260040160405180910390fd5b6104d98161158a565b6000806000806000806000806000806000806000600560008f815260200190815260200160002090508060010154600014610b3057610b2b816001015461093e565b610b33565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610885565b60038054906000610c4b8361216c565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610888826115d1565b610c7d826115f1565b600081806020019051810190610c9391906128e9565b9050610cd86040518060400160405280601681526020017f496e697469616c697a65506172616d732e6465636179000000000000000000008152508260200151611672565b610d1b6040518060400160405280601981526020017f496e697469616c697a65506172616d732e6d6178526174696f000000000000008152508260400151611672565b610d5e6040518060400160405280601781526020017f496e697469616c697a65506172616d732e7765696768740000000000000000008152508260600151611672565b610d846040518060600160405280602c8152602001612cfc602c91398260800151611672565b80516001600160a01b0316610dac57604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a556080820151600b55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e90610e2b90859085906129b2565b60405180910390a1505050565b610e40610e7d565b610e48610ee1565b610e5282826116e5565b5050565b610e5e610e7d565b8060026000828254610e7091906128c6565b909155506104d990508181565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610edf576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600154600003610edf576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000610f2d8361216c565b91905055506000825111610f6d576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190610f8391906129d3565b905080600003610fa65760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902080548214610fd85760405163c1d17bef60e01b81526004810183905260240161080c565b6000600982015460ff166003811115610ff357610ff361219e565b14611014576040516344980d8f60e01b81526004810183905260240161080c565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916110819160040190815260200190565b600060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110c691908101906129ec565b6040810151600584015460018501549293506110ed926001600160a01b039091169061183c565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6008820154439081101561115c5761115c612b0e565b8083600801540361116c57505050565b600061118c846008015483611181919061289c565b85600301548561088e565b60088501929092555060039092019190915550565b60038054600091826111b28361216c565b91905055506000838060200190518101906111cd9190612b24565b80519091506000036111f25760405163f881a10d60e01b815260040160405180910390fd5b60408101516001600160a01b031661121d57604051631a3e505160e31b815260040160405180910390fd5b60608101516001600160a01b031661124857604051631a3e505160e31b815260040160405180910390fd5b60c08101516001600160a01b031661127357604051631a3e505160e31b815260040160405180910390fd5b8060a0015160000361129857604051631a3e505160e31b815260040160405180910390fd5b8051600090815260056020526040902081518154036112e95781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161080c565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560c084015160078401805491909316911617905560a08201516001820155608082015160098201805461ff0019166101008360028111156113755761137561219e565b021790555060098101805460ff191690554360088201556000600382018190556004820155815160408084015160a085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b83106114495760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161080c565b50600160801b82825b801561149557806001166000036114775761146d8283611881565b915060011c611452565b6114818383611881565b925061148e60018261289c565b9050611452565b505092915050565b60006001600160a01b038216156114b5576001610888565b600092915050565b60048054604080517fdb61d65c000000000000000000000000000000000000000000000000000000008152905160009384936001600160a01b03169263db61d65c92818301926020928290030181865afa15801561151f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115439190612bab565b6001600160a01b031603611583576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600d5490565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b038216156115e9576002610888565b600392915050565b6115f9610e7d565b60015415611633576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060000361166d576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b610e528282604051602401611688929190612bc8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052611980565b806001600160a01b03811661170d57604051631a3e505160e31b815260040160405180910390fd5b6004546001600160a01b031661173657604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa15801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf9190612bea565b6117f5576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380549060006118058361216c565b91905055506000838060200190518101906118209190612c07565b905061182c83826119a1565b6118368382611baf565b50505050565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611876576107d98282611f38565b6107d9838383611f54565b6000600160801b8311156118fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161080c565b600160801b82106119505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161080c565b60806f8000000000000000000000000000000061196d84866128af565b61197791906128c6565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b8251811015611aa0578281815181106119c0576119c0612cb2565b602002602001015160000151600003611a1657611a116040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250611fa3565b611a8e565b6000838281518110611a2a57611a2a612cb2565b6020026020010151600001519050611a4181612014565b611a615760405163c1d17bef60e01b81526004810182905260240161080c565b838281518110611a7357611a73612cb2565b60200260200101516020015183611a8a9190612cc8565b9250505b80611a988161216c565b9150506119a5565b506001600160a01b038316600090815260066020526040812054611ac4908361204d565b90506000611b47600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4291906129d3565b6120a8565b905080821115611b8d576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161080c565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b8251811015611836576000838281518110611bd157611bd1612cb2565b60200260200101516000015190508251600003611c2d5760408051600180825281830190925290602080830190803683370190505092508083600081518110611c1c57611c1c612cb2565b602002602001018181525050611d80565b6000805b8451811015611cac5782858281518110611c4d57611c4d612cb2565b602002602001015103611c9a576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161080c565b80611ca48161216c565b915050611c31565b5080611d7e57600084516001611cc291906128c6565b67ffffffffffffffff811115611cda57611cda612250565b604051908082528060200260200182016040528015611d03578160200160208202803683370190505b50905060005b8551811015611d5b57858181518110611d2457611d24612cb2565b6020026020010151828281518110611d3e57611d3e612cb2565b602090810291909101015280611d538161216c565b915050611d09565b508281865181518110611d7057611d70612cb2565b602090810291909101015293505b505b6000848381518110611d9457611d94612cb2565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b820190955290822054929450929190611de2838661204d565b6001600160a01b038b166000908152600a860160205260408120829055909150611e0b826120c7565b9050611e4c6040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611672565b6001600160a01b038b166000908152600b860160205260409020819055808311611eb957611e7a838261289c565b600d6000828254611e8b91906128c6565b90915550611e9b9050838261289c565b856002016000828254611eae91906128c6565b90915550611efd9050565b611ec3818461289c565b600d6000828254611ed4919061289c565b90915550611ee49050818461289c565b856002016000828254611ef7919061289c565b90915550505b8460080154600003611f1457436008860155611f1e565b611f1e8584611146565b505050505050508080611f309061216c565b915050611bb4565b60008060008084865af1610e525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716611f99576390b8ec186000526004601cfd5b6000603452505050565b6104d981604051602401611fb79190612ce8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052611980565b600081815260056020526040812054158015906108885750506000908152600560205260409020600601546001600160a01b0316151590565b60008061205a8385612cc8565b90506000811215610885576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161080c565b60006120b26120dd565b6120bd8360646128af565b610888919061287a565b600060646120d36120dd565b6120bd90846128af565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612132573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0b91906129d3565b634e487b7160e01b600052601160045260246000fd5b60006001820161217e5761217e612156565b5060010190565b60006020828403121561219757600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106121c4576121c461219e565b9052565b600381106121c4576121c461219e565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e084015250846101008301526122326101208301856121b4565b6122406101408301846121c8565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561228957612289612250565b60405290565b60405160c0810167ffffffffffffffff8111828210171561228957612289612250565b60405160e0810167ffffffffffffffff8111828210171561228957612289612250565b604051601f8201601f1916810167ffffffffffffffff811182821017156122fe576122fe612250565b604052919050565b600067ffffffffffffffff82111561232057612320612250565b5060051b60200190565b6001600160a01b03811681146104d957600080fd5b600082601f83011261235057600080fd5b8135602061236561236083612306565b6122d5565b82815260059290921b8401810191818101908684111561238457600080fd5b8286015b848110156123a857803561239b8161232a565b8352918301918301612388565b509695505050505050565b600067ffffffffffffffff8211156123cd576123cd612250565b50601f01601f191660200190565b600082601f8301126123ec57600080fd5b81356123fa612360826123b3565b81815284602083860101111561240f57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561244157600080fd5b833567ffffffffffffffff8082111561245957600080fd5b6124658783880161233f565b9450602086013591508082111561247b57600080fd5b50612488868287016123db565b92505060408401356124998161232a565b809150509250925092565b600080604083850312156124b757600080fd5b823567ffffffffffffffff8111156124ce57600080fd5b6124da858286016123db565b92505060208301356124eb8161232a565b809150509250929050565b60008060006060848603121561250b57600080fd5b505081359360208301359350604090920135919050565b60006020828403121561253457600080fd5b81356108858161232a565b6000806040838503121561255257600080fd5b823561255d8161232a565b946020939093013593505050565b6000806040838503121561257e57600080fd5b823567ffffffffffffffff8082111561259657600080fd5b6125a28683870161233f565b93506020915081850135818111156125b957600080fd5b8501601f810187136125ca57600080fd5b80356125d861236082612306565b81815260059190911b820184019084810190898311156125f757600080fd5b8584015b8381101561262f578035868111156126135760008081fd5b6126218c89838901016123db565b8452509186019186016125fb565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561268b57815180516001600160a01b0316855286015186850152928401929085019060010161265d565b5091979650505050505050565b80151581146104d957600080fd5b6000602082840312156126b857600080fd5b813561088581612698565b6001600160a01b038d811682528c811660208301528b166040820152606081018a90526080810189905261018081016126ff60a083018a6121c8565b61270c60c08301896121b4565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b6000806040838503121561275157600080fd5b8235915060208301356124eb8161232a565b6000602080838503121561277657600080fd5b823567ffffffffffffffff81111561278d57600080fd5b8301601f8101851361279e57600080fd5b80356127ac61236082612306565b81815260069190911b820183019083810190878311156127cb57600080fd5b928401925b8284101561280e57604084890312156127e95760008081fd5b6127f1612266565b8435815285850135868201528252604090930192908401906127d0565b979650505050505050565b602081016007831061282d5761282d61219e565b91905290565b6000806040838503121561284657600080fd5b82359150602083013567ffffffffffffffff81111561286457600080fd5b612870858286016123db565b9150509250929050565b60008261289757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561088857610888612156565b808202811582820484141761088857610888612156565b8082018082111561088857610888612156565b80516128e48161232a565b919050565b600060a082840312156128fb57600080fd5b60405160a0810181811067ffffffffffffffff8211171561291e5761291e612250565b604052825161292c8161232a565b80825250602083015160208201526040830151604082015260608301516060820152608083015160808201528091505092915050565b60005b8381101561297d578181015183820152602001612965565b50506000910152565b6000815180845261299e816020860160208601612962565b601f01601f19169290920160200192915050565b8281526040602082015260006129cb6040830184612986565b949350505050565b6000602082840312156129e557600080fd5b5051919050565b600060208083850312156129ff57600080fd5b825167ffffffffffffffff80821115612a1757600080fd5b9084019060c08287031215612a2b57600080fd5b612a3361228f565b8251815283830151612a448161232a565b818501526040830151612a568161232a565b6040820152606083015182811115612a6d57600080fd5b830160408189031215612a7f57600080fd5b612a87612266565b815181528582015184811115612a9c57600080fd5b82019350601f84018913612aaf57600080fd5b83519150612abf612360836123b3565b8281528987848701011115612ad357600080fd5b612ae283888301898801612962565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b634e487b7160e01b600052600160045260246000fd5b600060e08284031215612b3657600080fd5b612b3e6122b2565b82518152602083015160208201526040830151612b5a8161232a565b60408201526060830151612b6d8161232a565b6060820152608083015160038110612b8457600080fd5b608082015260a08381015190820152612b9f60c084016128d9565b60c08201529392505050565b600060208284031215612bbd57600080fd5b81516108858161232a565b604081526000612bdb6040830185612986565b90508260208301529392505050565b600060208284031215612bfc57600080fd5b815161088581612698565b60006020808385031215612c1a57600080fd5b825167ffffffffffffffff811115612c3157600080fd5b8301601f81018513612c4257600080fd5b8051612c5061236082612306565b81815260069190911b82018301908381019087831115612c6f57600080fd5b928401925b8284101561280e5760408489031215612c8d5760008081fd5b612c95612266565b845181528585015186820152825260409093019290840190612c74565b634e487b7160e01b600052603260045260246000fd5b808201828112600083128015821682158216171561149557611495612156565b602081526000610885602083018461298656fe496e697469616c697a65506172616d732e6d696e5468726573686f6c645374616b6550657263656e74616765a2646970667358221220a2809fc6697c84d7bf6fc48450d2a363bce63a0dbb232f18dc4a18ac73a26ed164736f6c6343000813003300000000000000000000000036a84a4707e4fd610060205f08b4ebaa0e438d2d", - "nonce": "0x13", + "data": "0x095ea7b30000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2e", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "hash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "fundPool(uint256,uint256)", "arguments": [ - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", - "0x67e278df46fcE316aae1C67007D89C65c4257b7b", - "0x0000000000000000000000000cf2440c820ddda4292394999371618d742b6634000000000000000000000000000000000000000000000000000000000089544000000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000004e2000000000000000000000000000000000000000000000000002c68af0bb140000", - "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", - "0", - "(1, \"strategy pointer\")", - "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" + "205", + "1000" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x52597", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x288a1", "value": "0x0", - "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c964100000000000000000000000067e278df46fce316aae1c67007d89c65c4257b7b00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000cf2440c820ddda4292394999371618d742b6634000000000000000000000000000000000000000000000000000000000089544000000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000004e2000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", - "nonce": "0x14", + "data": "0x5acd6fac00000000000000000000000000000000000000000000000000000000000000cd00000000000000000000000000000000000000000000000000000000000003e8", + "nonce": "0x2f", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x913962caad9a76ed17e420bf1787982b180aff177c28fd17f7326eda91d011bb", + "hash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "function": "fundPool(uint256,uint256)", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", "arguments": [ - "2", - "100000000000000000" + "205", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x25ecb", - "value": "0x16345785d8a0000", - "data": "0x5acd6fac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000016345785d8a0000", - "nonce": "0x15", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x50e77", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "nonce": "0x30", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x277e7efd2900edb6c5ada7fdd7c9eccd1e3a1d9225a465713c14423645a4a3a6", + "hash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "registerRecipient(uint256,bytes)", "arguments": [ - "1", - "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a" + "205", + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f40000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x3da72", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x46a48", "value": "0x0", - "data": "0x075c0e9c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a", - "nonce": "0x16", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f40000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "nonce": "0x31", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x329ab01057168faf18d6ae365b80deab908cfd74a61ebd95d09e40db0ff8dd8a", + "hash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "registerRecipient(uint256,bytes)", "arguments": [ - "1", - "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a" + "205", + "0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003840000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x3d80c", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x46a48", "value": "0x0", - "data": "0x075c0e9c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a", - "nonce": "0x17", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003840000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", + "nonce": "0x32", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x79393240c66b5ee63145a0cfd52af8f5d96cf136cf613cae4604392873f9daf0", + "hash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", "transactionType": "CALL", - "contractName": "Allo", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "registerRecipient(uint256,bytes)", "arguments": [ - "1", - "0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000384000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a" + "206", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x36a84a4707e4fd610060205f08b4ebaa0e438d2d", - "gas": "0x3da72", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x3827a", "value": "0x0", - "data": "0x075c0e9c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000384000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a", - "nonce": "0x18", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x33", "accessList": [] }, "additionalContracts": [], @@ -582,15 +625,15 @@ ], "receipts": [ { - "transactionHash": "0x356a6acf87e01a86d61705404d9ebc07c814bf94476ec98d911af1c753c698c0", + "transactionHash": "0xe34ca35a43c33b980f454fa51cad569c0d072b4ac4509b94e4519aab61b6b669", "transactionIndex": "0x1", - "blockHash": "0x890d2d4c5a25ad10cbe8806c896888548e906bea9664eaca019d302a8854651f", - "blockNumber": "0x5b6cb9", + "blockHash": "0x8b9d34ba5fda111f0bbac8802ebf58e4fd533aeffbdf216c56ef5374feee2cfe", + "blockNumber": "0x60809f", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x4f1d2b", - "gasUsed": "0x4f1d2b", - "contractAddress": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", + "cumulativeGasUsed": "0xc659c", + "gasUsed": "0xc659c", + "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -598,61 +641,47 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x9f62089d5fbf8db66bfcf3207ecfcddeef86f73646f2523df07aa730ddb7d730", + "transactionHash": "0x86b9fc2f4fb36940a60d4bb0ad1986ba61a609d21c0995b52a50e0e026103523", "transactionIndex": "0x1", - "blockHash": "0x1bbc1d31efdb7a4b8ac01be5c4a9125ef18ea50c098c8aa6fcb7604e5583c447", - "blockNumber": "0x5b6cc3", + "blockHash": "0x38b2b0b469d1d49dbe166ca3f4fea36f04dd9d3754a54f484c045bc7caa5b2d2", + "blockNumber": "0x6080a2", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", - "cumulativeGasUsed": "0x202ae", - "gasUsed": "0x202ae", - "contractAddress": null, - "logs": [ - { - "address": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", - "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747", - "0x000000000000000000000000258d92158e12b867deb88eff01d1496334c77576", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" - ], - "data": "0x", - "blockHash": "0x1bbc1d31efdb7a4b8ac01be5c4a9125ef18ea50c098c8aa6fcb7604e5583c447", - "blockNumber": "0x5b6cc3", - "transactionHash": "0x9f62089d5fbf8db66bfcf3207ecfcddeef86f73646f2523df07aa730ddb7d730", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", - "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x1bbc1d31efdb7a4b8ac01be5c4a9125ef18ea50c098c8aa6fcb7604e5583c447", - "blockNumber": "0x5b6cc3", - "transactionHash": "0x9f62089d5fbf8db66bfcf3207ecfcddeef86f73646f2523df07aa730ddb7d730", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - } - ], + "to": null, + "cumulativeGasUsed": "0x21e3b4", + "gasUsed": "0x21e3b4", + "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x6e900cfe67da2d1061e5222719036ccb5f55b17a9b08fad062175667f1145cf6", + "transactionIndex": "0x1", + "blockHash": "0x5b8557a97cbdf8b9223544e76528923e649a97d02ae352320e375715354437ee", + "blockNumber": "0x6080b7", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x7b46b", + "gasUsed": "0x7b46b", + "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "logs": [], "status": "0x1", - "logsBloom": "0x00000004000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000200000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000080000040000000000000000000000000000000000000000400000000000000000200001000000000000001000000000000000000000000040000100000000000000100000000080000000000000000000200000000000000000000000000000000000000010000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x831ad3eed474c5f5adf95ec49fa3613889862dc0843733bc8402eb87c3d92cbc", + "transactionHash": "0x14964dd8679e685d1d0beb17c96dfa2d8cfdbf5f1a8f8da34bdd0768f13d22a8", "transactionIndex": "0x1", - "blockHash": "0xfd32b0b0fd02f1066acc19d9f1d73c29645d7a6c8bac06c84847bd00bd1bc0de", - "blockNumber": "0x5b6cc5", + "blockHash": "0xff60a1b0881ca0863b2787b84d9ee3238af61310c2229bd40cf7a5e2a82d5765", + "blockNumber": "0x6080d3", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x5e7da0", - "gasUsed": "0x5e7da0", - "contractAddress": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "cumulativeGasUsed": "0x2e0bb6", + "gasUsed": "0x2e0bb6", + "contractAddress": "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -660,144 +689,140 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", + "transactionHash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", "transactionIndex": "0x1", - "blockHash": "0xa74fc78432866c4d4443d8801112a65120ff385f1768084e309cb64b37767fd1", - "blockNumber": "0x5b6cd3", + "blockHash": "0x1929d51e64aa9545c052e02cfd328a740e04d1c868e1e1b0b3b481db31763265", + "blockNumber": "0x6080ec", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0x3a0a0", - "gasUsed": "0x3a0a0", + "to": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "cumulativeGasUsed": "0x1c1ce", + "gasUsed": "0x1c1ce", "contractAddress": null, "logs": [ { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", + "0x00000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238" ], - "data": "0x", - "blockHash": "0xa74fc78432866c4d4443d8801112a65120ff385f1768084e309cb64b37767fd1", - "blockNumber": "0x5b6cd3", - "transactionHash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", + "data": "0x0000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf", + "blockHash": "0x1929d51e64aa9545c052e02cfd328a740e04d1c868e1e1b0b3b481db31763265", + "blockNumber": "0x6080ec", + "transactionHash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false - }, - { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "topics": [ - "0xd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd" - ], - "data": "0x0000000000000000000000007dfc9f640a6b7b22bb474c9802f89c687ceecbe8", - "blockHash": "0xa74fc78432866c4d4443d8801112a65120ff385f1768084e309cb64b37767fd1", - "blockNumber": "0x5b6cd3", - "transactionHash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - }, + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000002000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000000000800000000000000000000000000000000010000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "transactionIndex": "0x1", + "blockHash": "0xb705be04e98dc5b5fad725232d3b246afdbb023ef82dd3139b7fbcd14175ee0a", + "blockNumber": "0x608102", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "cumulativeGasUsed": "0x23395", + "gasUsed": "0x23395", + "contractAddress": null, + "logs": [ { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", "topics": [ - "0x7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1" + "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], - "data": "0x00000000000000000000000011cdd8c4b40352e593942e66b1cca5dc28e391b4", - "blockHash": "0xa74fc78432866c4d4443d8801112a65120ff385f1768084e309cb64b37767fd1", - "blockNumber": "0x5b6cd3", - "transactionHash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", + "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "blockHash": "0xb705be04e98dc5b5fad725232d3b246afdbb023ef82dd3139b7fbcd14175ee0a", + "blockNumber": "0x608102", + "transactionHash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", "transactionIndex": "0x1", - "logIndex": "0x2", + "logIndex": "0x0", "removed": false - }, - { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "topics": [ - "0x9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065" + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000408000000000000000000000000000000000100000000000000000000000000000000000010004000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000020000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "cumulativeGasUsed": "0x2ecef4", + "gasUsed": "0x282403", + "contractAddress": null, + "logs": [ + { + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "topics": [ + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa74fc78432866c4d4443d8801112a65120ff385f1768084e309cb64b37767fd1", - "blockNumber": "0x5b6cd3", - "transactionHash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", - "transactionIndex": "0x1", + "data": "0x", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", "logIndex": "0x3", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", "topics": [ - "0x803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3" + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", + "0x00000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238", + "0x000000000000000000000000eab40527a5d4ac7605bef58113adae14cb4f8939" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa74fc78432866c4d4443d8801112a65120ff385f1768084e309cb64b37767fd1", - "blockNumber": "0x5b6cd3", - "transactionHash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", - "transactionIndex": "0x1", + "data": "0x", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", "logIndex": "0x4", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ - "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", + "0xee63582435f34d9ed9980fb910e179ce3b8f5edec4e4b9ce9a52bffb2e6262c5" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xa74fc78432866c4d4443d8801112a65120ff385f1768084e309cb64b37767fd1", - "blockNumber": "0x5b6cd3", - "transactionHash": "0xf9feb4a93ef46947b3dee044065c5ce54ecf2e8e1c737f44a918deac79e06dbd", - "transactionIndex": "0x1", + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eab40527a5d4ac7605bef58113adae14cb4f8939000000000000000000000000a046556fdb0fa0b97b32a904b685cbe0f7c709190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", + "blockNumber": "0x60811d", + "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionIndex": "0x2", "logIndex": "0x5", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000100000000000000000000800000000800000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000800000000000000000000000020000000000000000000800000000000000000000000000200000400000000000000880000200000000800000000000010080000400000000000000000000000004000000000000000400000000000000000200000000000000000000000000000000000000000000040000000000000000000000000000000020000000100000200200000000000000000000000000000000000400000100000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x03fec844d0a112af709def462b72df02b56f75bdbc7244a8126c5b7a442aa56c", - "transactionIndex": "0x1", - "blockHash": "0xa11af3f0826a55fe8198973ad610e15f2baf663517eced003bbec02b8dbb609b", - "blockNumber": "0x5b6cdd", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": null, - "cumulativeGasUsed": "0x1b6b46", - "gasUsed": "0x1b6b46", - "contractAddress": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x5335520f21bda93f7ac593e0c545825b5a0c84a9e8108789f8b8449ba2fac0e4", - "transactionIndex": "0x1", - "blockHash": "0xde828aaebf60623e5a64ea99d34d8e96a8c6a3117284b2cb3a326d5525d0c69a", - "blockNumber": "0x5b6cee", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": null, - "cumulativeGasUsed": "0x418b86", - "gasUsed": "0x418b86", - "contractAddress": "0xb49591445089d430531e35eFCb745D6290b3DFcd", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000004000000000840000000000000080000000000000000400000000000000000000100000000000000000000100200004000000000000000000000000000000010000000040000000000000000000000000080000000000000000000000000000000020000400000000000000a00000000000000000000000000000000000000000000000000000000000800000000100000000002000000000000080000000002000000004000000000000000000000000000000000001000040000000000000008000000000000000000000000000000000000000100100000000020000000000000000000000000000800004000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x476e5009c975395fe234863b535ab312c1a560b283c2f69f65c7b8369c5ce75b", + "transactionHash": "0xbbeaccd47214d8b2e969431cb16fa58f5c37dde6f11097b5b9c0af65162e6809", "transactionIndex": "0x1", - "blockHash": "0x5b6bca2ad3138bed7089fd928e492ea6e8e50af1dd1477c7fb7d2ba7ae2186a4", - "blockNumber": "0x5b6cfc", + "blockHash": "0x4b6be23c41da04fac3f406ab8af596fe1440ced827fbb99bf9c23d8e89d35b58", + "blockNumber": "0x608136", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x11a872", - "gasUsed": "0x11a872", - "contractAddress": "0x9aC9a52a1bE10713d70acBa357d05F1e8A364F6b", + "cumulativeGasUsed": "0x2c3a2f", + "gasUsed": "0x2c3a2f", + "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -805,15 +830,15 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xff061ffdf3ad44aebf1c0c5a613019def2550b04cecb177bcd42673225ced9d8", + "transactionHash": "0x70bb20ba942e578f571cfc30beaf91f2f16f2bf3145681a412db67887cc6fcc7", "transactionIndex": "0x1", - "blockHash": "0x015e295c185d4f6aacedf324df7a92cc3eb66649ece934d16d8329ff6a26e491", - "blockNumber": "0x5b6d05", + "blockHash": "0xc8a35b21ca906cfb3a95f4bfc01a3f76279fb1c9b6ac48fcd0b3b92742a7404c", + "blockNumber": "0x60814f", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x59572b", - "gasUsed": "0x59572b", - "contractAddress": "0x91b278E2D27FC417B64B8C02858Ca54974a79Ece", + "cumulativeGasUsed": "0x2c3a2f", + "gasUsed": "0x2c3a2f", + "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -821,748 +846,695 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x36d28e0b1ce72a8dfd6587c5d7923dad3410c7f6c06ffda08f1c674796e82717", + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", "transactionIndex": "0x1", - "blockHash": "0xad1090da717b791512475bee9a5ba5094ba568e52eec269dab986ed8e3c93f04", - "blockNumber": "0x5b6d16", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x9aC9a52a1bE10713d70acBa357d05F1e8A364F6b", - "cumulativeGasUsed": "0x34b81", - "gasUsed": "0x34b81", + "to": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "cumulativeGasUsed": "0xad786", + "gasUsed": "0xad786", "contractAddress": null, "logs": [ { - "address": "0x9aC9a52a1bE10713d70acBa357d05F1e8A364F6b", + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ - "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", - "0x0000000000000000000000004b6a63ecdd676dc3db2f9d6d10f54fccccbce650" - ], - "data": "0x00000000000000000000000091b278e2d27fc417b64b8c02858ca54974a79ece", - "blockHash": "0xad1090da717b791512475bee9a5ba5094ba568e52eec269dab986ed8e3c93f04", - "blockNumber": "0x5b6d16", - "transactionHash": "0x36d28e0b1ce72a8dfd6587c5d7923dad3410c7f6c06ffda08f1c674796e82717", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000080000000000000000000000000000000000000000000000000000000000000080000000000001000000000000000000000000000000000000000010000000000000000000000000000000000000200000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000020000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0xf33a6e52e76e0fd1779fcf53410dd48f0ddac06e3029fa61b2e16e67514dfbaa", - "transactionIndex": "0x1", - "blockHash": "0x63357364c83feb946e3696ca78b2b4e118cf544d1df1215864ce30a167533b17", - "blockNumber": "0x5b6d26", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x4B6a63ecDD676dc3DB2F9d6D10F54FCcccbcE650", - "cumulativeGasUsed": "0x423a5", - "gasUsed": "0x423a5", - "contractAddress": null, - "logs": [ - { - "address": "0x4B6a63ecDD676dc3DB2F9d6D10F54FCcccbcE650", - "topics": [ - "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x00000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], - "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007e5f4552091a69125d5dfcb7b8c2659029395bdf", - "blockHash": "0x63357364c83feb946e3696ca78b2b4e118cf544d1df1215864ce30a167533b17", - "blockNumber": "0x5b6d26", - "transactionHash": "0xf33a6e52e76e0fd1779fcf53410dd48f0ddac06e3029fa61b2e16e67514dfbaa", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000000000800000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000208000000000000000020000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0xa01c961fd6a74a8d21d07986b43145ba0afb1f49954bab234b805dca983591f1", - "transactionIndex": "0x1", - "blockHash": "0xc378f1ed2ab40bc1630079fd6e8f632c837e404856a80d542b2e6e2d7da3607a", - "blockNumber": "0x5b6d2f", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0xb49591445089d430531e35eFCb745D6290b3DFcd", - "cumulativeGasUsed": "0x2958f2", - "gasUsed": "0x2958f2", - "contractAddress": null, - "logs": [ - { - "address": "0x0cF2440C820dDda4292394999371618d742B6634", - "topics": [ - "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", - "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], "data": "0x", - "blockHash": "0xc378f1ed2ab40bc1630079fd6e8f632c837e404856a80d542b2e6e2d7da3607a", - "blockNumber": "0x5b6d2f", - "transactionHash": "0xa01c961fd6a74a8d21d07986b43145ba0afb1f49954bab234b805dca983591f1", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { - "address": "0x0cF2440C820dDda4292394999371618d742B6634", + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", - "0x0000000000000000000000004b6a63ecdd676dc3db2f9d6d10f54fccccbce650", - "0x000000000000000000000000b49591445089d430531e35efcb745d6290b3dfcd" + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0xc378f1ed2ab40bc1630079fd6e8f632c837e404856a80d542b2e6e2d7da3607a", - "blockNumber": "0x5b6d2f", - "transactionHash": "0xa01c961fd6a74a8d21d07986b43145ba0afb1f49954bab234b805dca983591f1", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { - "address": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", - "0x325ddcc7ca9dfc6bbc9edff5345c17df2028594f47ee7f3ee7ac786ec4b28b72" + "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000b49591445089d430531e35efcb745d6290b3dfcd000000000000000000000000a4ce611d9c2c6f8befb758b47e6da521289bad760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "blockHash": "0xc378f1ed2ab40bc1630079fd6e8f632c837e404856a80d542b2e6e2d7da3607a", - "blockNumber": "0x5b6d2f", - "transactionHash": "0xa01c961fd6a74a8d21d07986b43145ba0afb1f49954bab234b805dca983591f1", + "data": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000e92fb133261bc1b16cae23edb4f2570dfa12db08000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000", + "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", + "blockNumber": "0x608169", + "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000004000010080840000000000000080000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000040000000000000000000020000000200000000200000000000000000000020000400000000000400800008000000000000000000000000000000000000000000000001000000800000000000000000002000002000000080000000000000000004000000000000000000000000000000010001000800000000000000000000000000000000020000000000000000000000100000000080020000000000000000000000000000000000000000004000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0xd19d93459095fb348a1c1021f71657830c25e0677cf56f7fec5454c8907848df", - "transactionIndex": "0x1", - "blockHash": "0x4241202c3aa4d09f3cbaebead4a62f1d865d85739d4148cd4c5b43ecbdfa6ddc", - "blockNumber": "0x5b6d40", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "cumulativeGasUsed": "0x22f6a", - "gasUsed": "0x22f6a", - "contractAddress": null, - "logs": [ - { - "address": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" - ], - "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000", - "blockHash": "0x4241202c3aa4d09f3cbaebead4a62f1d865d85739d4148cd4c5b43ecbdfa6ddc", - "blockNumber": "0x5b6d40", - "transactionHash": "0xd19d93459095fb348a1c1021f71657830c25e0677cf56f7fec5454c8907848df", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000808000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000008000002000000000000000000000000000100000000000000000000000020000000000000000200000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000004000000000000200000000000000000000000000000400000000000000000000000000008080000000000000000000002000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000020000000000000000000000000000000800800000000000000000000000000000000000000000000000004000000000000000000000000000000200001000000000000000080000000000000000000000000000000000000000000100000000200000000000000000000200000000000000004000000000000000000240000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xd5a0cbec5684e3b23097ae9bc70e4b6447b0182be533e42e27b7eea69b45a617", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionIndex": "0x1", - "blockHash": "0xc4857ff5cfdb0d30fd11cf8896c30bbef3727a2b15181d043f00c5d53c553739", - "blockNumber": "0x5b6d55", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "cumulativeGasUsed": "0x1d880", - "gasUsed": "0x1d880", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x6ad2c", + "gasUsed": "0x6ad2c", "contractAddress": null, "logs": [ { - "address": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x7bc1f6d50ee439c2511c1af06c7ad15f22cd33198ee513ae0dd8329640d867ec", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", - "0x0000000000000000000000000cf2440c820ddda4292394999371618d742b6634" + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000032", - "blockHash": "0xc4857ff5cfdb0d30fd11cf8896c30bbef3727a2b15181d043f00c5d53c553739", - "blockNumber": "0x5b6d55", - "transactionHash": "0xd5a0cbec5684e3b23097ae9bc70e4b6447b0182be533e42e27b7eea69b45a617", + "data": "0x", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000200000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000020000000000000000000000000000000000000000000200400000000000000008000002000000000000000000000000000100000000000000000000000000000010000000000200000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0xc453ccca80fd817cc7e1127eff504fb8281b7d9133ece1ce312c662db7d678a7", - "transactionIndex": "0x1", - "blockHash": "0xbf1d34cb21721d8aaeec9d24d097b6e15120a76562ccd55982916c0d19bc06a5", - "blockNumber": "0x5b6d5d", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x0cF2440C820dDda4292394999371618d742B6634", - "cumulativeGasUsed": "0x26cf3", - "gasUsed": "0x26cf3", - "contractAddress": null, - "logs": [ + }, { - "address": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", - "0x0000000000000000000000000cf2440c820ddda4292394999371618d742b6634" + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x7bc1f6d50ee439c2511c1af06c7ad15f22cd33198ee513ae0dd8329640d867ec" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000032", - "blockHash": "0xbf1d34cb21721d8aaeec9d24d097b6e15120a76562ccd55982916c0d19bc06a5", - "blockNumber": "0x5b6d5d", - "transactionHash": "0xc453ccca80fd817cc7e1127eff504fb8281b7d9133ece1ce312c662db7d678a7", + "data": "0x", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionIndex": "0x1", - "logIndex": "0x0", + "logIndex": "0x1", "removed": false }, { - "address": "0x0cF2440C820dDda4292394999371618d742B6634", + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", "topics": [ - "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" + "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" ], - "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", - "blockHash": "0xbf1d34cb21721d8aaeec9d24d097b6e15120a76562ccd55982916c0d19bc06a5", - "blockNumber": "0x5b6d5d", - "transactionHash": "0xc453ccca80fd817cc7e1127eff504fb8281b7d9133ece1ce312c662db7d678a7", + "data": "0x00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionIndex": "0x1", - "logIndex": "0x1", + "logIndex": "0x2", "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000001000000000000000000000000000000000000000000000000000808000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000001000000000800000000200000000000000000000000000000000000000000000000000000000000000000000000200401000800000000008000002000000000000000000000000000100000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x7d1301516a555f1b62e8d1ebbdcd98fdae6574e421ede5071665efb6b486f0ee", - "transactionIndex": "0x1", - "blockHash": "0x511c2ee6d60f3249c0c311e0f2bbbc92e9f62462c58d6d43bd160c8987f8704f", - "blockNumber": "0x5b6d68", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": null, - "cumulativeGasUsed": "0x5035f9", - "gasUsed": "0x5035f9", - "contractAddress": "0xAFE2718319B90EF5614809749b9AE55dE6211fD1", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0xbf7dcb97d0cd26a38a66751448fae0ff5946080414c3eef3ee9b67adfb399553", - "transactionIndex": "0x1", - "blockHash": "0xa0116576bd25bdbc35fe4ea2e54d616844b1ccb60e9a518cf42f0a1ae26acb77", - "blockNumber": "0x5b6d74", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", - "cumulativeGasUsed": "0xdd492", - "gasUsed": "0xdd492", - "contractAddress": null, - "logs": [ + }, { - "address": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", - "0x00000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107", + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0xa0116576bd25bdbc35fe4ea2e54d616844b1ccb60e9a518cf42f0a1ae26acb77", - "blockNumber": "0x5b6d74", - "transactionHash": "0xbf7dcb97d0cd26a38a66751448fae0ff5946080414c3eef3ee9b67adfb399553", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionIndex": "0x1", - "logIndex": "0x0", + "logIndex": "0x3", "removed": false }, { - "address": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", - "0x000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0xa0116576bd25bdbc35fe4ea2e54d616844b1ccb60e9a518cf42f0a1ae26acb77", - "blockNumber": "0x5b6d74", - "transactionHash": "0xbf7dcb97d0cd26a38a66751448fae0ff5946080414c3eef3ee9b67adfb399553", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionIndex": "0x1", - "logIndex": "0x1", + "logIndex": "0x4", "removed": false }, { - "address": "0x7DFC9F640a6B7B22bB474C9802F89c687CEeCbE8", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ - "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", + "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", + "0x00000000000000000000000000000000000000000000000000000000000000cd", "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000154912f2fae2c4fcd3f9bf705b186bbce8018634000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000", - "blockHash": "0xa0116576bd25bdbc35fe4ea2e54d616844b1ccb60e9a518cf42f0a1ae26acb77", - "blockNumber": "0x5b6d74", - "transactionHash": "0xbf7dcb97d0cd26a38a66751448fae0ff5946080414c3eef3ee9b67adfb399553", + "data": "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a00000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", + "blockNumber": "0x60817b", + "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", "transactionIndex": "0x1", - "logIndex": "0x2", + "logIndex": "0x5", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000004000010000000200000000000000000000000000000000000000000000000000000000008080000000000000000000002000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000020000000000000000000000000000000800800000000000000000000000000000000000000000000000004000000000000000000000000000000200001000000000000000080000000000000000000000000000000000000000000100000000280000000000000000000200000000000000000000000000000000000240000000000000", + "logsBloom": "0x00002004000000000800000000000000080000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000001000001000000000000010000000000000000000000000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000020004000080800000000000000010000000000000000000000000000000000000000002000000000000200000000200001000000000000000080000020204100000000000000000000000000000000100000100200020000000000000000200000000000010000000000000000000800000200000000200", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionIndex": "0x1", - "blockHash": "0x46e35f684dbb5ae9accc397038b9c91f0f6c3dac071ffa3de025c4086d1a2741", - "blockNumber": "0x5b6d7f", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0xa6fee", - "gasUsed": "0xa6fee", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x6ad2c", + "gasUsed": "0x6ad2c", "contractAddress": null, "logs": [ { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xd866368887d58dbdd097c420fb7ec3bf9a28071e2c715e21155ba472632c67b1", + "0x83f6cc8d7d93dc5de805391a18ffd1de9f684820168be8a90221ec8d71ffaa05", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x46e35f684dbb5ae9accc397038b9c91f0f6c3dac071ffa3de025c4086d1a2741", - "blockNumber": "0x5b6d7f", - "transactionHash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000000ce", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xd866368887d58dbdd097c420fb7ec3bf9a28071e2c715e21155ba472632c67b1" + "0x83f6cc8d7d93dc5de805391a18ffd1de9f684820168be8a90221ec8d71ffaa05" ], "data": "0x", - "blockHash": "0x46e35f684dbb5ae9accc397038b9c91f0f6c3dac071ffa3de025c4086d1a2741", - "blockNumber": "0x5b6d7f", - "transactionHash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { - "address": "0xAFE2718319B90EF5614809749b9AE55dE6211fD1", + "address": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", "topics": [ "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000cf2440c820ddda4292394999371618d742b6634000000000000000000000000000000000000000000000000000000000089544000000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000004e2000000000000000000000000000000000000000000000000002c68af0bb140000", - "blockHash": "0x46e35f684dbb5ae9accc397038b9c91f0f6c3dac071ffa3de025c4086d1a2741", - "blockNumber": "0x5b6d7f", - "transactionHash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "data": "0x00000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000000ce", "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x46e35f684dbb5ae9accc397038b9c91f0f6c3dac071ffa3de025c4086d1a2741", - "blockNumber": "0x5b6d7f", - "transactionHash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionIndex": "0x1", "logIndex": "0x3", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000000ce", "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x46e35f684dbb5ae9accc397038b9c91f0f6c3dac071ffa3de025c4086d1a2741", - "blockNumber": "0x5b6d7f", - "transactionHash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionIndex": "0x1", "logIndex": "0x4", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000000ce", "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" ], - "data": "0x000000000000000000000000afe2718319b90ef5614809749b9ae55de6211fd1000000000000000000000000957f865ac322d34492fe89dd2d4f83f766f2066a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "blockHash": "0x46e35f684dbb5ae9accc397038b9c91f0f6c3dac071ffa3de025c4086d1a2741", - "blockNumber": "0x5b6d7f", - "transactionHash": "0x9b1988c1afcad5d6ff36a24c4404b8c2093f32a3a3283b6e6d15f133a44225d1", + "data": "0x000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", + "blockNumber": "0x60818c", + "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", "transactionIndex": "0x1", "logIndex": "0x5", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000004000000000800000000000000080000400000004000001000000000000000000000000000000000000000000000000002000000000000000000040000001000001000000000000000000000000000000800040000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000000204000000800000000000000000000400000000000000000000000000000000000002000000000000000000000200001000000000000000080000000004000000000000004000000000000000000100000000200060000000000000200200000004000010000000000000000000000000200000000200", + "logsBloom": "0x00000024000000000800000000000000080000000000000000001000000000000100000000000000000000000000000000000002000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000000004000000800800001000000000000000000000000000000000000000000000000002000000000000200000000200001000000000000000080000000204800000000000000000000000000000000100000000200020000000000000020200000000000010000000000000000000040000200000000202", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x3d8c8477b692ba246437db9368b1f528d76229e5b1ddea4b5a13c1cb12b9c9fa", + "transactionHash": "0xe3bd648e4e6d7ca0995b0ff36418935c7e06eb0a66993094c9a4d01bc804cd86", "transactionIndex": "0x1", - "blockHash": "0x76bb1e3e256d20c62e32ec454a6f2d5296904353f78536f07be023a13a280597", - "blockNumber": "0x5b6d92", + "blockHash": "0xb7614b9d678e5397e60c6ac584b27f09cd06c87b97aa87f40325cb1f3dabc1bf", + "blockNumber": "0x60819d", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "cumulativeGasUsed": "0x1d8bc", - "gasUsed": "0x1d8bc", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0xbcc3", + "gasUsed": "0xbcc3", "contractAddress": null, - "logs": [ - { - "address": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", - "0x00000000000000000000000036a84a4707e4fd610060205f08b4ebaa0e438d2d" - ], - "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000", - "blockHash": "0x76bb1e3e256d20c62e32ec454a6f2d5296904353f78536f07be023a13a280597", - "blockNumber": "0x5b6d92", - "transactionHash": "0x3d8c8477b692ba246437db9368b1f528d76229e5b1ddea4b5a13c1cb12b9c9fa", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - } - ], + "logs": [], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000008000000000000000000000000000000000100000000000000000000000000000010000000000200000000000000000000000400000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe4bab59236c12ac4c8ebddd34da43b543a4f67dddc5a65068d8d80ca0e08b9f6", + "transactionIndex": "0x1", + "blockHash": "0xfdfe8a45de5b5cd9ea25aff555548d69bc8884446f246ecf277413fca4515a85", + "blockNumber": "0x6081b0", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0xbc99", + "gasUsed": "0xbc99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xfea376821d82471713a89e0e9d88d5b62c54135daa1ac386b94d56aa9d02d8a3", + "transactionIndex": "0x1", + "blockHash": "0x3624085dfe14bfa243cd6a1a7774f6f111cccc0b1048696c7aa3e71764a05e62", + "blockNumber": "0x6081b1", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0xbcb6", + "gasUsed": "0xbcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xdc72772b2fc3194f3bd7e947fa6fc69b4a2ae40bb9dc8065e5bdbced4705667f", + "transactionHash": "0xd8525a1911fc63c6268f20619868d6a45d5095df3fe19e1472bd8fa16fa8f08e", "transactionIndex": "0x1", - "blockHash": "0x88638aa92216a2daa025d2de4dfab6ec4e0f3e7a3608f0df38f0ac48e528c9c7", - "blockNumber": "0x5b6da5", + "blockHash": "0x9f5b86139734171393d92f700b2315340acad30ea43e4a18924453b55eafa075", + "blockNumber": "0x6081cc", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0x31dff", - "gasUsed": "0x31dff", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0xbcc3", + "gasUsed": "0xbcc3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x8ce3670f73bd905784986fa51605e9b3aa578cf8d895144705d754c189894f6f", + "transactionIndex": "0x3", + "blockHash": "0x1c35aa9bee2ef4cf687a78a03f91fa519ea7ce07961cc1467efde1ffe9dc1c6d", + "blockNumber": "0x6081e2", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0x13808e", + "gasUsed": "0xbc99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x3784aa680f262082db04603cbe93b10c3fc974d3fce6932c64980545c128e605", + "transactionIndex": "0x1", + "blockHash": "0x0c70ce0124bf8186c2c9b06f5cf153e6baba2def525c13603857ca7f0929f0eb", + "blockNumber": "0x6081f8", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0xbcb6", + "gasUsed": "0xbcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "transactionIndex": "0x1", + "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", + "blockNumber": "0x6081fb", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0x1ed8f", + "gasUsed": "0x1ed8f", "contractAddress": null, "logs": [ { - "address": "0x957f865AC322d34492Fe89dd2D4f83f766F2066A", + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", - "0x000000000000000000000000afe2718319b90ef5614809749b9ae55de6211fd1" + "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" ], - "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", - "blockHash": "0x88638aa92216a2daa025d2de4dfab6ec4e0f3e7a3608f0df38f0ac48e528c9c7", - "blockNumber": "0x5b6da5", - "transactionHash": "0xdc72772b2fc3194f3bd7e947fa6fc69b4a2ae40bb9dc8065e5bdbced4705667f", + "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", + "blockNumber": "0x6081fb", + "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", "topics": [ - "0xbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" ], - "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x88638aa92216a2daa025d2de4dfab6ec4e0f3e7a3608f0df38f0ac48e528c9c7", - "blockNumber": "0x5b6da5", - "transactionHash": "0xdc72772b2fc3194f3bd7e947fa6fc69b4a2ae40bb9dc8065e5bdbced4705667f", + "data": "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a0", + "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", + "blockNumber": "0x6081fb", + "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false } ], "status": "0x1", - "logsBloom": "0x20000040000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000040000000000000000000000000808000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000200000000800000000000000000000400000000000000000000000000000000000000000000000000000000000200000000000000000008000002000000000000000000000000000100000000000000000000000040000800000000200200000000000000000000000000000000100000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x1b0de7e8466438153ee0878ca85f4dc6934882c712628bb8c8e25333c6e554e8", - "transactionIndex": "0x1", - "blockHash": "0xdb99c2489ad68169d91e42a530e2ce361366aec52a34175bba0061a420f01b6d", - "blockNumber": "0x5b6db2", - "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": null, - "cumulativeGasUsed": "0x50378c", - "gasUsed": "0x50378c", - "contractAddress": "0x67e278df46fcE316aae1C67007D89C65c4257b7b", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000002000000000010000000000000000000000000000000001000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", "transactionIndex": "0x1", - "blockHash": "0xbbf933597e1ae4ed3af902d64944cba94d15e5fcf94c83c8aa387a956cdc2f5d", - "blockNumber": "0x5b6dbe", + "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", + "blockNumber": "0x608218", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0xa1583", - "gasUsed": "0xa1583", + "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0x15217", + "gasUsed": "0x15217", "contractAddress": null, "logs": [ { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x64c8ab9e7070e09880fbe6c9b9d39ed69fc8010ea75c2c1265167c3b0850f87d", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" ], - "data": "0x", - "blockHash": "0xbbf933597e1ae4ed3af902d64944cba94d15e5fcf94c83c8aa387a956cdc2f5d", - "blockNumber": "0x5b6dbe", - "transactionHash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", + "blockNumber": "0x608218", + "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", "topics": [ - "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x64c8ab9e7070e09880fbe6c9b9d39ed69fc8010ea75c2c1265167c3b0850f87d" + "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" ], - "data": "0x", - "blockHash": "0xbbf933597e1ae4ed3af902d64944cba94d15e5fcf94c83c8aa387a956cdc2f5d", - "blockNumber": "0x5b6dbe", - "transactionHash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "data": "0x000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b2", + "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", + "blockNumber": "0x608218", + "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false - }, + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000002000000000010000000000000000000000000000000001000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "transactionIndex": "0x1", + "blockHash": "0xb7cbba328ebcb3867c040746296715a89c9518773aa12c0015c2cd7889717b82", + "blockNumber": "0x60822a", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "cumulativeGasUsed": "0x10a45", + "gasUsed": "0x10a45", + "contractAddress": null, + "logs": [ { - "address": "0x67e278df46fcE316aae1C67007D89C65c4257b7b", + "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", "topics": [ - "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000cf2440c820ddda4292394999371618d742b6634000000000000000000000000000000000000000000000000000000000089544000000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000004e2000000000000000000000000000000000000000000000000002c68af0bb140000", - "blockHash": "0xbbf933597e1ae4ed3af902d64944cba94d15e5fcf94c83c8aa387a956cdc2f5d", - "blockNumber": "0x5b6dbe", - "transactionHash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0xb7cbba328ebcb3867c040746296715a89c9518773aa12c0015c2cd7889717b82", + "blockNumber": "0x60822a", + "transactionHash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", "transactionIndex": "0x1", - "logIndex": "0x2", + "logIndex": "0x0", "removed": false - }, + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000200000000800000000000000000000000000400000000000000000000000000000000000000000000000000000200000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000200000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "transactionIndex": "0x1", + "blockHash": "0xc100cf34687eeca0c132260512ae8665bd7aa3fd500448d595261bc59ceca0b2", + "blockNumber": "0x60822d", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "cumulativeGasUsed": "0xb50b", + "gasUsed": "0xb50b", + "contractAddress": null, + "logs": [ { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x0000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1" ], - "data": "0x", - "blockHash": "0xbbf933597e1ae4ed3af902d64944cba94d15e5fcf94c83c8aa387a956cdc2f5d", - "blockNumber": "0x5b6dbe", - "transactionHash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc100cf34687eeca0c132260512ae8665bd7aa3fd500448d595261bc59ceca0b2", + "blockNumber": "0x60822d", + "transactionHash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", "transactionIndex": "0x1", - "logIndex": "0x3", + "logIndex": "0x0", "removed": false - }, + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000200000000800000000000004000000000000400000000020000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000010000000000200000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "transactionIndex": "0x1", + "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", + "blockNumber": "0x608240", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x1bb82", + "gasUsed": "0x1bb82", + "contractAddress": null, + "logs": [ { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", "topics": [ - "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", - "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a0" ], - "data": "0x", - "blockHash": "0xbbf933597e1ae4ed3af902d64944cba94d15e5fcf94c83c8aa387a956cdc2f5d", - "blockNumber": "0x5b6dbe", - "transactionHash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", + "blockNumber": "0x608240", + "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", "transactionIndex": "0x1", - "logIndex": "0x4", + "logIndex": "0x0", "removed": false }, { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ - "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" + "0xbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851", + "0x00000000000000000000000000000000000000000000000000000000000000cd" ], - "data": "0x00000000000000000000000067e278df46fce316aae1c67007d89c65c4257b7b000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "blockHash": "0xbbf933597e1ae4ed3af902d64944cba94d15e5fcf94c83c8aa387a956cdc2f5d", - "blockNumber": "0x5b6dbe", - "transactionHash": "0xcb4793f4e70d980f550df97e62c31d5a785afbf80763141670a642433314664d", + "data": "0x00000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", + "blockNumber": "0x608240", + "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", "transactionIndex": "0x1", - "logIndex": "0x5", + "logIndex": "0x1", "removed": false } ], "status": "0x1", - "logsBloom": "0x04000004000000000800000000000000080000000000004000001000000000000000000000000000000400000000000000000002000000000000000000000000001000001010000000000000000000000000000000000000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000000204000000800000000000000000000400000000000000000000000000000000000102000000020000000000000200001000000000000000080000000004000000000000000000000000000000000100400000200020000000000000200200000000000011000000000000008000000000000000000200", + "logsBloom": "0x20000000000000000000000000000000000000000000000000000000000000000000000400000000000000010000000000000000000000000000000000080000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000200000080800000000001000010000000000400000000000000000000000000000000000000000000200000000200000000000000000000000002000200100000000000000000000000000000000000002000000000000000000000000200000000000000000000000000000000100000200000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x913962caad9a76ed17e420bf1787982b180aff177c28fd17f7326eda91d011bb", + "transactionHash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", "transactionIndex": "0x1", - "blockHash": "0x5f5a480eba02d98c9b5a94df91c03ad11381176c000ad32c2a04c30a373bc36a", - "blockNumber": "0x5b6dce", + "blockHash": "0xccd08e634ead2f2e3b450672613b5443c7080ff3e6f0a3d652b0d46022963a02", + "blockNumber": "0x608251", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0x2b3f7", - "gasUsed": "0x2b3f7", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x3751b", + "gasUsed": "0x3751b", "contractAddress": null, "logs": [ { - "address": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", "topics": [ - "0xbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851", - "0x0000000000000000000000000000000000000000000000000000000000000002" + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], - "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x5f5a480eba02d98c9b5a94df91c03ad11381176c000ad32c2a04c30a373bc36a", - "blockNumber": "0x5b6dce", - "transactionHash": "0x913962caad9a76ed17e420bf1787982b180aff177c28fd17f7326eda91d011bb", + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xccd08e634ead2f2e3b450672613b5443c7080ff3e6f0a3d652b0d46022963a02", + "blockNumber": "0x608251", + "transactionHash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x24000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000400000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000008000100000000000000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x277e7efd2900edb6c5ada7fdd7c9eccd1e3a1d9225a465713c14423645a4a3a6", + "transactionHash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", "transactionIndex": "0x1", - "blockHash": "0x4e6c5119fdd04fa7f92be83ffc8992e781291800b72dbc6e9cbba080569a8256", - "blockNumber": "0x5b6dde", + "blockHash": "0xee6627cf5ad25f6bd4924f398e675ef0708ffc1970e085b8f82d81f88f03d6e1", + "blockNumber": "0x60826a", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0x58083", - "gasUsed": "0x58083", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x3324f", + "gasUsed": "0x3324f", "contractAddress": null, "logs": [ { - "address": "0xAFE2718319B90EF5614809749b9AE55dE6211fD1", + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", "topics": [ "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0x4e6c5119fdd04fa7f92be83ffc8992e781291800b72dbc6e9cbba080569a8256", - "blockNumber": "0x5b6dde", - "transactionHash": "0x277e7efd2900edb6c5ada7fdd7c9eccd1e3a1d9225a465713c14423645a4a3a6", + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000001f4", + "blockHash": "0xee6627cf5ad25f6bd4924f398e675ef0708ffc1970e085b8f82d81f88f03d6e1", + "blockNumber": "0x60826a", + "transactionHash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000040000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000080000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x329ab01057168faf18d6ae365b80deab908cfd74a61ebd95d09e40db0ff8dd8a", + "transactionHash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", "transactionIndex": "0x1", - "blockHash": "0x58ea41527c4227738597fd2ac1a0eb60e771b890721170aa3865caaa9fae0538", - "blockNumber": "0x5b6de9", + "blockHash": "0xaf304dc5bbc34e711579536b09ef888441b4d8cbc6d5dd26ed2961c24016b5b1", + "blockNumber": "0x608281", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0x54a50", - "gasUsed": "0x54a50", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x3324f", + "gasUsed": "0x3324f", "contractAddress": null, "logs": [ { - "address": "0xAFE2718319B90EF5614809749b9AE55dE6211fD1", + "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", "topics": [ "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000001f4", - "blockHash": "0x58ea41527c4227738597fd2ac1a0eb60e771b890721170aa3865caaa9fae0538", - "blockNumber": "0x5b6de9", - "transactionHash": "0x329ab01057168faf18d6ae365b80deab908cfd74a61ebd95d09e40db0ff8dd8a", + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000384", + "blockHash": "0xaf304dc5bbc34e711579536b09ef888441b4d8cbc6d5dd26ed2961c24016b5b1", + "blockNumber": "0x608281", + "transactionHash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000040000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000080000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x79393240c66b5ee63145a0cfd52af8f5d96cf136cf613cae4604392873f9daf0", + "transactionHash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", "transactionIndex": "0x1", - "blockHash": "0xabb35e1cf65c951cc72d9f16e61085251fbeaae90723daa731bdd9eadc1e36bf", - "blockNumber": "0x5b6e00", + "blockHash": "0xef51f92fb9d9fc1ac8f96c3443c6dc70f4de4022dde1ffc93e6ed63282fe1353", + "blockNumber": "0x60829d", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x36a84a4707E4fd610060205F08B4EbAA0E438D2d", - "cumulativeGasUsed": "0x540dd", - "gasUsed": "0x540dd", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x28a7c", + "gasUsed": "0x28a7c", "contractAddress": null, "logs": [ { - "address": "0xAFE2718319B90EF5614809749b9AE55dE6211fD1", + "address": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", "topics": [ "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000384", - "blockHash": "0xabb35e1cf65c951cc72d9f16e61085251fbeaae90723daa731bdd9eadc1e36bf", - "blockNumber": "0x5b6e00", - "transactionHash": "0x79393240c66b5ee63145a0cfd52af8f5d96cf136cf613cae4604392873f9daf0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xef51f92fb9d9fc1ac8f96c3443c6dc70f4de4022dde1ffc93e6ed63282fe1353", + "blockNumber": "0x60829d", + "transactionHash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000040000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000080000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000040000000080000002", "type": "0x2", "effectiveGasPrice": "0x5f5e100" } @@ -1570,8 +1542,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1704838225, + "timestamp": 1704957191, "chain": 421614, "multi": false, - "commit": "72d27d7" + "commit": "db8ae0f" } \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json b/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json index b16d88376..29d8125e2 100644 --- a/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json +++ b/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUESTED_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createProposal","inputs":[{"name":"_tokenPool","type":"address","internalType":"address"},{"name":"requestAmount","type":"uint256","internalType":"uint256"},{"name":"poolAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"pool","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]},{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disabled_test_threshold_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBalance","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testRevert_allocate_ProposalIdDuplicated","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_UserNotInRegistry","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_1_proposalSupported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_activate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_allocate_proposalSupport_empty_array","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_function","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_native_token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_signaling_proposal","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_change_support","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_conviction_threshold_2_users","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_total_staked_amount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602492835590919060259062000060908262000136565b5050600160288190556029805460ff19169055602c5550613a98602e553480156200008a57600080fd5b5062000202565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000bc57607f821691505b602082108103620000dd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013157600081815260208120601f850160051c810160208610156200010c5750805b601f850160051c820191505b818110156200012d5782815560010162000118565b5050505b505050565b81516001600160401b0381111562000152576200015262000091565b6200016a81620001638454620000a7565b84620000e3565b602080601f831160018114620001a25760008415620001895750858301515b600019600386901b1c1916600185901b1785556200012d565b600085815260208120601f198616915b82811015620001d357888601518255948401946001909101908401620001b2565b5085821015620001f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201bb4f80620002136000396000f3fe60806040523480156200001157600080fd5b50600436106200062c5760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000aac578063fc0c546a1462000aba578063fd325c601462000ace57600080fd5b8063e99ce9111462000a81578063eaeb71951462000a98578063ef0d790f1462000aa257600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a63578063de8a13541462000a6d578063e20c9f711462000a7757600080fd5b8063d97d05781462000a4f578063da4bf0871462000a5957600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a1c578063d5bee9f51462000a33578063d6d8428d1462000a3d57600080fd5b8063d1e82b5814620009fe578063d1f2cd881462000a08578063d25bba071462000a1257600080fd5b8063bc1687c011620001a0578063bc1687c014620009d8578063beda3db314620009e2578063c5d7d73b14620009ec57600080fd5b8063b5508aa914620009b3578063ba414fa614620009bd57600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd146200096b578063ae1596011462000975578063b188bdc4146200098c57600080fd5b8063a0cf0aea146200093b578063a407c67a1462000957578063a6f2b82f146200096157600080fd5b8063914a5f6d1162000268578063914a5f6d1462000910578063916a17c614620009275780639a45ff89146200093157600080fd5b8063902d55a514620008fc57806390ff95a4146200090657600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008de5780638e0d1a5014620008e85780638e3c249314620008f257600080fd5b8063896546a114620008ca5780638c7408c414620006b557600080fd5b8063829e423f1162000318578063829e423f14620006b557806385226c8114620008a7578063879ee88c14620008c057600080fd5b80637b2edf3214620008935780637cbe79ed146200089d57600080fd5b806339f56f7f11620004b957806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200086d57806379e62d0d14620008775780637b103999146200088157600080fd5b806374d9284e14620006b5578063757e122d1462000859578063759c9a86146200086357600080fd5b80636c53db9a11620003ec5780636c53db9a146200081f5780636db52510146200083857806370a32944146200084f57600080fd5b806366d9a9a014620007fc5780636a38dd0a146200081557600080fd5b8063587c124311620004675780635aff5999116200044a5780635aff599914620007de57806361164d4e14620007e857806366d003ac14620007f257600080fd5b8063587c124314620007ca5780635a2bcc1814620007d457600080fd5b80633f7286f4116200049c5780633f7286f414620007ac5780634bf4ba2114620007b6578063503c712e14620007c057600080fd5b806339f56f7f14620007995780633e5e3c2314620007a257600080fd5b80631854036111620005815780632ade3880116200052f5780633554642a11620005065780633554642a1462000763578063392f37e9146200077557806339b7e525146200078f57600080fd5b80632ade3880146200071c5780632d0e673114620007355780632da49647146200075957600080fd5b80631b96dce611620005645780631b96dce614620006ef5780631e7bcb2e14620006f95780631ed7831c146200070357600080fd5b80631854036114620006cf5780631ae726d914620006d857600080fd5b80630a9254e411620005df578063136994c011620005c2578063136994c014620006ab578063174eedde14620006b5578063176effb314620006bd57600080fd5b80630a9254e414620006985780630f166ad414620006a457600080fd5b80630522b7db11620006145780630522b7db14620006625780630688b135146200067657806308dbbb03146200068057600080fd5b8062b1fad71462000631578063030e40061462000658575b600080fd5b6200063b62000ad7565b6040516001600160a01b0390911681526020015b60405180910390f35b6200063b62000b1e565b602a546200063b906001600160a01b031681565b6200063b62000b60565b62000689603281565b6040519081526020016200064f565b620006a262000ba2565b005b306200063b565b620006a2620013f3565b60006200063b565b601f546001600160a01b03166200063b565b60225462000689565b6200063b620006e936600462009a73565b62001729565b6200063b62001a74565b6200063b62001ab6565b6200070d62001af8565b6040516200064f919062009ae0565b6200072662001b5c565b6040516200064f919062009b49565b620006a26200074636600462009c1e565b6029805460ff1916911515919091179055565b620006a262001caa565b6023546001600160a01b03166200063b565b6200077f62001f21565b6040516200064f92919062009c3e565b620006a262001fc0565b60205462000689565b6200070d62002216565b6200070d62002278565b6200070d620022da565b620006a2620022fd565b6200063b6200319f565b62000689602e5481565b6200063b620031e1565b620006a262003223565b6200063b6200379d565b62000806620037df565b6040516200064f919062009c61565b6200063b620038c9565b6029546200063b9061010090046001600160a01b031681565b620006a26200084936600462009db9565b6200390b565b6200070d62003bdc565b620006a262003c7e565b6200063b620048fa565b62000689602c5481565b6200070d6200493c565b601d546001600160a01b03166200063b565b6200063b620049ab565b6200063b620049ed565b620008b162004a2f565b6040516200064f919062009e5f565b620006896103e881565b602b546200063b906001600160a01b031681565b620006a262004b09565b6200063b62004fa2565b6200063b62004fe4565b6200068961afc881565b620006a262005026565b620006896200092136600462009a73565b6200555b565b6200080662005638565b620006a262005722565b6200063b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200070d6200591d565b620006a26200598c565b6200063b62005e33565b620006896200098636600462009ec5565b62005e75565b620009a36200099d36600462009f41565b62006075565b6040516200064f92919062009f9a565b620008b1620067bc565b620009c762006896565b60405190151581526020016200064f565b620006a2620069cd565b62000689613a9881565b6021546001600160a01b03166200063b565b6200063b62006cf5565b6200063b62006d37565b620006a262006d79565b6200068962000a2d3660046200a004565b62007108565b6200063b620071dc565b601c546001600160a01b03166200063b565b620006a26200721e565b6200063b620075d0565b6200063b62007612565b620006a262007654565b6200070d62007acd565b6200068962000a923660046200a042565b62007b2f565b620006a262007bdd565b6200063b62008173565b600754620009c79060ff1681565b602d546200063b906001600160a01b031681565b601e5462000689565b600062000b196040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620081b0565b905090565b600062000b196040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620081b0565b600062000b196040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620081b0565b62000bac620081c4565b62000bc962000bc3601d546001600160a01b031690565b620087ce565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000bed620049ed565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c2f57600080fd5b505af115801562000c44573d6000803e3d6000fd5b5050505062000c5b601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000cb957600080fd5b505af115801562000cce573d6000803e3d6000fd5b5050505062000ce5601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d4357600080fd5b505af115801562000d58573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dbb57600080fd5b505af115801562000dd0573d6000803e3d6000fd5b5050505060405162000de29062009929565b604051809103906000f08015801562000dff573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e34600261afc86200a08b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e7b57600080fd5b505af115801562000e90573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000eb162004fa2565b62000ec0600261afc86200a08b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f0757600080fd5b505af115801562000f1c573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f46601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fbb91906200a0ae565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000fe0620049ed565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200102257600080fd5b505af115801562001037573d6000803e3d6000fd5b505050506200104e601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200109f57600080fd5b505af1158015620010b4573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200111757600080fd5b505af11580156200112c573d6000803e3d6000fd5b505050506000604051620011409062009937565b604051809103906000f0801580156200115d573d6000803e3d6000fd5b5090506200116a62009945565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011be906200a0ce565b80601f0160208091040260200160405190810160405280929190818152602001828054620011ec906200a0ce565b80156200123d5780601f1062001211576101008083540402835291602001916200123d565b820191906000526020600020905b8154815290600101906020018083116200121f57829003601f168201915b5050509190925250505060a082015262001256620089a5565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012a69084906004016200a10a565b6020604051808303816000875af1158015620012c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012ec91906200a18d565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa15801562001356573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200137c91906200a1ad565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013ee91906200a0ae565b505050565b60008062001405600080600062006075565b60208083015160408051600480825260248201835293810180516001600160e01b03167fd5b9bc9600000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148792016200a1c7565b600060405180830381600087803b158015620014a257600080fd5b505af1158015620014b7573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f757600080fd5b505af11580156200150c573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d56915062001537905062004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200157957600080fd5b505af11580156200158e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620015ce57600080fd5b505af1158015620015e3573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200164657600080fd5b505af11580156200165b573d6000803e3d6000fd5b5050602f54620013ee92506001600160a01b0316905063a230c5246200168062004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620016c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016eb91906200a0ae565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062008e2f565b602a546000906001600160a01b031662001a635760006040516200174d90620099b0565b604051809103906000f0801580156200176a573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200178c90620099be565b604051809103906000f080158015620017a9573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001806573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200182c91906200a18d565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620018cf57600080fd5b505af1158015620018e4573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b1580156200197457600080fd5b505af115801562001989573d6000803e3d6000fd5b5060009250600191506200199a9050565b604051908082528060200260200182016040528015620019c4578160200160208202803683370190505b5090508481600081518110620019de57620019de6200a1dc565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001a2b90849060019060009081908190819081906004016200a1f2565b600060405180830381600087803b15801562001a4657600080fd5b505af115801562001a5b573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b196040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620081b0565b6060601480548060200260200160405190810160405280929190818152602001828054801562001b5257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001b33575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001ca157600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001c8957838290600052602060002001805462001bf5906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462001c23906200a0ce565b801562001c745780601f1062001c485761010080835404028352916020019162001c74565b820191906000526020600020905b81548152906001019060200180831162001c5657829003601f168201915b50505050508152602001906001019062001bd3565b50505050815250508152602001906001019062001b80565b50505050905090565b600062001cce73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b91505062001d066040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162001d1e57905050905060405180604001604052806001815260200160508152508160008151811062001d755762001d756200a1dc565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062001dad5762001dad6200a1dc565b602002602001018190525060008160405160200162001dcd91906200a259565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162001e6d91906004016200a1c7565b600060405180830381600087803b15801562001e8857600080fd5b505af115801562001e9d573d6000803e3d6000fd5b5050505062001eb4601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162001ee392919062009c3e565b600060405180830381600087803b15801562001efe57600080fd5b505af115801562001f13573d6000803e3d6000fd5b50505050620013ee62008ea3565b602480546025805491929162001f37906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462001f65906200a0ce565b801562001fb65780601f1062001f8a5761010080835404028352916020019162001fb6565b820191906000526020600020905b81548152906001019060200180831162001f9857829003601f168201915b5050505050905082565b60008062001fe573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b915091506200201e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620020365790505090506040518060400160405280600181526020016064815250816000815181106200208d576200208d6200a1dc565b602002602001018190525080600181518110620020ae57620020ae6200a1dc565b5050604051600090620020c69083906020016200a259565b6040516020818303038152906040529050620020ea601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200211992919062009c3e565b600060405180830381600087803b1580156200213457600080fd5b505af115801562002149573d6000803e3d6000fd5b505050506200215762008ea3565b6020840151604051631c1ba58760e31b815260016004820152306024820152620021dc906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620021ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021d491906200a1ad565b603262008f36565b60405163dc96ff2d60e01b8152600160048201526200220f906001600160a01b0383169063dc96ff2d9060240162002190565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001b52576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001b33575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001b52576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001b33575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200232060006802b5e3af16b1880000683635c9adc5dea0000062006075565b602082015191935091506001600160a01b0381166369fa25c46200234c670dd46c08316590006200904c565b6040518263ffffffff1660e01b81526004016200236b91815260200190565b600060405180830381600087803b1580156200238657600080fd5b505af11580156200239b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620023c167016345785d8a00006200904c565b6040518263ffffffff1660e01b8152600401620023e091815260200190565b600060405180830381600087803b158015620023fb57600080fd5b505af115801562002410573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620024356601c6bf526340006200904c565b6040518263ffffffff1660e01b81526004016200245491815260200190565b600060405180830381600087803b1580156200246f57600080fd5b505af115801562002484573d6000803e3d6000fd5b50505050620024bd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620024d857905050905060405180604001604052806001815260200183815250816000815181106200252e576200252e6200a1dc565b60200260200101819052506000816040516020016200254e91906200a259565b604051602081830303815290604052905062002572601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620025a192919062009c3e565b600060405180830381600087803b158015620025bc57600080fd5b505af1158015620025d1573d6000803e3d6000fd5b50505050620025df62008ea3565b60006064620025f06032866200a2aa565b620025fc91906200a08b565b604051631c1ba58760e31b8152600160048201523060248201529091506200267e906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002651573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200267791906200a1ad565b8262008f36565b60405163dc96ff2d60e01b815260016004820152620026b1906001600160a01b0387169063dc96ff2d9060240162002633565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620026d562004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200271757600080fd5b505af11580156200272c573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200276c57600080fd5b505af115801562002781573d6000803e3d6000fd5b506000925060019150620027929050565b604051908082528060200260200182016040528015620027d957816020015b6040805180820190915260008082526020820152815260200190600190039081620027b15790505b50905060006064905060405180604001604052806001815260200182815250826000815181106200280e576200280e6200a1dc565b6020026020010181905250816040516020016200282c91906200a259565b604051602081830303815290604052935062002850601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b81526004016200287f92919062009c3e565b600060405180830381600087803b1580156200289a57600080fd5b505af1158015620028af573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200291257600080fd5b505af115801562002927573d6000803e3d6000fd5b50505050600060646032836200293e91906200a2aa565b6200294a91906200a08b565b90506200299e886001600160a01b031663e0dd2c3860016200296b62004fa2565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002633565b60405163dc96ff2d60e01b81526001600482015262002a21906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa158015620029e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a0f91906200a1ad565b62002a1b83876200a2c4565b62008f36565b62002a626040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200905f565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ac991906200a1ad565b905062002b0c6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250826200905f565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ba591906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002b79573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b9f91906200a1ad565b6200905f565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002c5f91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002c1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002c4091906200a1ad565b6040518263ffffffff1660e01b815260040162002b5b91815260200190565b60405163950559d760e01b81526004810182905262002cfe906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002caa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cd091906200a1ad565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620090c1565b60405163dc96ff2d60e01b81526001600482015262002e07906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562002d51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d7791906200a1ad565b6040518263ffffffff1660e01b815260040162002d9691815260200190565b602060405180830381865afa15801562002db4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dda91906200a1ad565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620090c1565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b15801562002e5557600080fd5b505af115801562002e6a573d6000803e3d6000fd5b5050505062002eaf6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200905f565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af115801562002ef7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f1d91906200a1ad565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162002f5691815260200190565b61018060405180830381865afa15801562002f75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f9b91906200a2ea565b9b509b50509a505050509750975050505062002fe46040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b62003019604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b6200304a6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200905f565b6200308160405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200905f565b620030c26040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200905f565b620031068261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620090c1565b6200314a836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620090c1565b6200318d8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620090c1565b50505050505050505050505050505050565b600062000b196040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620081b0565b6000806200324873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602f5460405161afc86024820152929450909250620032b5916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200390b565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620032cc5790505090506040518060400160405280600181526020016064815250816000815181106200332357620033236200a1dc565b60200260200101819052506000816040516020016200334391906200a259565b604051602081830303815290604052905062003367601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200339692919062009c3e565b600060405180830381600087803b158015620033b157600080fd5b505af1158015620033c6573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003453906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003426573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200344c91906200a1ad565b8362008f36565b60405163dc96ff2d60e01b81526001600482015262003486906001600160a01b0383169063dc96ff2d9060240162003408565b60405180604001604052806001815260200160631981525084600081518110620034b457620034b46200a1dc565b602002602001018190525083604051602001620034d291906200a259565b6040516020818303038152906040529250620034f6601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200352592919062009c3e565b600060405180830381600087803b1580156200354057600080fd5b505af115801562003555573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200360e92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620035aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620035d091906200a1ad565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b815260016004820152620036bd906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003659573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200367f91906200a1ad565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620090c1565b62003764816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200372691906200a1ad565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620090c1565b602f546040516032602482015262003795916001600160a01b0316906000906318fb0de560e11b906044016200327d565b505050505050565b600062000b196040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620081b0565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001ca15760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620038b057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620038715790505b5050505050815250508152602001906001019062003803565b600062000b196040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620081b0565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003991573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620039b791906200a1ad565b6040518b63ffffffff1660e01b8152600401620039de9a999897969594939291906200a3dc565b600060405180830381865afa158015620039fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003a2691908101906200a489565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003aad573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ad391906200a4d7565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003b8a908c908c908c90600090819081908190819081908d906065016200a516565b6020604051808303816000875af115801562003baa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003bd091906200a0ae565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003c0b62001ab6565b8160008151811062003c215762003c216200a1dc565b60200260200101906001600160a01b031690816001600160a01b03168152505062003c4b620049ab565b8160018151811062003c615762003c616200a1dc565b6001600160a01b0390921660209283029190910190910152919050565b60008062003ca373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b9150915062003cdc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003cf7579050509050604051806040016040528060018152602001838152508160008151811062003d4d5762003d4d6200a1dc565b602002602001018190525060008160405160200162003d6d91906200a259565b604051602081830303815290604052905062003d91601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162003dc092919062009c3e565b600060405180830381600087803b15801562003ddb57600080fd5b505af115801562003df0573d6000803e3d6000fd5b5050505062003dfe62008ea3565b6000606462003e0f6032866200a2aa565b62003e1b91906200a08b565b6020870151604051631c1ba58760e31b8152600160048201523060248201529192509062003ed8906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562003e75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e9b91906200a1ad565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b81526001600482015262003f0b906001600160a01b0383169063dc96ff2d9060240162003408565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662003f2f62004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562003f7157600080fd5b505af115801562003f86573d6000803e3d6000fd5b5050505060006002905060006040518060c0016040528083815260200189815260200162003fb362004fa2565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b0316604092830152905191925060009162003ff9918491016200a59d565b60405160208183030381529060405290506200401d601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200404c92919062009c3e565b6020604051808303816000875af11580156200406c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200409291906200a18d565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620040ea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200411091906200a1ad565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200415c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200418291906200a0ae565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620041bf57600080fd5b505af1158015620041d4573d6000803e3d6000fd5b506000925060019150620041e59050565b6040519080825280602002602001820160405280156200422c57816020015b6040805180820190915260008082526020820152815260200190600190039081620042045790505b509050600060649050604051806040016040528086815260200182815250826000815181106200426057620042606200a1dc565b6020026020010181905250816040516020016200427e91906200a259565b6040516020818303038152906040529750620042a2601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620042d192919062009c3e565b600060405180830381600087803b158015620042ec57600080fd5b505af115801562004301573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200436457600080fd5b505af115801562004379573d6000803e3d6000fd5b50505050600060646032836200439091906200a2aa565b6200439c91906200a08b565b90506200446a876001600160a01b031663e0dd2c3888620043bc62004fa2565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004407573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200442d91906200a1ad565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b81526004810187905262004518906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620044b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620044db91906200a1ad565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620090c1565b620045596040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200905f565b620045cf6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002c1a573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200462b91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002bfc565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200467957600080fd5b505af11580156200468e573d6000803e3d6000fd5b50505050620046d36040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200905f565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af11580156200471b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200474191906200a1ad565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200477a91815260200190565b61018060405180830381865afa15801562004799573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047bf91906200a2ea565b9b509b50509a5050505097509750505050620048086040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b6200483d604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b6200486e6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200905f565b620048a560405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200905f565b620048e66040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200905f565b505050505050505050505050505050505050565b600062000b196040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620081b0565b604080516002808252606080830184529260009291906020830190803683370190505090506200496b62000ad7565b816000815181106200498157620049816200a1dc565b60200260200101906001600160a01b031690816001600160a01b03168152505062003c4b620038c9565b600062000b196040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620081b0565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001ca157838290600052602060002001805462004a75906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462004aa3906200a0ce565b801562004af45780601f1062004ac85761010080835404028352916020019162004af4565b820191906000526020600020905b81548152906001019060200180831162004ad657829003601f168201915b50505050508152602001906001019062004a53565b60008062004b2e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b9150915062004b676040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004b82579050509050604051806040016040528060018152602001838152508160008151811062004bd85762004bd86200a1dc565b602002602001018190525062004bf6601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004c1891906200a259565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004c4692919062009c3e565b600060405180830381600087803b15801562004c6157600080fd5b505af115801562004c76573d6000803e3d6000fd5b5050505062004c8462008ea3565b6000606462004c956032856200a2aa565b62004ca191906200a08b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004ce3906001600160a01b0383169063e0dd2c389060440162003408565b60405163dc96ff2d60e01b81526001600482015262004d16906001600160a01b0383169063dc96ff2d9060240162003408565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004d4f91815260200190565b61018060405180830381865afa15801562004d6e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004d9491906200a2ea565b509a5050995099505050975097505096505062004dde6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b62004e13604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b62004e446040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200905f565b62004e856040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200905f565b62004ebc60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200905f565b604080516000808252602082018352600182840152825180830384018152606083018452928f015191929162004ef3908a62007108565b905062004f0281600062008f36565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b815260040162004f3f939291906200a606565b600060405180830381600087803b15801562004f5a57600080fd5b505af115801562004f6f573d6000803e3d6000fd5b5050505062004f838f604001518a62007108565b905062004f91818962008f36565b505050505050505050505050505050565b600062000b196040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620081b0565b6000806200504b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602082015191935091506001600160a01b0381166369fa25c462005077670c7d713b49da00006200904c565b6040518263ffffffff1660e01b81526004016200509691815260200190565b600060405180830381600087803b158015620050b157600080fd5b505af1158015620050c6573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620050ec6702c68af0bb1400006200904c565b6040518263ffffffff1660e01b81526004016200510b91815260200190565b600060405180830381600087803b1580156200512657600080fd5b505af11580156200513b573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200516066071afd498d00006200904c565b6040518263ffffffff1660e01b81526004016200517f91815260200190565b600060405180830381600087803b1580156200519a57600080fd5b505af1158015620051af573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620051ea92506001600160a01b03909116906000906318fb0de560e11b906044016200327d565b6200521f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620052365790505090506040518060400160405280600181526020016064815250816000815181106200528d576200528d6200a1dc565b6020026020010181905250600081604051602001620052ad91906200a259565b6040516020818303038152906040529050620052d1601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b81526004016200530092919062009c3e565b600060405180830381600087803b1580156200531b57600080fd5b505af115801562005330573d6000803e3d6000fd5b505050506200533e62008ea3565b604051631c1ba58760e31b815260016004820152306024820152620053bd906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa15801562005390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620053b691906200a1ad565b8462008f36565b60405163dc96ff2d60e01b815260016004820152620053f0906001600160a01b0386169063dc96ff2d9060240162005372565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa1580156200544a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200547091906200a1ad565b9050620054a36040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200905f565b6000620054b8600a6000856289544062007b2f565b9050620054e86040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200905f565b620054f4828262008f36565b6200550283613a9862008f36565b620055108661afc862008f36565b6200551f8262017da262008f36565b602f546040516032602482015262005550916001600160a01b0316906000906318fb0de560e11b906044016200327d565b505050505050505050565b6026546000906200563057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620055bb62004fa2565b620055c56200493c565b6040518563ffffffff1660e01b8152600401620055e694939291906200a63f565b6020604051808303816000875af115801562005606573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200562c91906200a1ad565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001ca15760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200570957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620056ca5790505b505050505081525050815260200190600101906200565c565b60006200574673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b91505060006040518060c00160405280600181526020018381526020016200576d62004fa2565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03168152509050600081604051602001620057c291906200a59d565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200585b91906004016200a1c7565b600060405180830381600087803b1580156200587657600080fd5b505af11580156200588b573d6000803e3d6000fd5b50505050620058a2601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b8152600401620058d192919062009c3e565b6020604051808303816000875af1158015620058f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200591791906200a18d565b50505050565b604080516002808252606080830184529260009291906020830190803683370190505090506200594c6200319f565b816000815181106200596257620059626200a1dc565b60200260200101906001600160a01b031690816001600160a01b03168152505062003c4b62004fe4565b600080620059b173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602082015191935091506001600160a01b0381166369fa25c4620059dd670c7d713b49da00006200904c565b6040518263ffffffff1660e01b8152600401620059fc91815260200190565b600060405180830381600087803b15801562005a1757600080fd5b505af115801562005a2c573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005a526702c68af0bb1400006200904c565b6040518263ffffffff1660e01b815260040162005a7191815260200190565b600060405180830381600087803b15801562005a8c57600080fd5b505af115801562005aa1573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005ac666071afd498d00006200904c565b6040518263ffffffff1660e01b815260040162005ae591815260200190565b600060405180830381600087803b15801562005b0057600080fd5b505af115801562005b15573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005b4d93506001600160a01b0390911691506000906318fb0de560e11b906044016200327d565b62005b826040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005b9957905050905060405180604001604052806001815260200160648152508160008151811062005bf05762005bf06200a1dc565b602002602001018190525060008160405160200162005c1091906200a259565b604051602081830303815290604052905062005c34601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005c6392919062009c3e565b600060405180830381600087803b15801562005c7e57600080fd5b505af115801562005c93573d6000803e3d6000fd5b5050505062005ca162008ea3565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005cde906001600160a01b0386169063e0dd2c389060440162002633565b60405163dc96ff2d60e01b81526001600482015262005d11906001600160a01b0386169063dc96ff2d9060240162002633565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562005d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005d9a91906200a1ad565b905062005ddd6040518060400160405280600c81526020017f7468726573686f6c642025730000000000000000000000000000000000000000815250826200905f565b62005deb8261afc862008f36565b62005df98161c5c162008f36565b602f546040516032602482015262005e2a916001600160a01b0316906000906318fb0de560e11b906044016200327d565b50505050505050565b600062000b196040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620081b0565b604080516080810182526000808252602082018190529181018290526060810182905262005eab670de0a46bc207d8006200904c565b602082015262005ec36702c68af0bb1400006200904c565b604082015262005eda66038d7ea4c680006200904c565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062005f285762005f286200a1dc565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062005f5f5762005f5f6200a1dc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562005f965750835b886001600160a01b031663e1007d4a62005fb0886200555b565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200602297969594939291906200a6c7565b6020604051808303816000875af115801562006042573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200606891906200a1ad565b9998505050505050505050565b6200607f620099cc565b60008360000362006090576103e893505b826000036200609f57613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620060d15750602d546001600160a01b03165b620061026040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062008e80565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200612662004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200616857600080fd5b505af11580156200617d573d6000803e3d6000fd5b50505050600062006196601c546001600160a01b031690565b604051620061a49062009a33565b6001600160a01b039091168152602001604051809103906000f080158015620061d1573d6000803e3d6000fd5b50905062006212620061eb601c546001600160a01b031690565b82620061ff602f546001600160a01b031690565b601d546001600160a01b03168662005e75565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200627357600080fd5b505af115801562006288573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620062c857600080fd5b505af1158015620062dd573d6000803e3d6000fd5b50505050620062f4601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200632291815260200190565b600060405180830381865afa15801562006340573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200636a91908101906200a859565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620063da57600080fd5b505af1158015620063ef573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200649a57601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200647a57600080fd5b505af11580156200648f573d6000803e3d6000fd5b50505050506200661e565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620064fc57600080fd5b505af115801562006511573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b362006537601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af115801562006585573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620065ab91906200a0ae565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b1580156200660457600080fd5b505af115801562006619573d6000803e3d6000fd5b505050505b835162006678906200663c62000921601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c654944000000000000000000000000000000000000008152506200910e565b620066a96040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062008e80565b60006040518060c0016040528060018152602001858152602001620066cd62004fa2565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b031681525090506000816040516020016200670c91906200a59d565b604051602081830303815290604052905062006730601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b81526004016200675f92919062009c3e565b6020604051808303816000875af11580156200677f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620067a591906200a18d565b50620067b062008ea3565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001ca157838290600052602060002001805462006802906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462006830906200a0ce565b8015620068815780601f10620068555761010080835404028352916020019162006881565b820191906000526020600020905b8154815290600101906020018083116200686357829003601f168201915b505050505081526020019060010190620067e0565b600754600090610100900460ff1615620068b95750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620069c85760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200694a917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200a919565b60408051601f198184030181529082905262006966916200a94b565b6000604051808303816000865af19150503d8060008114620069a5576040519150601f19603f3d011682016040523d82523d6000602084013e620069aa565b606091505b5091505080806020019051810190620069c491906200a0ae565b9150505b919050565b6000620069f173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b91505062006a296040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006a4157905050905060405180604001604052806001815260200160508152508160008151811062006a985762006a986200a1dc565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006ad05762006ad06200a1dc565b602002602001018190525060008160405160200162006af091906200a259565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006b2662004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006b6857600080fd5b505af115801562006b7d573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006c0757600080fd5b505af115801562006c1c573d6000803e3d6000fd5b5050505062006c33601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006c6292919062009c3e565b600060405180830381600087803b15801562006c7d57600080fd5b505af115801562006c92573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001efe57600080fd5b600062000b196040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620081b0565b60008062006d9e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b9150915062006dd76040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006dee57905050905060405180604001604052806001815260200160508152508160008151811062006e455762006e456200a1dc565b602002602001018190525060008160405160200162006e6591906200a259565b604051602081830303815290604052905062006e89601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006eb892919062009c3e565b600060405180830381600087803b15801562006ed357600080fd5b505af115801562006ee8573d6000803e3d6000fd5b5050505062006ef662008ea3565b6000606462006f08603260506200a2aa565b62006f1491906200a08b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062006f56906001600160a01b0383169063e0dd2c389060440162003408565b60405163dc96ff2d60e01b81526001600482015262006f89906001600160a01b0383169063dc96ff2d9060240162003408565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006fa057905050905060405180604001604052806001815260200160148152508160008151811062006ff75762006ff76200a1dc565b6020026020010181905250806040516020016200701591906200a259565b604051602081830303815290604052935062007039601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200706892919062009c3e565b600060405180830381600087803b1580156200708357600080fd5b505af115801562007098573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620070d592506001600160a01b038516915063e0dd2c389060440162002190565b60405163dc96ff2d60e01b81526001600482015262005e2a906001600160a01b0384169063dc96ff2d9060240162002190565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200714d57506001600160a01b03811631620071d6565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620071ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620071d391906200a1ad565b90505b92915050565b600062000b196040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620081b0565b6000806200724373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b915091506200727c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200729357905050905060405180604001604052806001815260200160631981525081600081518110620072eb57620072eb6200a1dc565b60200260200101819052506000816040516020016200730b91906200a259565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620073b391906004016200a1c7565b600060405180830381600087803b158015620073ce57600080fd5b505af1158015620073e3573d6000803e3d6000fd5b50505050620073fa601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200742992919062009c3e565b600060405180830381600087803b1580156200744457600080fd5b505af115801562007459573d6000803e3d6000fd5b505050506200746762008ea3565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007521906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620074bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074e391906200a1ad565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b8152600160048201526200220f906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa1580156200756c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200759291906200a1ad565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620090c1565b600062000b196040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620081b0565b6000806200767973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602082015191935091506001600160a01b0381166369fa25c4620076a5670c7d713b49da00006200904c565b6040518263ffffffff1660e01b8152600401620076c491815260200190565b600060405180830381600087803b158015620076df57600080fd5b505af1158015620076f4573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200771a6702c68af0bb1400006200904c565b6040518263ffffffff1660e01b81526004016200773991815260200190565b600060405180830381600087803b1580156200775457600080fd5b505af115801562007769573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200778e66071afd498d00006200904c565b6040518263ffffffff1660e01b8152600401620077ad91815260200190565b600060405180830381600087803b158015620077c857600080fd5b505af1158015620077dd573d6000803e3d6000fd5b50505050620078166040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200782d5790505090506040518060400160405280600181526020016050815250816000815181106200788457620078846200a1dc565b6020026020010181905250600081604051602001620078a491906200a259565b6040516020818303038152906040529050620078c8601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620078f792919062009c3e565b600060405180830381600087803b1580156200791257600080fd5b505af115801562007927573d6000803e3d6000fd5b505050506200793562008ea3565b6000606462007947603260506200a2aa565b6200795391906200a08b565b604051631c1ba58760e31b8152600160048201523060248201529091506200798f906001600160a01b0386169063e0dd2c389060440162002633565b60405163dc96ff2d60e01b815260016004820152620079c2906001600160a01b0386169063dc96ff2d9060240162002633565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007a19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007a3f91906200a1ad565b905062007a726040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200905f565b600062007a87600a6000856289544062007b2f565b905062007ab76040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200905f565b62007ac3828262008f36565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001b52576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001b33575050505050905090565b6000848162007b5162007b4a62989680608087901b6200a08b565b836200915b565b905060806f8000000000000000000000000000000062007b7586629896806200a969565b62007b8584600160801b6200a969565b62007b94629896808a6200a2aa565b62007ba091906200a2aa565b62007bac91906200a08b565b62007bb889856200a2aa565b62007bc491906200a2c4565b62007bd091906200a2c4565b901c979650505050505050565b60008062007bef600080600062006075565b9150915062007c246040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062008e80565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007c6a918491016200a59d565b604051602081830303815290604052905062007c8e601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007cbd92919062009c3e565b6020604051808303816000875af115801562007cdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d0391906200a18d565b5062007d0e62008ea3565b62007d436040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252606491600291600091816020015b604080518082019091526000808252602082015281526020019060019003908162007d605790505090506040518060400160405280838152602001848152508160008151811062007db55762007db56200a1dc565b602002602001018190525062007dd3601c546001600160a01b031690565b6001600160a01b0316632ec38188878360405160200162007df591906200a259565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162007e2392919062009c3e565b600060405180830381600087803b15801562007e3e57600080fd5b505af115801562007e53573d6000803e3d6000fd5b5050505062007e6162008ea3565b6000606462007e726032866200a2aa565b62007e7e91906200a08b565b6020890151604051631c1ba58760e31b8152600481018690523060248201529192509062007ec0906001600160a01b0383169063e0dd2c389060440162003408565b60405163dc96ff2d60e01b81526004810185905262007ef3906001600160a01b0383169063dc96ff2d9060240162003408565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162007f2b91815260200190565b61018060405180830381865afa15801562007f4a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007f7091906200a2ea565b509a50509950995050509750975050505062007fb96040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b62007fee604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b6200801f6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200905f565b620080606040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200905f565b6200809760405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200905f565b600089604051602001620080ad91815260200190565b6040516020818303038152906040529050620080d1601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f60006040519080825280602002602001820160405280156200810c578160200160208202803683370190505b50846040518463ffffffff1660e01b81526004016200812e939291906200a606565b600060405180830381600087803b1580156200814957600080fd5b505af11580156200815e573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b196040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620081bd8262009214565b5092915050565b620081ce62009349565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620081f262004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200823457600080fd5b505af115801562008249573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620082b762004fa2565b620082c16200493c565b6040518563ffffffff1660e01b8152600401620082e294939291906200a63f565b6020604051808303816000875af115801562008302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200832891906200a1ad565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008375573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200839f91908101906200a97f565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620083e662006d37565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200842857600080fd5b505af11580156200843d573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620084bc62006d37565b620084c662003bdc565b6040518563ffffffff1660e01b8152600401620084e794939291906200aa55565b6020604051808303816000875af115801562008507573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200852d91906200a1ad565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200857a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620085a491908101906200a97f565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620085eb62001a74565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200862d57600080fd5b505af115801562008642573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620086c162001a74565b620086cb6200591d565b6040518563ffffffff1660e01b8152600401620086ec94939291906200aac7565b6020604051808303816000875af11580156200870c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200873291906200a1ad565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200877f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620087a991908101906200a97f565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620087f2620049ed565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200883457600080fd5b505af115801562008849573d6000803e3d6000fd5b505050506040516200885b9062009a41565b604051809103906000f08015801562008878573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb8620088a7620049ed565b83620088b2620075d0565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200891857600080fd5b505af11580156200892d573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200899057600080fd5b505af11580156200220f573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa1864991620089fe9160040190815260200190565b602060405180830381865afa15801562008a1c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a4291906200a18d565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008ae357600080fd5b505af115801562008af8573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062008e1a905057600060405162008b2490620099b0565b604051809103906000f08015801562008b41573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008b6390620099be565b604051809103906000f08015801562008b80573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008bdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008c0391906200a18d565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008c8693920416620093fa565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008d1757600080fd5b505af115801562008d2c573d6000803e3d6000fd5b50600092506001915062008d3d9050565b60405190808252806020026020018201604052801562008d67578160200160208202803683370190505b50602b5481519192506001600160a01b031690829060009062008d8e5762008d8e6200a1dc565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d9062008de290849060019060009081908190819081906004016200a1f2565b600060405180830381600087803b15801562008dfd57600080fd5b505af115801562008e12573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b81151583151514620013ee577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405162008e6c91906200ab16565b60405180910390a1620013ee83836200945c565b60295460ff161562008ea057602762008e9a82826200aba9565b505a6028555b50565b60295460ff161562008f345760005a9050600060648260285462008ec891906200a969565b62008ed491906200a969565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8602760405160200162008f0b91906200ac76565b60408051601f198184030181529082905262008f299184906200ad19565b60405180910390a150505b565b80821462009048577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162008fc49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88260405162008ffd91906200ad3d565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200903691906200ad76565b60405180910390a162009048620095ee565b5050565b6000620071d664174876e800836200a08b565b620090488282604051602401620090789291906200ad19565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d00000000000000000000000000000000000000000000000000000000017905262009701565b818314620013ee577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620090fa91906200ab16565b60405180910390a1620013ee838362008f36565b818314620013ee577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200914791906200ab16565b60405180910390a1620013ee838362009722565b6000600160801b8310620091b65760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b80156200920c5780600116600003620091e957620091de828362009822565b915060011c620091bf565b620091f5838362009822565b9250620092046001826200a969565b9050620091bf565b505092915050565b600080826040516020016200922a91906200a94b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620092ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620092d291906200a18d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200931090859087906004016200ada1565b600060405180830381600087803b1580156200932b57600080fd5b505af115801562009340573d6000803e3d6000fd5b50505050915091565b604051620093579062009a4f565b604051809103906000f08015801562009374573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de8620093a362007612565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620093e557600080fd5b505af115801562005917573d6000803e3d6000fd5b620090488282604051602401620094139291906200adc5565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905262009701565b8015158215151462009048577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620094ee9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009541576040518060400160405280600581526020016466616c736560d81b8152506200955f565b604051806040016040528060048152602001637472756560e01b8152505b6040516200956e91906200adf2565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620095c1576040518060400160405280600581526020016466616c736560d81b815250620095df565b604051806040016040528060048152602001637472756560e01b8152505b6040516200903691906200ae31565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620096f05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200968b92916020016200a919565b60408051601f1981840301815290829052620096a7916200a94b565b6000604051808303816000865af19150503d8060008114620096e6576040519150601f19603f3d011682016040523d82523d6000602084013e620096eb565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b80821462009048577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097b09060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9982604051620097e991906200ad3d565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200903691906200ad76565b6000600160801b831115620098a05760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620091ad565b600160801b8210620098f55760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620091ad565b60806f800000000000000000000000000000006200991484866200a2aa565b6200992091906200a2c4565b901c9392505050565b610e67806200ae5d83390190565b612768806200bcc483390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620099a3604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e42c83390190565b613594806200ec7e83390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009a1f604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201221283390190565b6135c180620156a383390190565b612eb68062018c6483390190565b6001600160a01b038116811462008ea057600080fd5b60006020828403121562009a8657600080fd5b813562009a938162009a5d565b9392505050565b600081518084526020808501945080840160005b8381101562009ad55781516001600160a01b03168752958201959082019060010162009aae565b509495945050505050565b60208152600062009a93602083018462009a9a565b60005b8381101562009b1257818101518382015260200162009af8565b50506000910152565b6000815180845262009b3581602086016020860162009af5565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009bff57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009be857605f1989850301835262009bd584865162009b1b565b948e01949350918d019160010162009bb6565b505050978a01979450509188019160010162009b70565b50919a9950505050505050505050565b801515811462008ea057600080fd5b60006020828403121562009c3157600080fd5b813562009a938162009c0f565b82815260406020820152600062009c59604083018462009b1b565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009d0957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009cf35783516001600160e01b0319168252928b019260019290920191908b019062009cc7565b50978a0197955050509187019160010162009c89565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171562009d545762009d5462009d18565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562009d865762009d8662009d18565b604052919050565b600067ffffffffffffffff82111562009dab5762009dab62009d18565b50601f01601f191660200190565b60008060006060848603121562009dcf57600080fd5b833562009ddc8162009a5d565b925060208401359150604084013567ffffffffffffffff81111562009e0057600080fd5b8401601f8101861362009e1257600080fd5b803562009e2962009e238262009d8e565b62009d5a565b81815287602083850101111562009e3f57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562009eb857603f1988860301845262009ea585835162009b1b565b9450928501929085019060010162009e86565b5092979650505050505050565b600080600080600060a0868803121562009ede57600080fd5b853562009eeb8162009a5d565b9450602086013562009efd8162009a5d565b9350604086013562009f0f8162009a5d565b9250606086013562009f218162009a5d565b9150608086013562009f338162009a5d565b809150509295509295909350565b60008060006060848603121562009f5757600080fd5b833562009f648162009a5d565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009c59604085018262009b1b565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a084015262009fe661010084018262009f79565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a01857600080fd5b82356200a0258162009a5d565b915060208301356200a0378162009a5d565b809150509250929050565b600080600080608085870312156200a05957600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a0a957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a0c157600080fd5b815162009a938162009c0f565b600181811c908216806200a0e357607f821691505b6020821081036200a10457634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a16761010085018262009f79565b90508160c08601511660e0850152809250505092915050565b8051620069c88162009a5d565b6000602082840312156200a1a057600080fd5b815162009a938162009a5d565b6000602082840312156200a1c057600080fd5b5051919050565b60208152600062009a93602083018462009b1b565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a2088184018b62009a9a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a29d578151805185528601518685015292840192908501906001016200a276565b5091979650505050505050565b8082028115828204841417620071d657620071d66200a075565b80820180821115620071d657620071d66200a075565b805160048110620069c857600080fd5b6000806000806000806000806000806000806101808d8f0312156200a30e57600080fd5b8c516200a31b8162009a5d565b60208e0151909c506200a32e8162009a5d565b60408e0151909b506200a3418162009a5d565b809a505060608d0151985060808d0151975060a08d0151600381106200a36657600080fd5b96506200a37660c08e016200a2da565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a3d8576200a3d86200a3af565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a4088285018d62009b1b565b92506200a419606085018c6200a3c5565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a46462009e238462009d8e565b90508281528383830111156200a47957600080fd5b62009a9383602083018462009af5565b6000602082840312156200a49c57600080fd5b815167ffffffffffffffff8111156200a4b457600080fd5b8201601f810184136200a4c657600080fd5b62009c59848251602084016200a453565b6000806000606084860312156200a4ed57600080fd5b835160ff811681146200a4ff57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a5428285018d62009b1b565b91506200a553606085018c6200a3c5565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a58c818562009b1b565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a5e2576200a5e26200a3af565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a621606083018562009a9a565b82810360408401526200a635818562009b1b565b9695505050505050565b84815260a0602082015260006200a68360a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a697818762009f79565b90506001600160a01b038516606084015282810360808401526200a6bc818562009a9a565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a6f360e085018a62009b1b565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200a72a816200a0ce565b806040870152868216600081146200a74b57600181146200a766576200a796565b60ff1983168787015281151560051b8701860193506200a796565b846000528860002060005b838110156200a78e578154898201890152908901908a016200a771565b880187019450505b50505087810360c08901526200a7ad818a62009a9a565b9f9e505050505050505050505050505050565b600082601f8301126200a7d257600080fd5b62009a93838351602085016200a453565b6000604082840312156200a7f657600080fd5b6040516040810167ffffffffffffffff82821081831117156200a81d576200a81d62009d18565b816040528293508451835260208501519150808211156200a83d57600080fd5b506200a84c858286016200a7c0565b6020830152505092915050565b6000602082840312156200a86c57600080fd5b815167ffffffffffffffff808211156200a88557600080fd5b9083019060c082860312156200a89a57600080fd5b6200a8a462009d2e565b8251815260208301516200a8b88162009a5d565b602082015260408301516200a8cd8162009a5d565b60408201526060830151828111156200a8e557600080fd5b6200a8f3878286016200a7e3565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200a93d81600485016020870162009af5565b919091016004019392505050565b600082516200a95f81846020870162009af5565b9190910192915050565b81810381811115620071d657620071d66200a075565b6000602082840312156200a99257600080fd5b815167ffffffffffffffff808211156200a9ab57600080fd5b9083019060c082860312156200a9c057600080fd5b6200a9ca62009d2e565b82518152602083015160208201526040830151828111156200a9eb57600080fd5b6200a9f9878286016200a7c0565b6040830152506060830151828111156200aa1257600080fd5b6200aa20878286016200a7e3565b6060830152506200aa34608084016200a180565b60808201526200aa4760a084016200a180565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200aaa460e083018662009f79565b6001600160a01b038516606084015282810360808401526200a6bc818562009a9a565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200aaa460e083018662009f79565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009a93608083018462009b1b565b601f821115620013ee57600081815260208120601f850160051c810160208610156200ab885750805b601f850160051c820191505b8181101562003795578281556001016200ab94565b815167ffffffffffffffff8111156200abc6576200abc662009d18565b6200abde816200abd784546200a0ce565b846200ab5f565b602080601f8311600181146200ac1657600084156200abfd5750858301515b600019600386901b1c1916600185901b17855562003795565b600085815260208120601f198616915b828110156200ac47578886015182559484019460019091019084016200ac26565b50858210156200ac665787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200ac86816200a0ce565b600182811680156200aca157600181146200acb7576200ace8565b60ff19841687528215158302870194506200ace8565b8760005260208060002060005b858110156200acdf5781548a8201529084019082016200acc4565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200ad2e604083018562009b1b565b90508260208301529392505050565b6040815260006200ad6860408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200ad6860408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009c59604083018462009b1b565b6040815260006200adda604083018562009b1b565b90506001600160a01b03831660208301529392505050565b6040815260006200ae1d60408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009c59818562009b1b565b6040815260006200ae1d60408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a2646970667358221220706362fc6a45246c58c109b54388bc76bbd54f18e8b333536ba83ba5a0d7765064736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;1525:28777:97;534:52:96;;;1572:26:44;1525:28777:97;534:52:96;;;;;;-1:-1:-1;;;534:52:96;;;;;;507:79;;;;1525:28777:97;;507:79:96;;;;;;;:::i;:::-;-1:-1:-1;;194:1:99;158:37;;;;226:34;;;-1:-1:-1;;226:34:99;;;339::100;;-1:-1:-1;1700:5:97;1672:33;;1525:28777;;;;;;;;;;;;14:127:101;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;:::-;1525:28777:97;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200062c5760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000aac578063fc0c546a1462000aba578063fd325c601462000ace57600080fd5b8063e99ce9111462000a81578063eaeb71951462000a98578063ef0d790f1462000aa257600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a63578063de8a13541462000a6d578063e20c9f711462000a7757600080fd5b8063d97d05781462000a4f578063da4bf0871462000a5957600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a1c578063d5bee9f51462000a33578063d6d8428d1462000a3d57600080fd5b8063d1e82b5814620009fe578063d1f2cd881462000a08578063d25bba071462000a1257600080fd5b8063bc1687c011620001a0578063bc1687c014620009d8578063beda3db314620009e2578063c5d7d73b14620009ec57600080fd5b8063b5508aa914620009b3578063ba414fa614620009bd57600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd146200096b578063ae1596011462000975578063b188bdc4146200098c57600080fd5b8063a0cf0aea146200093b578063a407c67a1462000957578063a6f2b82f146200096157600080fd5b8063914a5f6d1162000268578063914a5f6d1462000910578063916a17c614620009275780639a45ff89146200093157600080fd5b8063902d55a514620008fc57806390ff95a4146200090657600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008de5780638e0d1a5014620008e85780638e3c249314620008f257600080fd5b8063896546a114620008ca5780638c7408c414620006b557600080fd5b8063829e423f1162000318578063829e423f14620006b557806385226c8114620008a7578063879ee88c14620008c057600080fd5b80637b2edf3214620008935780637cbe79ed146200089d57600080fd5b806339f56f7f11620004b957806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200086d57806379e62d0d14620008775780637b103999146200088157600080fd5b806374d9284e14620006b5578063757e122d1462000859578063759c9a86146200086357600080fd5b80636c53db9a11620003ec5780636c53db9a146200081f5780636db52510146200083857806370a32944146200084f57600080fd5b806366d9a9a014620007fc5780636a38dd0a146200081557600080fd5b8063587c124311620004675780635aff5999116200044a5780635aff599914620007de57806361164d4e14620007e857806366d003ac14620007f257600080fd5b8063587c124314620007ca5780635a2bcc1814620007d457600080fd5b80633f7286f4116200049c5780633f7286f414620007ac5780634bf4ba2114620007b6578063503c712e14620007c057600080fd5b806339f56f7f14620007995780633e5e3c2314620007a257600080fd5b80631854036111620005815780632ade3880116200052f5780633554642a11620005065780633554642a1462000763578063392f37e9146200077557806339b7e525146200078f57600080fd5b80632ade3880146200071c5780632d0e673114620007355780632da49647146200075957600080fd5b80631b96dce611620005645780631b96dce614620006ef5780631e7bcb2e14620006f95780631ed7831c146200070357600080fd5b80631854036114620006cf5780631ae726d914620006d857600080fd5b80630a9254e411620005df578063136994c011620005c2578063136994c014620006ab578063174eedde14620006b5578063176effb314620006bd57600080fd5b80630a9254e414620006985780630f166ad414620006a457600080fd5b80630522b7db11620006145780630522b7db14620006625780630688b135146200067657806308dbbb03146200068057600080fd5b8062b1fad71462000631578063030e40061462000658575b600080fd5b6200063b62000ad7565b6040516001600160a01b0390911681526020015b60405180910390f35b6200063b62000b1e565b602a546200063b906001600160a01b031681565b6200063b62000b60565b62000689603281565b6040519081526020016200064f565b620006a262000ba2565b005b306200063b565b620006a2620013f3565b60006200063b565b601f546001600160a01b03166200063b565b60225462000689565b6200063b620006e936600462009a73565b62001729565b6200063b62001a74565b6200063b62001ab6565b6200070d62001af8565b6040516200064f919062009ae0565b6200072662001b5c565b6040516200064f919062009b49565b620006a26200074636600462009c1e565b6029805460ff1916911515919091179055565b620006a262001caa565b6023546001600160a01b03166200063b565b6200077f62001f21565b6040516200064f92919062009c3e565b620006a262001fc0565b60205462000689565b6200070d62002216565b6200070d62002278565b6200070d620022da565b620006a2620022fd565b6200063b6200319f565b62000689602e5481565b6200063b620031e1565b620006a262003223565b6200063b6200379d565b62000806620037df565b6040516200064f919062009c61565b6200063b620038c9565b6029546200063b9061010090046001600160a01b031681565b620006a26200084936600462009db9565b6200390b565b6200070d62003bdc565b620006a262003c7e565b6200063b620048fa565b62000689602c5481565b6200070d6200493c565b601d546001600160a01b03166200063b565b6200063b620049ab565b6200063b620049ed565b620008b162004a2f565b6040516200064f919062009e5f565b620006896103e881565b602b546200063b906001600160a01b031681565b620006a262004b09565b6200063b62004fa2565b6200063b62004fe4565b6200068961afc881565b620006a262005026565b620006896200092136600462009a73565b6200555b565b6200080662005638565b620006a262005722565b6200063b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200070d6200591d565b620006a26200598c565b6200063b62005e33565b620006896200098636600462009ec5565b62005e75565b620009a36200099d36600462009f41565b62006075565b6040516200064f92919062009f9a565b620008b1620067bc565b620009c762006896565b60405190151581526020016200064f565b620006a2620069cd565b62000689613a9881565b6021546001600160a01b03166200063b565b6200063b62006cf5565b6200063b62006d37565b620006a262006d79565b6200068962000a2d3660046200a004565b62007108565b6200063b620071dc565b601c546001600160a01b03166200063b565b620006a26200721e565b6200063b620075d0565b6200063b62007612565b620006a262007654565b6200070d62007acd565b6200068962000a923660046200a042565b62007b2f565b620006a262007bdd565b6200063b62008173565b600754620009c79060ff1681565b602d546200063b906001600160a01b031681565b601e5462000689565b600062000b196040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620081b0565b905090565b600062000b196040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620081b0565b600062000b196040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620081b0565b62000bac620081c4565b62000bc962000bc3601d546001600160a01b031690565b620087ce565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000bed620049ed565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c2f57600080fd5b505af115801562000c44573d6000803e3d6000fd5b5050505062000c5b601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000cb957600080fd5b505af115801562000cce573d6000803e3d6000fd5b5050505062000ce5601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d4357600080fd5b505af115801562000d58573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dbb57600080fd5b505af115801562000dd0573d6000803e3d6000fd5b5050505060405162000de29062009929565b604051809103906000f08015801562000dff573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e34600261afc86200a08b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e7b57600080fd5b505af115801562000e90573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000eb162004fa2565b62000ec0600261afc86200a08b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f0757600080fd5b505af115801562000f1c573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f46601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fbb91906200a0ae565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000fe0620049ed565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200102257600080fd5b505af115801562001037573d6000803e3d6000fd5b505050506200104e601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200109f57600080fd5b505af1158015620010b4573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200111757600080fd5b505af11580156200112c573d6000803e3d6000fd5b505050506000604051620011409062009937565b604051809103906000f0801580156200115d573d6000803e3d6000fd5b5090506200116a62009945565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011be906200a0ce565b80601f0160208091040260200160405190810160405280929190818152602001828054620011ec906200a0ce565b80156200123d5780601f1062001211576101008083540402835291602001916200123d565b820191906000526020600020905b8154815290600101906020018083116200121f57829003601f168201915b5050509190925250505060a082015262001256620089a5565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012a69084906004016200a10a565b6020604051808303816000875af1158015620012c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012ec91906200a18d565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa15801562001356573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200137c91906200a1ad565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013ee91906200a0ae565b505050565b60008062001405600080600062006075565b60208083015160408051600480825260248201835293810180516001600160e01b03167fd5b9bc9600000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148792016200a1c7565b600060405180830381600087803b158015620014a257600080fd5b505af1158015620014b7573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f757600080fd5b505af11580156200150c573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d56915062001537905062004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200157957600080fd5b505af11580156200158e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620015ce57600080fd5b505af1158015620015e3573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200164657600080fd5b505af11580156200165b573d6000803e3d6000fd5b5050602f54620013ee92506001600160a01b0316905063a230c5246200168062004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620016c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016eb91906200a0ae565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062008e2f565b602a546000906001600160a01b031662001a635760006040516200174d90620099b0565b604051809103906000f0801580156200176a573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200178c90620099be565b604051809103906000f080158015620017a9573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001806573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200182c91906200a18d565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620018cf57600080fd5b505af1158015620018e4573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b1580156200197457600080fd5b505af115801562001989573d6000803e3d6000fd5b5060009250600191506200199a9050565b604051908082528060200260200182016040528015620019c4578160200160208202803683370190505b5090508481600081518110620019de57620019de6200a1dc565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001a2b90849060019060009081908190819081906004016200a1f2565b600060405180830381600087803b15801562001a4657600080fd5b505af115801562001a5b573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b196040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620081b0565b6060601480548060200260200160405190810160405280929190818152602001828054801562001b5257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001b33575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001ca157600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001c8957838290600052602060002001805462001bf5906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462001c23906200a0ce565b801562001c745780601f1062001c485761010080835404028352916020019162001c74565b820191906000526020600020905b81548152906001019060200180831162001c5657829003601f168201915b50505050508152602001906001019062001bd3565b50505050815250508152602001906001019062001b80565b50505050905090565b600062001cce73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b91505062001d066040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162001d1e57905050905060405180604001604052806001815260200160508152508160008151811062001d755762001d756200a1dc565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062001dad5762001dad6200a1dc565b602002602001018190525060008160405160200162001dcd91906200a259565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162001e6d91906004016200a1c7565b600060405180830381600087803b15801562001e8857600080fd5b505af115801562001e9d573d6000803e3d6000fd5b5050505062001eb4601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162001ee392919062009c3e565b600060405180830381600087803b15801562001efe57600080fd5b505af115801562001f13573d6000803e3d6000fd5b50505050620013ee62008ea3565b602480546025805491929162001f37906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462001f65906200a0ce565b801562001fb65780601f1062001f8a5761010080835404028352916020019162001fb6565b820191906000526020600020905b81548152906001019060200180831162001f9857829003601f168201915b5050505050905082565b60008062001fe573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b915091506200201e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620020365790505090506040518060400160405280600181526020016064815250816000815181106200208d576200208d6200a1dc565b602002602001018190525080600181518110620020ae57620020ae6200a1dc565b5050604051600090620020c69083906020016200a259565b6040516020818303038152906040529050620020ea601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200211992919062009c3e565b600060405180830381600087803b1580156200213457600080fd5b505af115801562002149573d6000803e3d6000fd5b505050506200215762008ea3565b6020840151604051631c1ba58760e31b815260016004820152306024820152620021dc906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620021ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021d491906200a1ad565b603262008f36565b60405163dc96ff2d60e01b8152600160048201526200220f906001600160a01b0383169063dc96ff2d9060240162002190565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001b52576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001b33575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001b52576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001b33575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200232060006802b5e3af16b1880000683635c9adc5dea0000062006075565b602082015191935091506001600160a01b0381166369fa25c46200234c670dd46c08316590006200904c565b6040518263ffffffff1660e01b81526004016200236b91815260200190565b600060405180830381600087803b1580156200238657600080fd5b505af11580156200239b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620023c167016345785d8a00006200904c565b6040518263ffffffff1660e01b8152600401620023e091815260200190565b600060405180830381600087803b158015620023fb57600080fd5b505af115801562002410573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620024356601c6bf526340006200904c565b6040518263ffffffff1660e01b81526004016200245491815260200190565b600060405180830381600087803b1580156200246f57600080fd5b505af115801562002484573d6000803e3d6000fd5b50505050620024bd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620024d857905050905060405180604001604052806001815260200183815250816000815181106200252e576200252e6200a1dc565b60200260200101819052506000816040516020016200254e91906200a259565b604051602081830303815290604052905062002572601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620025a192919062009c3e565b600060405180830381600087803b158015620025bc57600080fd5b505af1158015620025d1573d6000803e3d6000fd5b50505050620025df62008ea3565b60006064620025f06032866200a2aa565b620025fc91906200a08b565b604051631c1ba58760e31b8152600160048201523060248201529091506200267e906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002651573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200267791906200a1ad565b8262008f36565b60405163dc96ff2d60e01b815260016004820152620026b1906001600160a01b0387169063dc96ff2d9060240162002633565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620026d562004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200271757600080fd5b505af11580156200272c573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200276c57600080fd5b505af115801562002781573d6000803e3d6000fd5b506000925060019150620027929050565b604051908082528060200260200182016040528015620027d957816020015b6040805180820190915260008082526020820152815260200190600190039081620027b15790505b50905060006064905060405180604001604052806001815260200182815250826000815181106200280e576200280e6200a1dc565b6020026020010181905250816040516020016200282c91906200a259565b604051602081830303815290604052935062002850601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b81526004016200287f92919062009c3e565b600060405180830381600087803b1580156200289a57600080fd5b505af1158015620028af573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200291257600080fd5b505af115801562002927573d6000803e3d6000fd5b50505050600060646032836200293e91906200a2aa565b6200294a91906200a08b565b90506200299e886001600160a01b031663e0dd2c3860016200296b62004fa2565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002633565b60405163dc96ff2d60e01b81526001600482015262002a21906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa158015620029e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a0f91906200a1ad565b62002a1b83876200a2c4565b62008f36565b62002a626040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200905f565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002aa3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ac991906200a1ad565b905062002b0c6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250826200905f565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ba591906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002b79573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b9f91906200a1ad565b6200905f565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002c5f91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002c1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002c4091906200a1ad565b6040518263ffffffff1660e01b815260040162002b5b91815260200190565b60405163950559d760e01b81526004810182905262002cfe906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002caa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cd091906200a1ad565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620090c1565b60405163dc96ff2d60e01b81526001600482015262002e07906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562002d51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d7791906200a1ad565b6040518263ffffffff1660e01b815260040162002d9691815260200190565b602060405180830381865afa15801562002db4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dda91906200a1ad565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620090c1565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b15801562002e5557600080fd5b505af115801562002e6a573d6000803e3d6000fd5b5050505062002eaf6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200905f565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af115801562002ef7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f1d91906200a1ad565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162002f5691815260200190565b61018060405180830381865afa15801562002f75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f9b91906200a2ea565b9b509b50509a505050509750975050505062002fe46040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b62003019604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b6200304a6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200905f565b6200308160405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200905f565b620030c26040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200905f565b620031068261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620090c1565b6200314a836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620090c1565b6200318d8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620090c1565b50505050505050505050505050505050565b600062000b196040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620081b0565b6000806200324873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602f5460405161afc86024820152929450909250620032b5916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200390b565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620032cc5790505090506040518060400160405280600181526020016064815250816000815181106200332357620033236200a1dc565b60200260200101819052506000816040516020016200334391906200a259565b604051602081830303815290604052905062003367601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200339692919062009c3e565b600060405180830381600087803b158015620033b157600080fd5b505af1158015620033c6573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003453906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003426573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200344c91906200a1ad565b8362008f36565b60405163dc96ff2d60e01b81526001600482015262003486906001600160a01b0383169063dc96ff2d9060240162003408565b60405180604001604052806001815260200160631981525084600081518110620034b457620034b46200a1dc565b602002602001018190525083604051602001620034d291906200a259565b6040516020818303038152906040529250620034f6601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200352592919062009c3e565b600060405180830381600087803b1580156200354057600080fd5b505af115801562003555573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200360e92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620035aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620035d091906200a1ad565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b815260016004820152620036bd906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003659573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200367f91906200a1ad565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620090c1565b62003764816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200372691906200a1ad565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620090c1565b602f546040516032602482015262003795916001600160a01b0316906000906318fb0de560e11b906044016200327d565b505050505050565b600062000b196040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620081b0565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001ca15760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620038b057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620038715790505b5050505050815250508152602001906001019062003803565b600062000b196040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620081b0565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003991573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620039b791906200a1ad565b6040518b63ffffffff1660e01b8152600401620039de9a999897969594939291906200a3dc565b600060405180830381865afa158015620039fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003a2691908101906200a489565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003aad573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ad391906200a4d7565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003b8a908c908c908c90600090819081908190819081908d906065016200a516565b6020604051808303816000875af115801562003baa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003bd091906200a0ae565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003c0b62001ab6565b8160008151811062003c215762003c216200a1dc565b60200260200101906001600160a01b031690816001600160a01b03168152505062003c4b620049ab565b8160018151811062003c615762003c616200a1dc565b6001600160a01b0390921660209283029190910190910152919050565b60008062003ca373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b9150915062003cdc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003cf7579050509050604051806040016040528060018152602001838152508160008151811062003d4d5762003d4d6200a1dc565b602002602001018190525060008160405160200162003d6d91906200a259565b604051602081830303815290604052905062003d91601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162003dc092919062009c3e565b600060405180830381600087803b15801562003ddb57600080fd5b505af115801562003df0573d6000803e3d6000fd5b5050505062003dfe62008ea3565b6000606462003e0f6032866200a2aa565b62003e1b91906200a08b565b6020870151604051631c1ba58760e31b8152600160048201523060248201529192509062003ed8906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562003e75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e9b91906200a1ad565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b81526001600482015262003f0b906001600160a01b0383169063dc96ff2d9060240162003408565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662003f2f62004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562003f7157600080fd5b505af115801562003f86573d6000803e3d6000fd5b5050505060006002905060006040518060c0016040528083815260200189815260200162003fb362004fa2565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b0316604092830152905191925060009162003ff9918491016200a59d565b60405160208183030381529060405290506200401d601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200404c92919062009c3e565b6020604051808303816000875af11580156200406c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200409291906200a18d565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620040ea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200411091906200a1ad565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200415c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200418291906200a0ae565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620041bf57600080fd5b505af1158015620041d4573d6000803e3d6000fd5b506000925060019150620041e59050565b6040519080825280602002602001820160405280156200422c57816020015b6040805180820190915260008082526020820152815260200190600190039081620042045790505b509050600060649050604051806040016040528086815260200182815250826000815181106200426057620042606200a1dc565b6020026020010181905250816040516020016200427e91906200a259565b6040516020818303038152906040529750620042a2601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620042d192919062009c3e565b600060405180830381600087803b158015620042ec57600080fd5b505af115801562004301573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200436457600080fd5b505af115801562004379573d6000803e3d6000fd5b50505050600060646032836200439091906200a2aa565b6200439c91906200a08b565b90506200446a876001600160a01b031663e0dd2c3888620043bc62004fa2565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004407573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200442d91906200a1ad565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b81526004810187905262004518906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620044b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620044db91906200a1ad565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620090c1565b620045596040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200905f565b620045cf6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002c1a573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200462b91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002bfc565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200467957600080fd5b505af11580156200468e573d6000803e3d6000fd5b50505050620046d36040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200905f565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af11580156200471b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200474191906200a1ad565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200477a91815260200190565b61018060405180830381865afa15801562004799573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047bf91906200a2ea565b9b509b50509a5050505097509750505050620048086040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b6200483d604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b6200486e6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200905f565b620048a560405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200905f565b620048e66040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200905f565b505050505050505050505050505050505050565b600062000b196040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620081b0565b604080516002808252606080830184529260009291906020830190803683370190505090506200496b62000ad7565b816000815181106200498157620049816200a1dc565b60200260200101906001600160a01b031690816001600160a01b03168152505062003c4b620038c9565b600062000b196040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620081b0565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001ca157838290600052602060002001805462004a75906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462004aa3906200a0ce565b801562004af45780601f1062004ac85761010080835404028352916020019162004af4565b820191906000526020600020905b81548152906001019060200180831162004ad657829003601f168201915b50505050508152602001906001019062004a53565b60008062004b2e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b9150915062004b676040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004b82579050509050604051806040016040528060018152602001838152508160008151811062004bd85762004bd86200a1dc565b602002602001018190525062004bf6601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004c1891906200a259565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004c4692919062009c3e565b600060405180830381600087803b15801562004c6157600080fd5b505af115801562004c76573d6000803e3d6000fd5b5050505062004c8462008ea3565b6000606462004c956032856200a2aa565b62004ca191906200a08b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004ce3906001600160a01b0383169063e0dd2c389060440162003408565b60405163dc96ff2d60e01b81526001600482015262004d16906001600160a01b0383169063dc96ff2d9060240162003408565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004d4f91815260200190565b61018060405180830381865afa15801562004d6e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004d9491906200a2ea565b509a5050995099505050975097505096505062004dde6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b62004e13604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b62004e446040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200905f565b62004e856040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200905f565b62004ebc60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200905f565b604080516000808252602082018352600182840152825180830384018152606083018452928f015191929162004ef3908a62007108565b905062004f0281600062008f36565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b815260040162004f3f939291906200a606565b600060405180830381600087803b15801562004f5a57600080fd5b505af115801562004f6f573d6000803e3d6000fd5b5050505062004f838f604001518a62007108565b905062004f91818962008f36565b505050505050505050505050505050565b600062000b196040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620081b0565b6000806200504b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602082015191935091506001600160a01b0381166369fa25c462005077670c7d713b49da00006200904c565b6040518263ffffffff1660e01b81526004016200509691815260200190565b600060405180830381600087803b158015620050b157600080fd5b505af1158015620050c6573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620050ec6702c68af0bb1400006200904c565b6040518263ffffffff1660e01b81526004016200510b91815260200190565b600060405180830381600087803b1580156200512657600080fd5b505af11580156200513b573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200516066071afd498d00006200904c565b6040518263ffffffff1660e01b81526004016200517f91815260200190565b600060405180830381600087803b1580156200519a57600080fd5b505af1158015620051af573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620051ea92506001600160a01b03909116906000906318fb0de560e11b906044016200327d565b6200521f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620052365790505090506040518060400160405280600181526020016064815250816000815181106200528d576200528d6200a1dc565b6020026020010181905250600081604051602001620052ad91906200a259565b6040516020818303038152906040529050620052d1601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b81526004016200530092919062009c3e565b600060405180830381600087803b1580156200531b57600080fd5b505af115801562005330573d6000803e3d6000fd5b505050506200533e62008ea3565b604051631c1ba58760e31b815260016004820152306024820152620053bd906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa15801562005390573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620053b691906200a1ad565b8462008f36565b60405163dc96ff2d60e01b815260016004820152620053f0906001600160a01b0386169063dc96ff2d9060240162005372565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa1580156200544a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200547091906200a1ad565b9050620054a36040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200905f565b6000620054b8600a6000856289544062007b2f565b9050620054e86040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200905f565b620054f4828262008f36565b6200550283613a9862008f36565b620055108661afc862008f36565b6200551f8262017da262008f36565b602f546040516032602482015262005550916001600160a01b0316906000906318fb0de560e11b906044016200327d565b505050505050505050565b6026546000906200563057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620055bb62004fa2565b620055c56200493c565b6040518563ffffffff1660e01b8152600401620055e694939291906200a63f565b6020604051808303816000875af115801562005606573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200562c91906200a1ad565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001ca15760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200570957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620056ca5790505b505050505081525050815260200190600101906200565c565b60006200574673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b91505060006040518060c00160405280600181526020018381526020016200576d62004fa2565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03168152509050600081604051602001620057c291906200a59d565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200585b91906004016200a1c7565b600060405180830381600087803b1580156200587657600080fd5b505af11580156200588b573d6000803e3d6000fd5b50505050620058a2601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b8152600401620058d192919062009c3e565b6020604051808303816000875af1158015620058f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200591791906200a18d565b50505050565b604080516002808252606080830184529260009291906020830190803683370190505090506200594c6200319f565b816000815181106200596257620059626200a1dc565b60200260200101906001600160a01b031690816001600160a01b03168152505062003c4b62004fe4565b600080620059b173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602082015191935091506001600160a01b0381166369fa25c4620059dd670c7d713b49da00006200904c565b6040518263ffffffff1660e01b8152600401620059fc91815260200190565b600060405180830381600087803b15801562005a1757600080fd5b505af115801562005a2c573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005a526702c68af0bb1400006200904c565b6040518263ffffffff1660e01b815260040162005a7191815260200190565b600060405180830381600087803b15801562005a8c57600080fd5b505af115801562005aa1573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005ac666071afd498d00006200904c565b6040518263ffffffff1660e01b815260040162005ae591815260200190565b600060405180830381600087803b15801562005b0057600080fd5b505af115801562005b15573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005b4d93506001600160a01b0390911691506000906318fb0de560e11b906044016200327d565b62005b826040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005b9957905050905060405180604001604052806001815260200160648152508160008151811062005bf05762005bf06200a1dc565b602002602001018190525060008160405160200162005c1091906200a259565b604051602081830303815290604052905062005c34601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005c6392919062009c3e565b600060405180830381600087803b15801562005c7e57600080fd5b505af115801562005c93573d6000803e3d6000fd5b5050505062005ca162008ea3565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005cde906001600160a01b0386169063e0dd2c389060440162002633565b60405163dc96ff2d60e01b81526001600482015262005d11906001600160a01b0386169063dc96ff2d9060240162002633565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562005d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005d9a91906200a1ad565b905062005ddd6040518060400160405280600c81526020017f7468726573686f6c642025730000000000000000000000000000000000000000815250826200905f565b62005deb8261afc862008f36565b62005df98161c5c162008f36565b602f546040516032602482015262005e2a916001600160a01b0316906000906318fb0de560e11b906044016200327d565b50505050505050565b600062000b196040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620081b0565b604080516080810182526000808252602082018190529181018290526060810182905262005eab670de0a46bc207d8006200904c565b602082015262005ec36702c68af0bb1400006200904c565b604082015262005eda66038d7ea4c680006200904c565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062005f285762005f286200a1dc565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062005f5f5762005f5f6200a1dc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562005f965750835b886001600160a01b031663e1007d4a62005fb0886200555b565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200602297969594939291906200a6c7565b6020604051808303816000875af115801562006042573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200606891906200a1ad565b9998505050505050505050565b6200607f620099cc565b60008360000362006090576103e893505b826000036200609f57613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620060d15750602d546001600160a01b03165b620061026040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062008e80565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200612662004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200616857600080fd5b505af11580156200617d573d6000803e3d6000fd5b50505050600062006196601c546001600160a01b031690565b604051620061a49062009a33565b6001600160a01b039091168152602001604051809103906000f080158015620061d1573d6000803e3d6000fd5b50905062006212620061eb601c546001600160a01b031690565b82620061ff602f546001600160a01b031690565b601d546001600160a01b03168662005e75565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200627357600080fd5b505af115801562006288573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620062c857600080fd5b505af1158015620062dd573d6000803e3d6000fd5b50505050620062f4601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200632291815260200190565b600060405180830381865afa15801562006340573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200636a91908101906200a859565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620063da57600080fd5b505af1158015620063ef573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200649a57601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200647a57600080fd5b505af11580156200648f573d6000803e3d6000fd5b50505050506200661e565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620064fc57600080fd5b505af115801562006511573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b362006537601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af115801562006585573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620065ab91906200a0ae565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b1580156200660457600080fd5b505af115801562006619573d6000803e3d6000fd5b505050505b835162006678906200663c62000921601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c654944000000000000000000000000000000000000008152506200910e565b620066a96040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062008e80565b60006040518060c0016040528060018152602001858152602001620066cd62004fa2565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b031681525090506000816040516020016200670c91906200a59d565b604051602081830303815290604052905062006730601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b81526004016200675f92919062009c3e565b6020604051808303816000875af11580156200677f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620067a591906200a18d565b50620067b062008ea3565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001ca157838290600052602060002001805462006802906200a0ce565b80601f016020809104026020016040519081016040528092919081815260200182805462006830906200a0ce565b8015620068815780601f10620068555761010080835404028352916020019162006881565b820191906000526020600020905b8154815290600101906020018083116200686357829003601f168201915b505050505081526020019060010190620067e0565b600754600090610100900460ff1615620068b95750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620069c85760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200694a917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200a919565b60408051601f198184030181529082905262006966916200a94b565b6000604051808303816000865af19150503d8060008114620069a5576040519150601f19603f3d011682016040523d82523d6000602084013e620069aa565b606091505b5091505080806020019051810190620069c491906200a0ae565b9150505b919050565b6000620069f173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b91505062006a296040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006a4157905050905060405180604001604052806001815260200160508152508160008151811062006a985762006a986200a1dc565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006ad05762006ad06200a1dc565b602002602001018190525060008160405160200162006af091906200a259565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006b2662004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006b6857600080fd5b505af115801562006b7d573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006c0757600080fd5b505af115801562006c1c573d6000803e3d6000fd5b5050505062006c33601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006c6292919062009c3e565b600060405180830381600087803b15801562006c7d57600080fd5b505af115801562006c92573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001efe57600080fd5b600062000b196040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620081b0565b60008062006d9e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b9150915062006dd76040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006dee57905050905060405180604001604052806001815260200160508152508160008151811062006e455762006e456200a1dc565b602002602001018190525060008160405160200162006e6591906200a259565b604051602081830303815290604052905062006e89601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006eb892919062009c3e565b600060405180830381600087803b15801562006ed357600080fd5b505af115801562006ee8573d6000803e3d6000fd5b5050505062006ef662008ea3565b6000606462006f08603260506200a2aa565b62006f1491906200a08b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062006f56906001600160a01b0383169063e0dd2c389060440162003408565b60405163dc96ff2d60e01b81526001600482015262006f89906001600160a01b0383169063dc96ff2d9060240162003408565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006fa057905050905060405180604001604052806001815260200160148152508160008151811062006ff75762006ff76200a1dc565b6020026020010181905250806040516020016200701591906200a259565b604051602081830303815290604052935062007039601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200706892919062009c3e565b600060405180830381600087803b1580156200708357600080fd5b505af115801562007098573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620070d592506001600160a01b038516915063e0dd2c389060440162002190565b60405163dc96ff2d60e01b81526001600482015262005e2a906001600160a01b0384169063dc96ff2d9060240162002190565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200714d57506001600160a01b03811631620071d6565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620071ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620071d391906200a1ad565b90505b92915050565b600062000b196040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620081b0565b6000806200724373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b915091506200727c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200729357905050905060405180604001604052806001815260200160631981525081600081518110620072eb57620072eb6200a1dc565b60200260200101819052506000816040516020016200730b91906200a259565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620073b391906004016200a1c7565b600060405180830381600087803b158015620073ce57600080fd5b505af1158015620073e3573d6000803e3d6000fd5b50505050620073fa601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200742992919062009c3e565b600060405180830381600087803b1580156200744457600080fd5b505af115801562007459573d6000803e3d6000fd5b505050506200746762008ea3565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007521906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620074bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074e391906200a1ad565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620090c1565b60405163dc96ff2d60e01b8152600160048201526200220f906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa1580156200756c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200759291906200a1ad565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620090c1565b600062000b196040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620081b0565b600062000b196040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620081b0565b6000806200767973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006075565b602082015191935091506001600160a01b0381166369fa25c4620076a5670c7d713b49da00006200904c565b6040518263ffffffff1660e01b8152600401620076c491815260200190565b600060405180830381600087803b158015620076df57600080fd5b505af1158015620076f4573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200771a6702c68af0bb1400006200904c565b6040518263ffffffff1660e01b81526004016200773991815260200190565b600060405180830381600087803b1580156200775457600080fd5b505af115801562007769573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200778e66071afd498d00006200904c565b6040518263ffffffff1660e01b8152600401620077ad91815260200190565b600060405180830381600087803b158015620077c857600080fd5b505af1158015620077dd573d6000803e3d6000fd5b50505050620078166040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200782d5790505090506040518060400160405280600181526020016050815250816000815181106200788457620078846200a1dc565b6020026020010181905250600081604051602001620078a491906200a259565b6040516020818303038152906040529050620078c8601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620078f792919062009c3e565b600060405180830381600087803b1580156200791257600080fd5b505af115801562007927573d6000803e3d6000fd5b505050506200793562008ea3565b6000606462007947603260506200a2aa565b6200795391906200a08b565b604051631c1ba58760e31b8152600160048201523060248201529091506200798f906001600160a01b0386169063e0dd2c389060440162002633565b60405163dc96ff2d60e01b815260016004820152620079c2906001600160a01b0386169063dc96ff2d9060240162002633565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007a19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007a3f91906200a1ad565b905062007a726040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200905f565b600062007a87600a6000856289544062007b2f565b905062007ab76040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200905f565b62007ac3828262008f36565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001b52576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001b33575050505050905090565b6000848162007b5162007b4a62989680608087901b6200a08b565b836200915b565b905060806f8000000000000000000000000000000062007b7586629896806200a969565b62007b8584600160801b6200a969565b62007b94629896808a6200a2aa565b62007ba091906200a2aa565b62007bac91906200a08b565b62007bb889856200a2aa565b62007bc491906200a2c4565b62007bd091906200a2c4565b901c979650505050505050565b60008062007bef600080600062006075565b9150915062007c246040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062008e80565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007c6a918491016200a59d565b604051602081830303815290604052905062007c8e601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007cbd92919062009c3e565b6020604051808303816000875af115801562007cdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d0391906200a18d565b5062007d0e62008ea3565b62007d436040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062008e80565b604080516001808252818301909252606491600291600091816020015b604080518082019091526000808252602082015281526020019060019003908162007d605790505090506040518060400160405280838152602001848152508160008151811062007db55762007db56200a1dc565b602002602001018190525062007dd3601c546001600160a01b031690565b6001600160a01b0316632ec38188878360405160200162007df591906200a259565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162007e2392919062009c3e565b600060405180830381600087803b15801562007e3e57600080fd5b505af115801562007e53573d6000803e3d6000fd5b5050505062007e6162008ea3565b6000606462007e726032866200a2aa565b62007e7e91906200a08b565b6020890151604051631c1ba58760e31b8152600481018690523060248201529192509062007ec0906001600160a01b0383169063e0dd2c389060440162003408565b60405163dc96ff2d60e01b81526004810185905262007ef3906001600160a01b0383169063dc96ff2d9060240162003408565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162007f2b91815260200190565b61018060405180830381865afa15801562007f4a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007f7091906200a2ea565b509a50509950995050509750975050505062007fb96040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200905f565b62007fee604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200905f565b6200801f6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200905f565b620080606040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200905f565b6200809760405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200905f565b600089604051602001620080ad91815260200190565b6040516020818303038152906040529050620080d1601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f60006040519080825280602002602001820160405280156200810c578160200160208202803683370190505b50846040518463ffffffff1660e01b81526004016200812e939291906200a606565b600060405180830381600087803b1580156200814957600080fd5b505af11580156200815e573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b196040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620081bd8262009214565b5092915050565b620081ce62009349565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620081f262004fa2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200823457600080fd5b505af115801562008249573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620082b762004fa2565b620082c16200493c565b6040518563ffffffff1660e01b8152600401620082e294939291906200a63f565b6020604051808303816000875af115801562008302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200832891906200a1ad565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008375573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200839f91908101906200a97f565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620083e662006d37565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200842857600080fd5b505af11580156200843d573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620084bc62006d37565b620084c662003bdc565b6040518563ffffffff1660e01b8152600401620084e794939291906200aa55565b6020604051808303816000875af115801562008507573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200852d91906200a1ad565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200857a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620085a491908101906200a97f565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620085eb62001a74565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200862d57600080fd5b505af115801562008642573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620086c162001a74565b620086cb6200591d565b6040518563ffffffff1660e01b8152600401620086ec94939291906200aac7565b6020604051808303816000875af11580156200870c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200873291906200a1ad565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200877f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620087a991908101906200a97f565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620087f2620049ed565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200883457600080fd5b505af115801562008849573d6000803e3d6000fd5b505050506040516200885b9062009a41565b604051809103906000f08015801562008878573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb8620088a7620049ed565b83620088b2620075d0565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200891857600080fd5b505af11580156200892d573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200899057600080fd5b505af11580156200220f573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa1864991620089fe9160040190815260200190565b602060405180830381865afa15801562008a1c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a4291906200a18d565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008ae357600080fd5b505af115801562008af8573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062008e1a905057600060405162008b2490620099b0565b604051809103906000f08015801562008b41573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008b6390620099be565b604051809103906000f08015801562008b80573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008bdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008c0391906200a18d565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008c8693920416620093fa565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008d1757600080fd5b505af115801562008d2c573d6000803e3d6000fd5b50600092506001915062008d3d9050565b60405190808252806020026020018201604052801562008d67578160200160208202803683370190505b50602b5481519192506001600160a01b031690829060009062008d8e5762008d8e6200a1dc565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d9062008de290849060019060009081908190819081906004016200a1f2565b600060405180830381600087803b15801562008dfd57600080fd5b505af115801562008e12573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b81151583151514620013ee577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838160405162008e6c91906200ab16565b60405180910390a1620013ee83836200945c565b60295460ff161562008ea057602762008e9a82826200aba9565b505a6028555b50565b60295460ff161562008f345760005a9050600060648260285462008ec891906200a969565b62008ed491906200a969565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8602760405160200162008f0b91906200ac76565b60408051601f198184030181529082905262008f299184906200ad19565b60405180910390a150505b565b80821462009048577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162008fc49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a88260405162008ffd91906200ad3d565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200903691906200ad76565b60405180910390a162009048620095ee565b5050565b6000620071d664174876e800836200a08b565b620090488282604051602401620090789291906200ad19565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d00000000000000000000000000000000000000000000000000000000017905262009701565b818314620013ee577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620090fa91906200ab16565b60405180910390a1620013ee838362008f36565b818314620013ee577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200914791906200ab16565b60405180910390a1620013ee838362009722565b6000600160801b8310620091b65760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b80156200920c5780600116600003620091e957620091de828362009822565b915060011c620091bf565b620091f5838362009822565b9250620092046001826200a969565b9050620091bf565b505092915050565b600080826040516020016200922a91906200a94b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620092ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620092d291906200a18d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200931090859087906004016200ada1565b600060405180830381600087803b1580156200932b57600080fd5b505af115801562009340573d6000803e3d6000fd5b50505050915091565b604051620093579062009a4f565b604051809103906000f08015801562009374573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de8620093a362007612565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620093e557600080fd5b505af115801562005917573d6000803e3d6000fd5b620090488282604051602401620094139291906200adc5565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905262009701565b8015158215151462009048577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620094ee9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009541576040518060400160405280600581526020016466616c736560d81b8152506200955f565b604051806040016040528060048152602001637472756560e01b8152505b6040516200956e91906200adf2565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620095c1576040518060400160405280600581526020016466616c736560d81b815250620095df565b604051806040016040528060048152602001637472756560e01b8152505b6040516200903691906200ae31565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620096f05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200968b92916020016200a919565b60408051601f1981840301815290829052620096a7916200a94b565b6000604051808303816000865af19150503d8060008114620096e6576040519150601f19603f3d011682016040523d82523d6000602084013e620096eb565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b80821462009048577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097b09060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9982604051620097e991906200ad3d565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200903691906200ad76565b6000600160801b831115620098a05760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620091ad565b600160801b8210620098f55760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620091ad565b60806f800000000000000000000000000000006200991484866200a2aa565b6200992091906200a2c4565b901c9392505050565b610e67806200ae5d83390190565b612768806200bcc483390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620099a3604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e42c83390190565b613594806200ec7e83390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009a1f604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201221283390190565b6135c180620156a383390190565b612eb68062018c6483390190565b6001600160a01b038116811462008ea057600080fd5b60006020828403121562009a8657600080fd5b813562009a938162009a5d565b9392505050565b600081518084526020808501945080840160005b8381101562009ad55781516001600160a01b03168752958201959082019060010162009aae565b509495945050505050565b60208152600062009a93602083018462009a9a565b60005b8381101562009b1257818101518382015260200162009af8565b50506000910152565b6000815180845262009b3581602086016020860162009af5565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009bff57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009be857605f1989850301835262009bd584865162009b1b565b948e01949350918d019160010162009bb6565b505050978a01979450509188019160010162009b70565b50919a9950505050505050505050565b801515811462008ea057600080fd5b60006020828403121562009c3157600080fd5b813562009a938162009c0f565b82815260406020820152600062009c59604083018462009b1b565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009d0957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009cf35783516001600160e01b0319168252928b019260019290920191908b019062009cc7565b50978a0197955050509187019160010162009c89565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171562009d545762009d5462009d18565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562009d865762009d8662009d18565b604052919050565b600067ffffffffffffffff82111562009dab5762009dab62009d18565b50601f01601f191660200190565b60008060006060848603121562009dcf57600080fd5b833562009ddc8162009a5d565b925060208401359150604084013567ffffffffffffffff81111562009e0057600080fd5b8401601f8101861362009e1257600080fd5b803562009e2962009e238262009d8e565b62009d5a565b81815287602083850101111562009e3f57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562009eb857603f1988860301845262009ea585835162009b1b565b9450928501929085019060010162009e86565b5092979650505050505050565b600080600080600060a0868803121562009ede57600080fd5b853562009eeb8162009a5d565b9450602086013562009efd8162009a5d565b9350604086013562009f0f8162009a5d565b9250606086013562009f218162009a5d565b9150608086013562009f338162009a5d565b809150509295509295909350565b60008060006060848603121562009f5757600080fd5b833562009f648162009a5d565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009c59604085018262009b1b565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a084015262009fe661010084018262009f79565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a01857600080fd5b82356200a0258162009a5d565b915060208301356200a0378162009a5d565b809150509250929050565b600080600080608085870312156200a05957600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a0a957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a0c157600080fd5b815162009a938162009c0f565b600181811c908216806200a0e357607f821691505b6020821081036200a10457634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a16761010085018262009f79565b90508160c08601511660e0850152809250505092915050565b8051620069c88162009a5d565b6000602082840312156200a1a057600080fd5b815162009a938162009a5d565b6000602082840312156200a1c057600080fd5b5051919050565b60208152600062009a93602083018462009b1b565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a2088184018b62009a9a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a29d578151805185528601518685015292840192908501906001016200a276565b5091979650505050505050565b8082028115828204841417620071d657620071d66200a075565b80820180821115620071d657620071d66200a075565b805160048110620069c857600080fd5b6000806000806000806000806000806000806101808d8f0312156200a30e57600080fd5b8c516200a31b8162009a5d565b60208e0151909c506200a32e8162009a5d565b60408e0151909b506200a3418162009a5d565b809a505060608d0151985060808d0151975060a08d0151600381106200a36657600080fd5b96506200a37660c08e016200a2da565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a3d8576200a3d86200a3af565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a4088285018d62009b1b565b92506200a419606085018c6200a3c5565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a46462009e238462009d8e565b90508281528383830111156200a47957600080fd5b62009a9383602083018462009af5565b6000602082840312156200a49c57600080fd5b815167ffffffffffffffff8111156200a4b457600080fd5b8201601f810184136200a4c657600080fd5b62009c59848251602084016200a453565b6000806000606084860312156200a4ed57600080fd5b835160ff811681146200a4ff57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a5428285018d62009b1b565b91506200a553606085018c6200a3c5565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a58c818562009b1b565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a5e2576200a5e26200a3af565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a621606083018562009a9a565b82810360408401526200a635818562009b1b565b9695505050505050565b84815260a0602082015260006200a68360a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a697818762009f79565b90506001600160a01b038516606084015282810360808401526200a6bc818562009a9a565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a6f360e085018a62009b1b565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200a72a816200a0ce565b806040870152868216600081146200a74b57600181146200a766576200a796565b60ff1983168787015281151560051b8701860193506200a796565b846000528860002060005b838110156200a78e578154898201890152908901908a016200a771565b880187019450505b50505087810360c08901526200a7ad818a62009a9a565b9f9e505050505050505050505050505050565b600082601f8301126200a7d257600080fd5b62009a93838351602085016200a453565b6000604082840312156200a7f657600080fd5b6040516040810167ffffffffffffffff82821081831117156200a81d576200a81d62009d18565b816040528293508451835260208501519150808211156200a83d57600080fd5b506200a84c858286016200a7c0565b6020830152505092915050565b6000602082840312156200a86c57600080fd5b815167ffffffffffffffff808211156200a88557600080fd5b9083019060c082860312156200a89a57600080fd5b6200a8a462009d2e565b8251815260208301516200a8b88162009a5d565b602082015260408301516200a8cd8162009a5d565b60408201526060830151828111156200a8e557600080fd5b6200a8f3878286016200a7e3565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200a93d81600485016020870162009af5565b919091016004019392505050565b600082516200a95f81846020870162009af5565b9190910192915050565b81810381811115620071d657620071d66200a075565b6000602082840312156200a99257600080fd5b815167ffffffffffffffff808211156200a9ab57600080fd5b9083019060c082860312156200a9c057600080fd5b6200a9ca62009d2e565b82518152602083015160208201526040830151828111156200a9eb57600080fd5b6200a9f9878286016200a7c0565b6040830152506060830151828111156200aa1257600080fd5b6200aa20878286016200a7e3565b6060830152506200aa34608084016200a180565b60808201526200aa4760a084016200a180565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200aaa460e083018662009f79565b6001600160a01b038516606084015282810360808401526200a6bc818562009a9a565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200aaa460e083018662009f79565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009a93608083018462009b1b565b601f821115620013ee57600081815260208120601f850160051c810160208610156200ab885750805b601f850160051c820191505b8181101562003795578281556001016200ab94565b815167ffffffffffffffff8111156200abc6576200abc662009d18565b6200abde816200abd784546200a0ce565b846200ab5f565b602080601f8311600181146200ac1657600084156200abfd5750858301515b600019600386901b1c1916600185901b17855562003795565b600085815260208120601f198616915b828110156200ac47578886015182559484019460019091019084016200ac26565b50858210156200ac665787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200ac86816200a0ce565b600182811680156200aca157600181146200acb7576200ace8565b60ff19841687528215158302870194506200ace8565b8760005260208060002060005b858110156200acdf5781548a8201529084019082016200acc4565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200ad2e604083018562009b1b565b90508260208301529392505050565b6040815260006200ad6860408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200ad6860408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009c59604083018462009b1b565b6040815260006200adda604083018562009b1b565b90506001600160a01b03831660208301529392505050565b6040815260006200ae1d60408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009c59818562009b1b565b6040815260006200ae1d60408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a2646970667358221220706362fc6a45246c58c109b54388bc76bbd54f18e8b333536ba83ba5a0d7765064736f6c63430008130033","sourceMap":"1525:28777:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:100:-;;;;;-1:-1:-1;;;;;269:28:100;;;4045:101:38;;;:::i;1810:42:97:-;;1850:2;1810:42;;;;;644:25:101;;;632:2;617:18;1810:42:97;498:177:101;1959:1152:97;;;:::i;:::-;;226:92:38;306:4;226:92;;29804:496:97;;;:::i;905:138:38:-;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:100;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:99:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:99;;;;;;;;;;267:84;5385:977:97;;;:::i;2757:105:40:-;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;507:79:96;;;:::i;:::-;;;;;;;;:::i;16709:866:97:-;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:51;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;17581:3967:97:-;;;:::i;3366:113:38:-;;;:::i;1672:33:97:-;;;;;;4257:113:38;;;:::i;15181:1522:97:-;;;:::i;4152:99:38:-;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:100:-;;;;;;;;-1:-1:-1;;;;;240:23:100;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;21554:3158:97:-;;;:::i;4376:105:38:-;;;:::i;339:34:100:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;1858:47:97:-;;1901:4;1858:47;;304:29:100;;;;;-1:-1:-1;;;;;304:29:100;;;24718:2468:97;;;:::i;1537:101:38:-;;;:::i;3485:113::-;;;:::i;1711:44:97:-;;1750:5;1711:44;;11645:1898;;;:::i;799:361:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;8309:519:97:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;13549:1626:97:-;;;:::i;3938:101:38:-;;;:::i;1166:1463:96:-;;;;;;:::i;:::-;;:::i;3273:1814:97:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;12299:14:101;;12292:22;12274:41;;12262:2;12247:18;1819:584:44;12134:187:101;6368:1028:97;;;:::i;1761:43::-;;1799:5;1761:43;;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;8834:1541:97:-;;;:::i;5093:254::-;;;;;;:::i;:::-;;:::i;4571:105:38:-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;7402:901:97;;;:::i;546:124:38:-;;;:::i;324:109::-;;;:::i;10381:1258:97:-;;;:::i;2304:142:51:-;;;:::i;3483:378:96:-;;;;;;:::i;:::-;;:::i;27192:2606:97:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1644:22:97;;;;;-1:-1:-1;;;;;1644:22:97;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1959:1152:97:-;1993:21;:19;:21::i;:::-;2024:32;2044:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;2044:10:97;2024:11;:32::i;:::-;2067:13;;2081:12;:10;:12::i;:::-;2067:27;;-1:-1:-1;;;;;;2067:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;2067:27:97;;;160:74:101;133:18;;2067:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2104:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2104:6:97;:23;;;;;2125:1;2104:23;;;644:25:101;-1:-1:-1;;;;;2104:20:97;;;;;;;617:18:101;;2104:23:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2137:6:97;:26;;;;;2161:1;2137:26;;;644:25:101;-1:-1:-1;;;;;2137:23:97;;;;;;;617:18:101;;2137:26:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2173:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2198:5:97;:23;;-1:-1:-1;;;;;;2198:23:97;-1:-1:-1;;;;;2198:23:97;;;;;;;;;2231:10;306:4:38;2251:16:97;2266:1;1750:5;2251:16;:::i;:::-;2231:37;;-1:-1:-1;;;;;;2231:37:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;2231:37:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;2231:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2278:5:97;;-1:-1:-1;;;;;2278:5:97;;-1:-1:-1;2278:10:97;;-1:-1:-1;2289:12:97;:10;:12::i;:::-;2303:16;2318:1;1750:5;2303:16;:::i;:::-;2278:42;;-1:-1:-1;;;;;;2278:42:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;2278:42:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;2278:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2330:5:97;;-1:-1:-1;;;;;2330:5:97;;-1:-1:-1;2330:13:97;;-1:-1:-1;2352:6:97;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2352:6:97;2361:10;;2330:42;;-1:-1:-1;;;;;;2330:42:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;2330:42:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;2330:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2383:13:97;;2397:12;:10;:12::i;:::-;2383:27;;-1:-1:-1;;;;;;2383:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;2383:27:97;;;160:74:101;133:18;;2383:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2420:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2420:6:97;-1:-1:-1;;;;;2420:24:97;;306:4:38;2420:33:97;;-1:-1:-1;;;;;;2420:33:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;2420:33:97;;;160:74:101;133:18;;2420:33:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2463:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:31;2574:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2540:55;;2605:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2661:30:97;;2738:5;;;2701:19;;;;:44;;;;1850:2;2755:26;;;;:42;;;;2829:1;2807:19;;;:23;2840:27;;;;;;;;2859:8;2840:27;;;;;;;;;2859:8;;2840:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2840:27:97;;;;-1:-1:-1;;;2840:16:97;;;:27;2915:14;:12;:14::i;:::-;-1:-1:-1;;;;;2877:54:97;;;:19;;;:54;2975:38;;;;;:30;;;;;;:38;;2877:6;;2975:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2941:15;:73;;-1:-1:-1;;;;;;2941:73:97;-1:-1:-1;;;;;2941:73:97;;;;;;;;;3025:5;;3065:38;;;-1:-1:-1;;;3065:38:97;;;;3025:5;;;;;:13;;2941:73;;;3065:36;;:38;;;;;;;;;;;;;;2941:73;3065:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3025:79;;-1:-1:-1;;;;;;3025:79:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;3025:79:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;3025:79:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1983:1128;;1959:1152::o;29804:496::-;29854:22;29878:14;29896:33;29920:1;29924;29927;29896:15;:33::i;:::-;29983:13;;;;;30026:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30026:69:97;30049:45;30026:69;;;30010:86;;-1:-1:-1;;;30010:86:97;;29853:76;;-1:-1:-1;29853:76:97;;-1:-1:-1;29983:13:97;30010:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30106:2;-1:-1:-1;;;;;30106:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30136:13:97;;-1:-1:-1;30136:13:97;;-1:-1:-1;30150:12:97;;-1:-1:-1;30150:10:97;:12::i;:::-;30136:27;;-1:-1:-1;;;;;;30136:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;30136:27:97;;;160:74:101;133:18;;30136:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30173:2;-1:-1:-1;;;;;30173:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30202:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30236:15:97;;30227:66;;-1:-1:-1;;;;;;30236:15:97;;-1:-1:-1;30236:24:97;30261:12;:10;:12::i;:::-;30236:38;;-1:-1:-1;;;;;;30236:38:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;30236:38:97;;;160:74:101;133:18;;30236:38:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30276:4;30227:66;;;;;;;;;;;;;;;;;:8;:66::i;380:708:100:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:100;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:100;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:100;;-1:-1:-1;;;;;;592:52:100;;;;;;;-1:-1:-1;;;;;17430:55:101;;;592:52:100;;;17412:74:101;17522:2;17502:18;;;17495:30;642:1:100;17541:18:101;;;17534:29;;;17615:18;;;17608:34;17580:19;;592:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:100;-1:-1:-1;;;;;658:45:100;;;;;;;;717:54;;;-1:-1:-1;;;717:54:100;;;;;18140:74:101;;;;18230:18;;;18223:30;18289:2;18269:18;;;18262:30;18328:17;18308:18;;;18301:45;658::100;;-1:-1:-1;717:8:100;;;;18363:19:101;;717:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:100;;;-1:-1:-1;;;785:45:100;;-1:-1:-1;;;;;18623:55:101;;785:45:100;;;18605:74:101;18695:18;;;18688:30;;;;18754:2;18734:18;;;18727:30;18793:18;18773;;;18766:46;785:8:100;;-1:-1:-1;785:8:100;;-1:-1:-1;18829:19:101;;785:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:100;;-1:-1:-1;884:1:100;;-1:-1:-1;870:16:100;;-1:-1:-1;870:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:100;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:100;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:100;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:100;;-1:-1:-1;;;;;1065:16:100;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;5385:977:97:-;5485:14;5503:29;4445:42:9;5527:1:97;5530;5503:15;:29::i;:::-;5454:78;;;5597:39;;;;;;;;;;;;;;-1:-1:-1;;;5597:39:97;;;:17;:39::i;:::-;5690:35;;;5723:1;5690:35;;;;;;;;;5646:41;;5690:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5690:35:97;;;;;;;;;;;;;;;5646:79;;5824:33;;;;;;;;5851:1;5824:33;;;;5854:2;5824:33;;;5813:5;5819:1;5813:8;;;;;;;;:::i;:::-;;;;;;:44;;;;5899:33;;;;;;;;5926:1;5899:33;;;;5929:2;5899:33;;;5888:5;5894:1;5888:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6074:17;6105:5;6094:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6094:17:97;;;;;;;;;6282:1;6212:75;;;21115:36:101;309:37:45;21167:18:101;;;;21160:45;;;;6212:75:97;;;;;;;;;;21088:18:101;;;;6212:75:97;;;;;;;-1:-1:-1;;;;;6212:75:97;6235:45;6212:75;;;6196:92;;-1:-1:-1;;;6196:92:97;;6094:17;;-1:-1:-1;6196:15:97;;;;:92;;6212:75;6196:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;6298:6:97;-1:-1:-1;;;;;6298:15:97;;6314:6;6322:4;6298:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6337:18;:16;:18::i;507:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16709:866:97:-;16780:22;16804:14;16822:29;4445:42:9;16846:1:97;16849;16822:15;:29::i;:::-;16779:72;;;;16916:39;;;;;;;;;;;;;;-1:-1:-1;;;16916:39:97;;;:17;:39::i;:::-;17009:35;;;17042:1;17009:35;;;;;;;;;16965:41;;17009:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;17009:35:97;;;;;;;;;;;;;;;16965:79;;17065:34;;;;;;;;17092:1;17065:34;;;;17095:3;17065:34;;;17054:5;17060:1;17054:8;;;;;;;;:::i;:::-;;;;;;:45;;;;17109:5;17115:1;17109:8;;;;;;;;:::i;:::-;-1:-1:-1;;17147:17:97;;17127;;17147;;17158:5;;17109:8;17147:17;;:::i;:::-;;;;;;;;;;;;;17127:37;;17280:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;17280:6:97;-1:-1:-1;;;;;17280:15:97;;17296:6;17304:4;17280:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17319:18;:16;:18::i;:::-;17391:13;;;;17427:42;;-1:-1:-1;;;17427:42:97;;17452:1;17427:42;;;21692:25:101;17463:4:97;21733:18:101;;;21726:83;17418:67:97;;-1:-1:-1;;;;;17427:24:97;;;;;21665:18:101;;17427:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1850:2;17418:8;:67::i;:::-;17523:29;;-1:-1:-1;;;17523:29:97;;17550:1;17523:29;;;644:25:101;17514:54:97;;-1:-1:-1;;;;;17523:26:97;;;;;617:18:101;;17523:29:97;498:177:101;17514:54:97;16769:806;;;;;16709:866::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;17581:3967:97:-;17662:22;17686:14;17704:50;17728:1;17732:8;17742:11;17704:15;:50::i;:::-;17808:13;;;;17661:93;;-1:-1:-1;17661:93:97;-1:-1:-1;;;;;;18084:11:97;;;18096:30;18110:15;18096:13;:30::i;:::-;18084:43;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;18084:43:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18154:2;-1:-1:-1;;;;;18154:14:97;;18169:24;18183:9;18169:13;:24::i;:::-;18154:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;18154:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18223:2;-1:-1:-1;;;;;18223:12:97;;18236:27;18250:12;18236:13;:27::i;:::-;18223:41;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;18223:41:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:39;;;;;;;;;;;;;;-1:-1:-1;;;18349:39:97;;;:17;:39::i;:::-;18476:35;;;18509:1;18476:35;;;;;;;;;18419:3;;18398:18;;18476:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;18476:35:97;;;;;;;;;;;;;;;18432:79;;18532:42;;;;;;;;18559:1;18532:42;;;;18562:11;18532:42;;;18521:5;18527:1;18521:8;;;;;;;;:::i;:::-;;;;;;:53;;;;18605:17;18636:5;18625:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;18605:37;;18652:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;18652:6:97;-1:-1:-1;;;;;18652:15:97;;18668:6;18676:4;18652:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18691:18;:16;:18::i;:::-;18720:21;18783:3;18744:36;1850:2;18752:11;18744:36;:::i;:::-;:42;;;;:::i;:::-;18805;;-1:-1:-1;;;18805:42:97;;18830:1;18805:42;;;21692:25:101;18841:4:97;21733:18:101;;;21726:83;18720:66:97;;-1:-1:-1;18796:67:97;;-1:-1:-1;;;;;18805:24:97;;;;;21665:18:101;;18805:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18849:13;18796:8;:67::i;:::-;18900:29;;-1:-1:-1;;;18900:29:97;;18927:1;18900:29;;;644:25:101;18891:54:97;;-1:-1:-1;;;;;18900:26:97;;;;;617:18:101;;18900:29:97;498:177:101;18891:54:97;19028:13;;19042:12;:10;:12::i;:::-;19028:27;;-1:-1:-1;;;;;;19028:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;19028:27:97;;;160:74:101;133:18;;19028:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19158:2;-1:-1:-1;;;;;19158:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19188:42:97;;-1:-1:-1;19266:1:97;;-1:-1:-1;19233:35:97;;-1:-1:-1;19233:35:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;19233:35:97;;;;;;;;;;;;;;;;19188:80;;19278:19;19300:3;19278:25;;19325:43;;;;;;;;19352:1;19325:43;;;;19355:12;19325:43;;;19313:6;19320:1;19313:9;;;;;;;;:::i;:::-;;;;;;:55;;;;19396:6;19385:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;19378:25;;19464:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;19464:6:97;-1:-1:-1;;;;;19464:15:97;;19480:6;19488:4;19464:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;19503:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:22;19593:3;1850:2;19561:12;19553:37;;;;:::i;:::-;:43;;;;:::i;:::-;19528:68;;19607:76;19616:2;-1:-1:-1;;;;;19616:24:97;;19641:1;19652:12;:10;:12::i;:::-;19616:50;;-1:-1:-1;;;;;;19616:50:97;;;;;;;;;;21692:25:101;;;;-1:-1:-1;;;;;21753:55:101;21733:18;;;21726:83;21665:18;;19616:50:97;21510:305:101;19607:76:97;19721:29;;-1:-1:-1;;;19721:29:97;;19748:1;19721:29;;;644:25:101;19712:71:97;;-1:-1:-1;;;;;19721:26:97;;;;;617:18:101;;19721:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19752:30;19768:14;19752:13;:30;:::i;:::-;19712:8;:71::i;:::-;19848:48;;;;;;;;;;;;;;;;;;19883:12;19848:11;:48::i;:::-;19906:34;19943:2;-1:-1:-1;;;;;19943:29:97;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19906:68;;19984:69;;;;;;;;;;;;;;;;;;20026:26;19984:11;:69::i;:::-;20063:75;;;;;;;;;;;-1:-1:-1;;;20063:75:97;;;;20090:47;;-1:-1:-1;;;20090:47:97;;;;;644:25:101;;;20063:75:97;;;-1:-1:-1;;;;;20090:19:97;;;;;617:18:101;;20090:47:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20063:11;:75::i;:::-;20148:78;;;;;;;;;;;-1:-1:-1;;;20148:78:97;;;;20195:29;;-1:-1:-1;;;20195:29:97;;20222:1;20195:29;;;644:25:101;20148:78:97;;;-1:-1:-1;;;;;20175:19:97;;;;;;;20195:26;;617:18:101;;20195:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20175:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;20148:78:97;20246:47;;-1:-1:-1;;;20246:47:97;;;;;644:25:101;;;20237:80:97;;-1:-1:-1;;;;;20246:19:97;;;;;617:18:101;;20246:47:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20295:6;20237:80;;;;;;;;;;;;;-1:-1:-1;;;20237:80:97;;;:8;:80::i;:::-;20356:29;;-1:-1:-1;;;20356:29:97;;20383:1;20356:29;;;644:25:101;20327:82:97;;-1:-1:-1;;;;;20336:19:97;;;;;;;20356:26;;617:18:101;;20356:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20336:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;20336:50:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20388:5;20327:82;;;;;;;;;;;;;-1:-1:-1;;;20327:82:97;;;:8;:82::i;:::-;20420:12;;-1:-1:-1;;;20420:12:97;;20428:3;20420:12;;;644:25:101;20420:7:97;;;;617:18:101;;20420:12:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:47;;;;;;;;;;;;;;;;;;20476:12;20442:11;:47::i;:::-;20746:30;;-1:-1:-1;;;20746:30:97;;20774:1;20746:30;;;644:25:101;-1:-1:-1;;;;;20746:27:97;;;;;617:18:101;;20746:30:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20843:23;20880:20;20956:22;21006:17;21037:22;21072:2;-1:-1:-1;;;;;21072:14:97;;21087:1;21072:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;21072:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20787:302;;;;;;;;;;;;;;;;;21100:52;;;;;;;;;;;;;;-1:-1:-1;;;21100:52:97;;;21136:15;21100:11;:52::i;:::-;21162:46;;;;;;;;;;;;;;-1:-1:-1;;;21162:46:97;;;21195:12;21162:11;:46::i;:::-;21218:39;;;;;;;;;;;;;;-1:-1:-1;;;21218:39:97;;;21247:9;21218:11;:39::i;:::-;21267:50;;;;;;;;;;;;;;-1:-1:-1;;;21267:50:97;;;21302:14;21267:11;:50::i;:::-;21327;;;;;;;;;;;;;;;;;;21362:14;21327:11;:50::i;:::-;21387:39;21396:9;21407:5;21387:39;;;;;;;;;;;;;;;;;:8;:39::i;:::-;21436:48;21445:14;21461:4;21436:48;;;;;;;;;;;;;;;;;:8;:48::i;:::-;21494:47;21503:14;21519:3;21494:47;;;;;;;;;;;;;;;;;:8;:47::i;:::-;17651:3897;;;;;;;;;;;;;;;;17581:3967::o;3366:113:38:-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;15181:1522:97:-;15235:22;15259:14;15277:29;4445:42:9;15301:1:97;15304;15277:15;:29::i;:::-;15404:15;;15425:76;;15495:5;15425:76;;;24068:38:101;15234:72:97;;-1:-1:-1;15234:72:97;;-1:-1:-1;15372:139:97;;-1:-1:-1;;;;;15404:15:97;;;;;;-1:-1:-1;;;15448:45:97;24041:18:101;;15425:76:97;;;;-1:-1:-1;;15425:76:97;;;;;;;;;;;;;;-1:-1:-1;;;;;15425:76:97;-1:-1:-1;;;;;;15425:76:97;;;;;;;;;;15372:10;:139::i;:::-;15660:35;;;15693:1;15660:35;;;;;;;;;15616:41;;15660:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;15660:35:97;;;;;;;;;;;;;;;15616:79;;15716:34;;;;;;;;15743:1;15716:34;;;;15746:3;15716:34;;;15705:5;15711:1;15705:8;;;;;;;;:::i;:::-;;;;;;:45;;;;15760:17;15791:5;15780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;15760:37;;15807:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;15807:6:97;-1:-1:-1;;;;;15807:15:97;;15823:6;15831:4;15807:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;15960:13:97;;;;15995:42;;-1:-1:-1;;;15995:42:97;;16020:1;15995:42;;;21692:25:101;16031:4:97;21733:18:101;;;21726:83;15902:5:97;;15960:13;15986:67;;-1:-1:-1;;;;;15995:24:97;;;;;21665:18:101;;15995:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16039:13;15986:8;:67::i;:::-;16072:29;;-1:-1:-1;;;16072:29:97;;16099:1;16072:29;;;644:25:101;16063:54:97;;-1:-1:-1;;;;;16072:26:97;;;;;617:18:101;;16072:29:97;498:177:101;16063:54:97;16139:35;;;;;;;;16166:1;16139:35;;;;-1:-1:-1;;16139:35:97;;;16128:5;16134:1;16128:8;;;;;;;;:::i;:::-;;;;;;:46;;;;16202:5;16191:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;16184:24;;16218:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;16218:6:97;-1:-1:-1;;;;;16218:15:97;;16234:6;16242:4;16218:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16267:42:97;;-1:-1:-1;;;16267:42:97;;16292:1;16267:42;;;21692:25:101;16303:4:97;21733:18:101;;;21726:83;16258:69:97;;-1:-1:-1;;;;;;16267:24:97;;;-1:-1:-1;16267:24:97;;21665:18:101;;16267:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16311:1;16258:69;;;;;;;;;;;;;;;;;:8;:69::i;:::-;16346:29;;-1:-1:-1;;;16346:29:97;;16373:1;16346:29;;;644:25:101;16337:58:97;;-1:-1:-1;;;;;16346:26:97;;;;;617:18:101;;16346:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16377:1;16337:58;;;;;;;;;;;;;;;;;:8;:58::i;:::-;16406:44;16415:2;-1:-1:-1;;;;;16415:14:97;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16433:1;16406:44;;;;;;;;;;;;;;;;;:8;:44::i;:::-;16557:15;;16602:84;;1850:2;16602:84;;;644:25:101;16525:171:97;;-1:-1:-1;;;;;16557:15:97;;;;-1:-1:-1;;;16625:45:97;617:18:101;;16602:84:97;498:177:101;16525:171:97;15224:1479;;;;;;15181:1522::o;4152:99:38:-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:100:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:100;-1:-1:-1;;;;;1993:33:100;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:100;-1:-1:-1;;;;;2240:17:100;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:100;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;26454:25:101;;;;26495:18;;;26488:34;;;2301:17:100;;-1:-1:-1;2301:17:100;2280:18;;;;;;2363:7;;;;26427:18:101;;2363:36:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;27114:19:101;;;27149:12;;;27142:28;;;27222:66;27208:3;27204:16;;;27200:89;27186:12;;;27179:111;2435:25:100;;;;;;;;;27306:12:101;;;2435:25:100;;;;2489:11;;:152;;;;27204:16:101;;-1:-1:-1;27114:19:101;;-1:-1:-1;27142:28:101;;-1:-1:-1;2489:11:100;;;-1:-1:-1;;;;;2489:11:100;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:100;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;21554:3158:97:-;21608:22;21632:14;21650:29;4445:42:9;21674:1:97;21677;21650:15;:29::i;:::-;21607:72;;;;21744:39;;;;;;;;;;;;;;-1:-1:-1;;;21744:39:97;;;:17;:39::i;:::-;21870:35;;;21903:1;21870:35;;;;;;;;;21814:2;;21793:18;;21870:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;21870:35:97;;;;;;;;;;;;;;;21826:79;;21926:42;;;;;;;;21953:1;21926:42;;;;21956:11;21926:42;;;21915:5;21921:1;21915:8;;;;;;;;:::i;:::-;;;;;;:53;;;;21999:17;22030:5;22019:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;21999:37;;22046:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22046:6:97;-1:-1:-1;;;;;22046:15:97;;22062:6;22070:4;22046:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22085:18;:16;:18::i;:::-;22114:21;22177:3;22138:36;1850:2;22146:11;22138:36;:::i;:::-;:42;;;;:::i;:::-;22233:13;;;;22268:42;;-1:-1:-1;;;22268:42:97;;22293:1;22268:42;;;21692:25:101;22304:4:97;21733:18:101;;;21726:83;22114:66:97;;-1:-1:-1;22233:13:97;22259:90;;-1:-1:-1;;;;;22268:24:97;;;;;21665:18:101;;22268:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22312:13;22259:90;;;;;;;;;;;;;;;;;:8;:90::i;:::-;22386:29;;-1:-1:-1;;;22386:29:97;;22413:1;22386:29;;;644:25:101;22377:54:97;;-1:-1:-1;;;;;22386:26:97;;;;;617:18:101;;22386:29:97;498:177:101;22377:54:97;22514:13;;22528:12;:10;:12::i;:::-;22514:27;;-1:-1:-1;;;;;;22514:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;22514:27:97;;;160:74:101;133:18;;22514:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22552:19;22574:1;22552:23;;22585:41;22629:149;;;;;;;;22668:11;22629:149;;;;22681:6;22629:149;;;;22689:12;:10;:12::i;:::-;-1:-1:-1;;;;;22629:149:97;;;;;22703:31;22629:149;;1901:4;22629:149;;;;;;;;22762:5;;-1:-1:-1;;;;;22762:5:97;22629:149;;;;;22809:20;;22585:193;;-1:-1:-1;;;22809:20:97;;22585:193;;22809:20;;:::i;:::-;;;;;;;;;;;;;22788:41;;22839:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22839:6:97;-1:-1:-1;;;;;22839:24:97;;22864:6;22872:5;22839:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22889:5:97;;22911:15;;22929:38;;;-1:-1:-1;;;22929:38:97;;;;-1:-1:-1;;;;;22889:5:97;;;;:13;;22911:15;;;;22929:36;;:38;;;;;;;;;;;;;;;22911:15;22929:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22889:79;;-1:-1:-1;;;;;;22889:79:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;22889:79:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;22889:79:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23031:2;-1:-1:-1;;;;;23031:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23061:42:97;;-1:-1:-1;23139:1:97;;-1:-1:-1;23106:35:97;;-1:-1:-1;23106:35:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;23106:35:97;;;;;;;;;;;;;;;;23061:80;;23151:19;23173:3;23151:25;;23198:53;;;;;;;;23225:11;23198:53;;;;23238:12;23198:53;;;23186:6;23193:1;23186:9;;;;;;;;:::i;:::-;;;;;;:65;;;;23279:6;23268:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;23261:25;;23347:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;23347:6:97;-1:-1:-1;;;;;23347:15:97;;23363:6;23371:4;23347:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;23386:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23411:22;23476:3;1850:2;23444:12;23436:37;;;;:::i;:::-;:43;;;;:::i;:::-;23411:68;;23490:109;23499:2;-1:-1:-1;;;;;23499:24:97;;23524:11;23545:12;:10;:12::i;:::-;23499:60;;-1:-1:-1;;;;;;23499:60:97;;;;;;;;;;21692:25:101;;;;-1:-1:-1;;;;;21753:55:101;21733:18;;;21726:83;21665:18;;23499:60:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23561:14;23490:109;;;;;;;;;;;;;;;;;:8;:109::i;:::-;23637:39;;-1:-1:-1;;;23637:39:97;;;;;644:25:101;;;23628:81:97;;-1:-1:-1;;;;;23637:26:97;;;;;617:18:101;;23637:39:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23678:14;23628:81;;;;;;;;;;;;;;;;;:8;:81::i;:::-;23774:48;;;;;;;;;;;;;;;;;;23809:12;23774:11;:48::i;:::-;23832:65;;;;;;;;;;;;;;-1:-1:-1;;;23832:65:97;;;23859:2;-1:-1:-1;;;;;23859:19:97;;23879:2;-1:-1:-1;;;;;23879:14:97;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23832:65;23907:78;;;;;;;;;;;-1:-1:-1;;;23907:78:97;;;;23954:29;;-1:-1:-1;;;23954:29:97;;23981:1;23954:29;;;644:25:101;23907:78:97;;;-1:-1:-1;;;;;23934:19:97;;;;;;;23954:26;;617:18:101;;23954:29:97;498:177:101;23907:78:97;23995:11;;-1:-1:-1;;;23995:11:97;;24003:2;23995:11;;;644:25:101;23995:7:97;;;;617:18:101;;23995:11:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24016:47;;;;;;;;;;;;;;;;;;24050:12;24016:11;:47::i;:::-;24074:30;;-1:-1:-1;;;24074:30:97;;24102:1;24074:30;;;644:25:101;-1:-1:-1;;;;;24074:27:97;;;;;617:18:101;;24074:30:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24171:23;24208:20;24284:22;24334:17;24365:22;24400:2;-1:-1:-1;;;;;24400:14:97;;24415:1;24400:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;24400:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24115:302;;;;;;;;;;;;;;;;;24428:52;;;;;;;;;;;;;;-1:-1:-1;;;24428:52:97;;;24464:15;24428:11;:52::i;:::-;24490:46;;;;;;;;;;;;;;-1:-1:-1;;;24490:46:97;;;24523:12;24490:11;:46::i;:::-;24546:39;;;;;;;;;;;;;;-1:-1:-1;;;24546:39:97;;;24575:9;24546:11;:39::i;:::-;24595:50;;;;;;;;;;;;;;-1:-1:-1;;;24595:50:97;;;24630:14;24595:11;:50::i;:::-;24655;;;;;;;;;;;;;;;;;;24690:14;24655:11;:50::i;:::-;21597:3115;;;;;;;;;;;;;;;;;;21554:3158::o;4376:105:38:-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24718:2468:97;24776:22;24800:14;24818:29;4445:42:9;24842:1:97;24845;24818:15;:29::i;:::-;24775:72;;;;24912:39;;;;;;;;;;;;;;-1:-1:-1;;;24912:39:97;;;:17;:39::i;:::-;25039:35;;;25072:1;25039:35;;;;;;;;;24982:3;;24961:18;;25039:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;25039:35:97;;;;;;;;;;;;;;;24995:79;;25095:42;;;;;;;;25122:1;25095:42;;;;25125:11;25095:42;;;25084:5;25090:1;25084:8;;;;;;;;:::i;:::-;;;;;;:53;;;;25201:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;25201:6:97;-1:-1:-1;;;;;25201:15:97;;25217:6;25236:5;25225:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;25201:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25253:18;:16;:18::i;:::-;25282:21;25345:3;25306:36;1850:2;25314:11;25306:36;:::i;:::-;:42;;;;:::i;:::-;25401:13;;;;25436:42;;-1:-1:-1;;;25436:42:97;;25461:1;25436:42;;;21692:25:101;25472:4:97;21733:18:101;;;21726:83;25282:66:97;;-1:-1:-1;25401:13:97;25427:67;;-1:-1:-1;;;;;25436:24:97;;;;;21665:18:101;;25436:42:97;21510:305:101;25427:67:97;25531:29;;-1:-1:-1;;;25531:29:97;;25558:1;25531:29;;;644:25:101;25522:54:97;;-1:-1:-1;;;;;25531:26:97;;;;;617:18:101;;25531:29:97;498:177:101;25522:54:97;25633:19;25680:23;25717:20;25779:17;25810:22;25860:17;25929:2;-1:-1:-1;;;;;25929:14:97;;25944:1;25929:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;25929:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25605:341;;;;;;;;;;;;;;;;;;26142:52;;;;;;;;;;;;;;-1:-1:-1;;;26142:52:97;;;26178:15;26142:11;:52::i;:::-;26204:46;;;;;;;;;;;;;;-1:-1:-1;;;26204:46:97;;;26237:12;26204:11;:46::i;:::-;26260:39;;;;;;;;;;;;;;-1:-1:-1;;;26260:39:97;;;26289:9;26260:11;:39::i;:::-;26379:40;;;;;;;;;;;;;;;;;;26409:9;26379:11;:40::i;:::-;26429:50;;;;;;;;;;;;;;-1:-1:-1;;;26429:50:97;;;26464:14;26429:11;:50::i;:::-;26690:16;;;26660:27;26690:16;;;;;;;;26794:1;26783:13;;;29914:36:101;26783:13:97;;;;;;;;;29887:18:101;;;26783:13:97;;26835:10;;;;26690:16;;26783:13;26824:35;;26847:11;26824:10;:35::i;:::-;26807:52;;26936:19;26945:6;26953:1;26936:8;:19::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;-1:-1:-1;;;;;26966:17:97;;26984:6;26992:10;27004:12;26966:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27036:35;27047:4;:10;;;27059:11;27036:10;:35::i;:::-;27027:44;;27146:33;27155:6;27163:15;27146:8;:33::i;:::-;24765:2421;;;;;;;;;;;;;;;24718:2468::o;1537:101:38:-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;11645:1898:97:-;11707:22;11731:14;11749:29;4445:42:9;11773:1:97;11776;11749:15;:29::i;:::-;11832:13;;;;11706:72;;-1:-1:-1;11706:72:97;-1:-1:-1;;;;;;11859:11:97;;;11871:24;11885:9;11871:13;:24::i;:::-;11859:37;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;11859:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11923:2;-1:-1:-1;;;;;11923:14:97;;11938:24;11952:9;11938:13;:24::i;:::-;11923:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;11923:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11992:2;-1:-1:-1;;;;;11992:12:97;;12005:26;12019:11;12005:13;:26::i;:::-;11992:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;11992:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12199:15:97;;12244:84;;12087:5;12244:84;;;644:25:101;;;12087:5:97;-1:-1:-1;12167:171:97;;-1:-1:-1;;;;;;12199:15:97;;;;12063:21;;-1:-1:-1;;;12267:45:97;617:18:101;;12244:84:97;498:177:101;12167:171:97;12391:39;;;;;;;;;;;;;;-1:-1:-1;;;12391:39:97;;;:17;:39::i;:::-;12484:35;;;12517:1;12484:35;;;;;;;;;12440:41;;12484:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;12484:35:97;;;;;;;;;;;;;;;12440:79;;12540:34;;;;;;;;12567:1;12540:34;;;;12570:3;12540:34;;;12529:5;12535:1;12529:8;;;;;;;;:::i;:::-;;;;;;:45;;;;12584:17;12615:5;12604:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;12584:37;;12631:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;12631:6:97;-1:-1:-1;;;;;12631:15:97;;12647:6;12655:4;12631:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12670:18;:16;:18::i;:::-;12708:42;;-1:-1:-1;;;12708:42:97;;12733:1;12708:42;;;21692:25:101;12744:4:97;21733:18:101;;;21726:83;12699:67:97;;-1:-1:-1;;;;;12708:24:97;;;;;21665:18:101;;12708:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12752:13;12699:8;:67::i;:::-;12785:29;;-1:-1:-1;;;12785:29:97;;12812:1;12785:29;;;644:25:101;12776:54:97;;-1:-1:-1;;;;;12785:26:97;;;;;617:18:101;;12785:29:97;498:177:101;12776:54:97;12902:46;;-1:-1:-1;;;12902:46:97;;12925:2;12902:46;;;30678:25:101;12841:23:97;30719:18:101;;;30712:34;;;12867:5:97;30762:18:101;;;30755:34;;;12867:5:97;-1:-1:-1;;;;;12902:22:97;;;;;30651:18:101;;12902:46:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12882:66;;12959:39;;;;;;;;;;;;;;-1:-1:-1;;;12959:39:97;;;12988:9;12959:11;:39::i;:::-;13008:14;13025:66;13046:2;13050:1;13053:15;13070:20;13025;:66::i;:::-;13008:83;;13101:33;;;;;;;;;;;;;;-1:-1:-1;;;13101:33:97;;;13127:6;13101:11;:33::i;:::-;13145:27;13154:9;13165:6;13145:8;:27::i;:::-;13182:32;13191:15;13208:5;13182:8;:32::i;:::-;13224:30;13233:13;13248:5;13224:8;:30::i;:::-;13264:26;13273:9;13284:5;13264:8;:26::i;:::-;13397:15;;13442:84;;1850:2;13442:84;;;644:25:101;13365:171:97;;-1:-1:-1;;;;;13397:15:97;;;;-1:-1:-1;;;13465:45:97;617:18:101;;13442:84:97;498:177:101;13365:171:97;11696:1847;;;;;;;;;11645:1898::o;799:361:96:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:96;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1017:48:96;;;;;;1067:12;:10;:12::i;:::-;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:96;;;799:361::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8309:519:97;8392:14;8410:29;4445:42:9;8434:1:97;8437;8410:15;:29::i;:::-;8389:50;;;8450:41;8494:133;;;;;;;;8533:1;8494:133;;;;8536:6;8494:133;;;;8544:12;:10;:12::i;:::-;-1:-1:-1;;;;;8494:133:97;;;;;8558:33;8494:133;;;;1901:4;8494:133;;;;4445:42:9;-1:-1:-1;;;;;8494:133:97;;;;8450:177;;8637:17;8668:8;8657:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8657:20:97;;;;;;;;;8770:1;8703:69;;;;29914:36:101;;;;8703:69:97;;;;;;;;;;29887:18:101;;;;8703:69:97;;;;;;;-1:-1:-1;;;;;8703:69:97;8726:42;8703:69;;;8687:86;;-1:-1:-1;;;8687:86:97;;8657:20;;-1:-1:-1;8687:15:97;;;;:86;;8703:69;8687:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8783:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;8783:6:97;-1:-1:-1;;;;;8783:24:97;;8808:6;8816:4;8783:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8379:449;;;8309:519::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;13549:1626:97:-;13619:22;13643:14;13661:29;4445:42:9;13685:1:97;13688;13661:15;:29::i;:::-;13744:13;;;;13618:72;;-1:-1:-1;13618:72:97;-1:-1:-1;;;;;;13771:11:97;;;13783:24;13797:9;13783:13;:24::i;:::-;13771:37;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;13771:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13835:2;-1:-1:-1;;;;;13835:14:97;;13850:24;13864:9;13850:13;:24::i;:::-;13835:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;13835:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13904:2;-1:-1:-1;;;;;13904:12:97;;13917:26;13931:11;13917:13;:26::i;:::-;13904:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;13904:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14063:15:97;;14084:76;;14154:5;14084:76;;;24068:38:101;14031:139:97;;-1:-1:-1;;;;;;14063:15:97;;;;-1:-1:-1;14063:15:97;;-1:-1:-1;;;14107:45:97;24041:18:101;;14084:76:97;23911:201:101;14031:139:97;14223:39;;;;;;;;;;;;;;-1:-1:-1;;;14223:39:97;;;:17;:39::i;:::-;14316:35;;;14349:1;14316:35;;;;;;;;;14272:41;;14316:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;14316:35:97;;;;;;;;;;;;;;;14272:79;;14372:34;;;;;;;;14399:1;14372:34;;;;14402:3;14372:34;;;14361:5;14367:1;14361:8;;;;;;;;:::i;:::-;;;;;;:45;;;;14437:17;14468:5;14457:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;14437:37;;14484:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;14484:6:97;-1:-1:-1;;;;;14484:15:97;;14500:6;14508:4;14484:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14523:18;:16;:18::i;:::-;14600:42;;-1:-1:-1;;;14600:42:97;;14625:1;14600:42;;;21692:25:101;14636:4:97;21733:18:101;;;21726:83;14576:5:97;;14591:67;;-1:-1:-1;;;;;14600:24:97;;;;;21665:18:101;;14600:42:97;21510:305:101;14591:67:97;14695:29;;-1:-1:-1;;;14695:29:97;;14722:1;14695:29;;;644:25:101;14686:54:97;;-1:-1:-1;;;;;14695:26:97;;;;;617:18:101;;14695:29:97;498:177:101;14686:54:97;14783:27;;;;;14805:4;14783:27;;;644:25:101;14769:11:97;;-1:-1:-1;;;;;14783:21:97;;;;;617:18:101;;14783:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14769:41;;14820:32;;;;;;;;;;;;;;;;;;14848:3;14820:11;:32::i;:::-;14862:30;14871:13;14886:5;14862:8;:30::i;:::-;14902:20;14911:3;14916:5;14902:8;:20::i;:::-;15029:15;;15074:84;;1850:2;15074:84;;;644:25:101;14997:171:97;;-1:-1:-1;;;;;15029:15:97;;;;-1:-1:-1;;;15097:45:97;617:18:101;;15074:84:97;498:177:101;14997:171:97;13608:1567;;;;;;;13549:1626::o;3938:101:38:-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:96:-;-1:-1:-1;;;;;;;;1307:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:96;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:96;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:96;;;;;;;;;;;;-1:-1:-1;1878:16:96;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:96;;;-1:-1:-1;;;;;1904:33:96;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:96;;;2269:64;;-1:-1:-1;2317:5:96;2269:64;2351:4;-1:-1:-1;;;;;2351:33:96;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;32481:13:101;;-1:-1:-1;;;;;32477:62:101;2509:18:96;;;;32459:81:101;;;;32584:17;;32578:24;32556:20;;;32549:54;32647:17;;;32641:24;32619:20;;;;32612:54;;;;32710:17;;32704:24;32682:20;;;32675:54;2486:8:96;;32431:19:101;;2509:18:96;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:96:o;3273:1814:97:-;3393:22;;:::i;:::-;3417:14;3451:13;3468:1;3451:18;3447:81;;1901:4;3485:32;;3447:81;3542:10;3556:1;3542:15;3538:70;;1799:5;3573:24;;3538:70;4445:42:9;-1:-1:-1;;;;;3660:24:97;;3656:84;;-1:-1:-1;3723:5:97;;-1:-1:-1;;;;;3723:5:97;3656:84;3750:35;;;;;;;;;;;;;;-1:-1:-1;;;3750:35:97;;;:17;:35::i;:::-;3859:13;;3873:12;:10;:12::i;:::-;3859:27;;-1:-1:-1;;;;;;3859:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;3859:27:97;;;160:74:101;133:18;;3859:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3897:19;3942:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3942:6:97;3919:31;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;3919:31:97;;;;;;;;;;;;;;;;;;;;;;;3897:53;;3970:101;3981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3981:6:97;3997:8;4016:18;3202:15;;-1:-1:-1;;;;;3202:15:97;;3117:107;4016:18;678:10:40;;-1:-1:-1;;;;;678:10:40;4057:12:97;3970:10;:101::i;:::-;3961:110;;317:28:45;309:37;;-1:-1:-1;;;;;4082:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:8;-1:-1:-1;;;;;4107:23:97;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4150:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4150:6:97;-1:-1:-1;;;;;4150:14:97;;4165:6;4150:22;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;4150:22:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4150:22:97;;;;;;;;;;;;:::i;:::-;4183:34;;;;;4199:4;4183:34;;;14681:74:101;14771:18;;;14764:34;;;4143:29:97;;-1:-1:-1;4183:7:97;;;;14654:18:101;;4183:34:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;-1:-1:-1;;;;;4231:22:97;:12;-1:-1:-1;;;;;4231:22:97;;4227:316;;707:6:39;;-1:-1:-1;;;;;707:6:39;4269:54:97;;-1:-1:-1;;;4269:54:97;;;;;26454:25:101;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4269:15:97;;;;;;;4292:10;;26427:18:101;;4269:54:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;;;4354:55;;;;;4391:4;4354:55;;;14681:74:101;14771:18;;;14764:34;;;-1:-1:-1;;;;;4354:28:97;;;;;14654:18:101;;4354:55:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4433:12;-1:-1:-1;;;;;4423:31:97;;4463:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4463:6:97;4423:60;;-1:-1:-1;;;;;;4423:60:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;4423:60:97;;;14681:74:101;14771:18;;;14764:34;;;14654:18;;4423:60:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;4497:35:97;;-1:-1:-1;;;4497:35:97;;;;;26454:25:101;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4497:15:97;;;;;;;26427:18:101;;4497:35:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;4562:14;;4553:70;;4578:27;4594:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;4578:27:97;4553:70;;;;;;;;;;;;;;;;;:8;:70::i;:::-;4720:35;;;;;;;;;;;;;;-1:-1:-1;;;4720:35:97;;;:17;:35::i;:::-;4766:41;4810:143;;;;;;;;4849:1;4810:143;;;;4852:6;4810:143;;;;4860:12;:10;:12::i;:::-;-1:-1:-1;;;;;4810:143:97;;;;;4874:31;4810:143;;;;4907:13;4810:143;;;;4930:12;-1:-1:-1;;;;;4810:143:97;;;;4766:187;;4963:17;4994:8;4983:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;4963:40;;5013:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;5013:6:97;-1:-1:-1;;;;;5013:24:97;;5038:6;5046:4;5013:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5062:18;:16;:18::i;:::-;3437:1650;;;;3273:1814;;;;;;:::o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14681:74:101;;;-1:-1:-1;;;14771:18:101;;;14764:34;2196:43:44;;;;;;;;;14654:18:101;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;6368:1028:97:-;6465:14;6483:29;4445:42:9;6507:1:97;6510;6483:15;:29::i;:::-;6434:78;;;6577:39;;;;;;;;;;;;;;-1:-1:-1;;;6577:39:97;;;:17;:39::i;:::-;6670:35;;;6703:1;6670:35;;;;;;;;;6626:41;;6670:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6670:35:97;;;;;;;;;;;;;;;6626:79;;6804:33;;;;;;;;6831:1;6804:33;;;;6834:2;6804:33;;;6793:5;6799:1;6793:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6879:33;;;;;;;;6906:1;6879:33;;;;6909:2;6879:33;;;6868:5;6874:1;6868:8;;;;;;;;:::i;:::-;;;;;;:44;;;;7054:17;7085:5;7074:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7074:17:97;;;;;;;;;;-1:-1:-1;7101:13:97;;7115:12;:10;:12::i;:::-;7101:27;;-1:-1:-1;;;;;;7101:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;7101:27:97;;;160:74:101;133:18;;7101:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7138:54:97;;;;;7154:37;7138:54;;;38028:98:101;7138:15:97;;-1:-1:-1;7138:15:97;;-1:-1:-1;38001:18:101;;7138:54:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7307:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7307:6:97;-1:-1:-1;;;;;7307:15:97;;7323:6;7331:4;7307:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;7347:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:113:38;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;8834:1541:97:-;8901:22;8925:14;8943:29;4445:42:9;8967:1:97;8970;8943:15;:29::i;:::-;8900:72;;;;9026:39;;;;;;;;;;;;;;-1:-1:-1;;;9026:39:97;;;:17;:39::i;:::-;9119:35;;;9152:1;9119:35;;;;;;;;;9075:41;;9119:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9119:35:97;;;;;;;;;;;;;;;9075:79;;9175:33;;;;;;;;9202:1;9175:33;;;;9205:2;9175:33;;;9164:5;9170:1;9164:8;;;;;;;;:::i;:::-;;;;;;:44;;;;9258:17;9289:5;9278:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;9258:37;;9306:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;9306:6:97;-1:-1:-1;;;;;9306:15:97;;9322:6;9330:4;9306:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:18;:16;:18::i;:::-;9374:21;9419:3;9398:18;1850:2;9398;:18;:::i;:::-;:24;;;;:::i;:::-;9475:13;;;;9510:42;;-1:-1:-1;;;9510:42:97;;9535:1;9510:42;;;21692:25:101;9546:4:97;21733:18:101;;;21726:83;9374:48:97;;-1:-1:-1;9475:13:97;9501:67;;-1:-1:-1;;;;;9510:24:97;;;;;21665:18:101;;9510:42:97;21510:305:101;9501:67:97;9605:29;;-1:-1:-1;;;9605:29:97;;9632:1;9605:29;;;644:25:101;9596:54:97;;-1:-1:-1;;;;;9605:26:97;;;;;617:18:101;;9605:29:97;498:177:101;9596:54:97;9965:35;;;9998:1;9965:35;;;;;;;;;9920:42;;9965:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9965:35:97;;;;;;;;;;;;;;;9920:80;;10022:33;;;;;;;;10049:1;10022:33;;;;10052:2;10022:33;;;10010:6;10017:1;10010:9;;;;;;;;:::i;:::-;;;;;;:45;;;;10083:6;10072:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;10065:25;;10151:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;10151:6:97;-1:-1:-1;;;;;10151:15:97;;10167:6;10175:4;10151:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10227:42:97;;-1:-1:-1;;;10227:42:97;;10252:1;10227:42;;;21692:25:101;10263:4:97;21733:18:101;;;21726:83;10218:67:97;;-1:-1:-1;;;;;;10227:24:97;;;-1:-1:-1;10227:24:97;;21665:18:101;;10227:42:97;21510:305:101;10218:67:97;10323:29;;-1:-1:-1;;;10323:29:97;;10350:1;10323:29;;;644:25:101;10314:54:97;;-1:-1:-1;;;;;10323:26:97;;;;;617:18:101;;10323:29:97;498:177:101;5093:254:97;5166:7;5189:16;-1:-1:-1;;;;;5189:16:97;;;5185:156;;-1:-1:-1;;;;;;5228:23:97;;;5221:30;;5185:156;5289:41;;;;;-1:-1:-1;;;;;178:55:101;;;5289:41:97;;;160:74:101;5289:24:97;;;;;133:18:101;;5289:41:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5282:48;;5185:156;5093:254;;;;:::o;4571:105:38:-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;7402:901:97:-;7501:22;7525:14;7543:29;4445:42:9;7567:1:97;7570;7543:15;:29::i;:::-;7500:72;;;;7637:39;;;;;;;;;;;;;;-1:-1:-1;;;7637:39:97;;;:17;:39::i;:::-;7730:35;;;7763:1;7730:35;;;;;;;;;7686:41;;7730:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;7730:35:97;;;;;;;;;;;;;;;7686:79;;7786:35;;;;;;;;7813:1;7786:35;;;;-1:-1:-1;;7786:35:97;;;7775:5;7781:1;7775:8;;;;;;;;:::i;:::-;;;;;;:46;;;;7831:17;7862:5;7851:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7851:17:97;;;;;;;;;309:37:45;7895:75:97;;;38371:36:101;-1:-1:-1;;38423:18:101;;;38416:49;;;38481:18;;;;38474:49;;;;7895:75:97;;;;;;;;;;38344:18:101;;;;7895:75:97;;;;;;;-1:-1:-1;;;;;7895:75:97;7918:36;7895:75;;;7879:92;;-1:-1:-1;;;7879:92:97;;7851:17;;-1:-1:-1;7879:15:97;;;;:92;;7895:75;7879:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7981:6:97;-1:-1:-1;;;;;7981:15:97;;7997:6;8005:4;7981:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8020:18;:16;:18::i;:::-;8092:13;;;;8128:42;;-1:-1:-1;;;8128:42:97;;8153:1;8128:42;;;21692:25:101;8164:4:97;21733:18:101;;;21726:83;8119:75:97;;-1:-1:-1;;;;;8128:24:97;;;;;21665:18:101;;8128:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8172:1;8119:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;8232:29;;-1:-1:-1;;;8232:29:97;;8259:1;8232:29;;;644:25:101;8223:73:97;;-1:-1:-1;;;;;8232:26:97;;;;;617:18:101;;8232:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8263:1;8223:73;;;;;;;;;;;;;;;;;:8;:73::i;546:124:38:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;10381:1258:97:-;10441:22;10465:14;10483:29;4445:42:9;10507:1:97;10510;10483:15;:29::i;:::-;10566:13;;;;10440:72;;-1:-1:-1;10440:72:97;-1:-1:-1;;;;;;10593:11:97;;;10605:24;10619:9;10605:13;:24::i;:::-;10593:37;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;10593:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10657:2;-1:-1:-1;;;;;10657:14:97;;10672:24;10686:9;10672:13;:24::i;:::-;10657:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;10657:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:2;-1:-1:-1;;;;;10726:12:97;;10739:26;10753:11;10739:13;:26::i;:::-;10726:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;10726:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:39;;;;;;;;;;;;;;-1:-1:-1;;;10841:39:97;;;:17;:39::i;:::-;10934:35;;;10967:1;10934:35;;;;;;;;;10890:41;;10934:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;10934:35:97;;;;;;;;;;;;;;;10890:79;;10990:33;;;;;;;;11017:1;10990:33;;;;11020:2;10990:33;;;10979:5;10985:1;10979:8;;;;;;;;:::i;:::-;;;;;;:44;;;;11033:17;11064:5;11053:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;11033:37;;11080:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;11080:6:97;-1:-1:-1;;;;;11080:15:97;;11096:6;11104:4;11080:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11119:18;:16;:18::i;:::-;11148:21;11193:3;11172:18;1850:2;11172;:18;:::i;:::-;:24;;;;:::i;:::-;11215:42;;-1:-1:-1;;;11215:42:97;;11240:1;11215:42;;;21692:25:101;11251:4:97;21733:18:101;;;21726:83;11148:48:97;;-1:-1:-1;11206:67:97;;-1:-1:-1;;;;;11215:24:97;;;;;21665:18:101;;11215:42:97;21510:305:101;11206:67:97;11292:29;;-1:-1:-1;;;11292:29:97;;11319:1;11292:29;;;644:25:101;11283:54:97;;-1:-1:-1;;;;;11292:26:97;;;;;617:18:101;;11292:29:97;498:177:101;11283:54:97;11368:44;;-1:-1:-1;;;11368:44:97;;11391:2;11368:44;;;30678:25:101;11348:17:97;30719:18:101;;;30712:34;;;30762:18;;;30755:34;;;11348:17:97;-1:-1:-1;;;;;11368:22:97;;;;;30651:18:101;;11368:44:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11348:64;;11422:39;;;;;;;;;;;;;;-1:-1:-1;;;11422:39:97;;;11451:9;11422:11;:39::i;:::-;11471:14;11488:64;11509:2;11513:1;11516:13;11531:20;11488;:64::i;:::-;11471:81;;11562:33;;;;;;;;;;;;;;-1:-1:-1;;;11562:33:97;;;11588:6;11562:11;:33::i;:::-;11605:27;11614:9;11625:6;11605:8;:27::i;:::-;10430:1209;;;;;;;;10381:1258::o;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:96:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:96;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:96;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:96:o;27192:2606:97:-;27256:22;27280:14;27298:33;27322:1;27326;27329;27298:15;:33::i;:::-;27255:76;;;;27342:35;;;;;;;;;;;;;;-1:-1:-1;;;27342:35:97;;;:17;:35::i;:::-;27444:98;;;;;;;;27470:1;27444:98;;;;;;;;;-1:-1:-1;27444:98:97;;;;;;;;;;;;;;;;;;;;;;;;27572:20;;27444:98;;-1:-1:-1;27572:20:97;;27444:98;;27572:20;;:::i;:::-;;;;;;;;;;;;;27552:40;;27602:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;27602:6:97;-1:-1:-1;;;;;27602:24:97;;27627:6;27635:4;27602:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27651:18;:16;:18::i;:::-;27733:39;;;;;;;;;;;;;;-1:-1:-1;;;27733:39:97;;;:17;:39::i;:::-;27893:35;;;27926:1;27893:35;;;;;;;;;27803:3;;27838:1;;27782:18;;27893:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;27893:35:97;;;;;;;;;;;;;;;27849:79;;27949:52;;;;;;;;27976:11;27949:52;;;;27989:11;27949:52;;;27938:5;27944:1;27938:8;;;;;;;;:::i;:::-;;;;;;:63;;;;28065:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;28065:6:97;-1:-1:-1;;;;;28065:15:97;;28081:6;28100:5;28089:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;28065:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28117:18;:16;:18::i;:::-;28146:21;28209:3;28170:36;1850:2;28178:11;28170:36;:::i;:::-;:42;;;;:::i;:::-;28265:13;;;;28300:52;;-1:-1:-1;;;28300:52:97;;;;;21692:25:101;;;28346:4:97;21733:18:101;;;21726:83;28146:66:97;;-1:-1:-1;28265:13:97;28291:77;;-1:-1:-1;;;;;28300:24:97;;;;;21665:18:101;;28300:52:97;21510:305:101;28291:77:97;28405:39;;-1:-1:-1;;;28405:39:97;;;;;644:25:101;;;28396:64:97;;-1:-1:-1;;;;;28405:26:97;;;;;617:18:101;;28405:39:97;498:177:101;28396:64:97;28545:23;28582:20;28644:17;28675:22;28725:17;28794:2;-1:-1:-1;;;;;28794:14:97;;28809:1;28794:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;28794:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28489:322;;;;;;;;;;;;;;;;;29007:52;;;;;;;;;;;;;;-1:-1:-1;;;29007:52:97;;;29043:15;29007:11;:52::i;:::-;29069:46;;;;;;;;;;;;;;-1:-1:-1;;;29069:46:97;;;29102:12;29069:11;:46::i;:::-;29125:39;;;;;;;;;;;;;;-1:-1:-1;;;29125:39:97;;;29154:9;29125:11;:39::i;:::-;29244:40;;;;;;;;;;;;;;;;;;29274:9;29244:11;:40::i;:::-;29294:50;;;;;;;;;;;;;;-1:-1:-1;;;29294:50:97;;;29329:14;29294:11;:50::i;:::-;29607:25;29646:11;29635:23;;;;;;644:25:101;;632:2;617:18;;498:177;29635:23:97;;;;;;;;;;;;;29607:51;;29669:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;29669:6:97;-1:-1:-1;;;;;29669:17:97;;29687:6;29709:1;29695:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29695:16:97;;29713:12;29669:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27245:2553;;;;;;;;;;;;;;;27192:2606::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1192:22:40;;;160:74:101;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:40;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:101;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1482:26:40;;;160:74:101;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:101;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1765:26:40;;;160:74:101;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:101;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:101;;;342:27:39;;;160:74:101;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;42811:15:101;;;409:201:39;;;42793:34:101;42863:15;;;42843:18;;;42836:43;42915:15;;;42895:18;;;42888:43;554:4:39;42947:18:101;;;42940:34;-1:-1:-1;42990:19:101;;;42983:35;42704:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1094:785:100;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:101;;;632:2;617:18;;498:177;1169:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:100;-1:-1:-1;;;;;1152:41:100;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:100;;;;;43241:74:101;;;;43331:18;;;43324:30;43390:2;43370:18;;;43363:30;43429:16;43409:18;;;43402:44;1203:8:100;;;;43463:19:101;;1203:42:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:100;;;;;-1:-1:-1;;;;;1268:11:100;;-1:-1:-1;1256:589:100;;-1:-1:-1;1256:589:100;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:100;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:100;;-1:-1:-1;;;;;;1384:52:100;;;;;;;-1:-1:-1;;;;;17430:55:101;;;1384:52:100;;;17412:74:101;17522:2;17502:18;;;17495:30;1434:1:100;17541:18:101;;;17534:29;;;17615:18;;;17608:34;17580:19;;1384:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:100;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:100;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:100;;1595:11;;;;-1:-1:-1;;;;;1595:11:100;1578:45;;;43705:74:101;43795:18;;;43788:30;43854:2;43834:18;;;43827:30;43893:13;43873:18;;;43866:41;1578:8:100;;;;43924:19:101;;1578:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:100;;-1:-1:-1;1677:1:100;;-1:-1:-1;1663:16:100;;-1:-1:-1;1663:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:100;-1:-1:-1;1713:14:100;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:100;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:100;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:100;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:100;;;;;-1:-1:-1;;;;;1861:11:100;;1094:785::o;1107:186:47:-;1196:1;1191:6;;:1;:6;;;1187:100;;1218:30;1244:3;1218:30;;;;;;:::i;:::-;;;;;;;;1262:14;1271:1;1274;1262:8;:14::i;357:192:99:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:99;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;610:335;555:396::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;47965:2:101;47947:21;;;48004:2;47984:18;;;47977:30;48043:34;48038:2;48023:18;;48016:62;48114:4;48109:2;48094:18;;48087:32;48151:3;48136:19;;47763:398;5293:41:44;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2635:114:96:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;6548:139:59:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:59;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:59;;;;;6612:15;:68::i;5476:178:44:-;5557:1;5552;:6;5548:100;;5579:30;5605:3;5579:30;;;;;;:::i;:::-;;;;;;;;5623:14;5632:1;5635;5623:8;:14::i;4377:185::-;4464:1;4459;:6;4455:101;;4486:31;4513:3;4486:31;;;;;;:::i;:::-;;;;;;;;4531:14;4540:1;4543;4531:8;:14::i;3030:447:96:-;3091:15;-1:-1:-1;;;3126:2:96;:12;3118:53;;;;-1:-1:-1;;;3118:53:96;;49402:2:101;3118:53:96;;;49384:21:101;49441:2;49421:18;;;49414:30;49480;49460:18;;;49453:58;49528:18;;3118:53:96;;;;;;;;;-1:-1:-1;;;;3193:2:96;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:96;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:96;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;558:39:40;;;160:74:101;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6994:145:59;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:59;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:59;;;;;7061:15;:71::i;789:312:47:-;859:1;854:6;;:1;:6;;;850:245;;881:41;;;;;50743:2:101;50725:21;;;50782:2;50762:18;;;50755:30;50821:34;50816:2;50801:18;;50794:62;50892:4;50887:2;50872:18;;50865:32;50929:3;50914:19;;50541:398;881:41:47;;;;;;;;941:52;972:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:47;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:47;;;;941:52;;;;;;:::i;:::-;;;;;;;;1012;1043:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:47;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:47;;;;1012:52;;;;;;:::i;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;52036:74:101;;;-1:-1:-1;;;52126:18:101;;;52119:34;;;;2712:4:44;52169:18:101;;;52162:34;2489:11:44;;1671:64;2586:43;;52009:18:101;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;181:376:59:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;4095:277:44:-;4163:1;4158;:6;4154:212;;4185:44;;;;;52409:2:101;52391:21;;;52448:2;52428:18;;;52421:30;52487:34;52482:2;52467:18;;52460:62;52558:7;52553:2;52538:18;;52531:35;52598:3;52583:19;;52207:401;4185:44:44;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;2755:269:96:-;2816:15;-1:-1:-1;;;2851:2:96;:13;;2843:66;;;;-1:-1:-1;;;2843:66:96;;53521:2:101;2843:66:96;;;53503:21:101;53560:2;53540:18;;;53533:30;53599:34;53579:18;;;53572:62;53670:10;53650:18;;;53643:38;53698:19;;2843:66:96;53319:404:101;2843:66:96;-1:-1:-1;;;2927:2:96;:12;2919:53;;;;-1:-1:-1;;;2919:53:96;;53930:2:101;2919:53:96;;;53912:21:101;53969:2;53949:18;;;53942:30;54008;53988:18;;;53981:58;54056:18;;2919:53:96;53728:352:101;2919:53:96;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:96:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:101:-;-1:-1:-1;;;;;941:5:101;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:101:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:101;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:101;;1273:484;-1:-1:-1;;;;;1273:484:101:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:101;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:101;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:101:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:101;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:101;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:101;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:101;;;;4211:6;-1:-1:-1;;4240:15:101;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:101;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:101:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:101:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:101;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:101;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:101;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:101;;;;6520:5;-1:-1:-1;;;6548:15:101;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:101;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:101:o;6639:184::-;-1:-1:-1;;;6688:1:101;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:101;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:101:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:101;7514:15;-1:-1:-1;;7510:29:101;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:101;7873:18;;7860:32;;-1:-1:-1;7943:2:101;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:101;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:101;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:101;;8684:803;-1:-1:-1;;;;;;;8684:803:101:o;9762:844::-;9888:6;9896;9904;9912;9920;9973:3;9961:9;9952:7;9948:23;9944:33;9941:53;;;9990:1;9987;9980:12;9941:53;10029:9;10016:23;10048:31;10073:5;10048:31;:::i;:::-;10098:5;-1:-1:-1;10155:2:101;10140:18;;10127:32;10168:33;10127:32;10168:33;:::i;:::-;10220:7;-1:-1:-1;10279:2:101;10264:18;;10251:32;10292:33;10251:32;10292:33;:::i;:::-;10344:7;-1:-1:-1;10403:2:101;10388:18;;10375:32;10416:33;10375:32;10416:33;:::i;:::-;10468:7;-1:-1:-1;10527:3:101;10512:19;;10499:33;10541;10499;10541;:::i;:::-;10593:7;10583:17;;;9762:844;;;;;;;;:::o;10611:383::-;10688:6;10696;10704;10757:2;10745:9;10736:7;10732:23;10728:32;10725:52;;;10773:1;10770;10763:12;10725:52;10812:9;10799:23;10831:31;10856:5;10831:31;:::i;:::-;10881:5;10933:2;10918:18;;10905:32;;-1:-1:-1;10984:2:101;10969:18;;;10956:32;;10611:383;-1:-1:-1;;;10611:383:101:o;10999:252::-;11086:5;11080:12;11075:3;11068:25;11050:3;11139:4;11132:5;11128:16;11122:23;11177:4;11170;11165:3;11161:14;11154:28;11198:47;11239:4;11234:3;11230:14;11216:12;11198:47;:::i;11256:873::-;11457:2;11446:9;11439:21;11502:6;11496:13;11491:2;11480:9;11476:18;11469:41;11420:4;11557;11549:6;11545:17;11539:24;-1:-1:-1;;;;;11678:2:101;11664:12;11660:21;11655:2;11644:9;11640:18;11633:49;11747:2;11741;11733:6;11729:15;11723:22;11719:31;11713:3;11702:9;11698:19;11691:60;;;11800:2;11792:6;11788:15;11782:22;11841:4;11835:3;11824:9;11820:19;11813:33;11869:63;11927:3;11916:9;11912:19;11896:14;11869:63;:::i;:::-;11988:3;11976:16;;11970:23;11963:4;11948:20;;11941:53;12049:3;12037:16;;;12031:23;12025:3;12010:19;;12003:52;-1:-1:-1;;12109:4:101;12094:20;12087:36;11855:77;11256:873::o;12326:388::-;12394:6;12402;12455:2;12443:9;12434:7;12430:23;12426:32;12423:52;;;12471:1;12468;12461:12;12423:52;12510:9;12497:23;12529:31;12554:5;12529:31;:::i;:::-;12579:5;-1:-1:-1;12636:2:101;12621:18;;12608:32;12649:33;12608:32;12649:33;:::i;:::-;12701:7;12691:17;;;12326:388;;;;;:::o;13210:385::-;13296:6;13304;13312;13320;13373:3;13361:9;13352:7;13348:23;13344:33;13341:53;;;13390:1;13387;13380:12;13341:53;-1:-1:-1;;13413:23:101;;;13483:2;13468:18;;13455:32;;-1:-1:-1;13534:2:101;13519:18;;13506:32;;13585:2;13570:18;13557:32;;-1:-1:-1;13210:385:101;-1:-1:-1;13210:385:101:o;14039:184::-;-1:-1:-1;;;14088:1:101;14081:88;14188:4;14185:1;14178:15;14212:4;14209:1;14202:15;14228:274;14268:1;14294;14284:189;;-1:-1:-1;;;14326:1:101;14319:88;14430:4;14427:1;14420:15;14458:4;14455:1;14448:15;14284:189;-1:-1:-1;14487:9:101;;14228:274::o;14809:245::-;14876:6;14929:2;14917:9;14908:7;14904:23;14900:32;14897:52;;;14945:1;14942;14935:12;14897:52;14977:9;14971:16;14996:28;15018:5;14996:28;:::i;15059:437::-;15138:1;15134:12;;;;15181;;;15202:61;;15256:4;15248:6;15244:17;15234:27;;15202:61;15309:2;15301:6;15298:14;15278:18;15275:38;15272:218;;-1:-1:-1;;;15343:1:101;15336:88;15447:4;15444:1;15437:15;15475:4;15472:1;15465:15;15272:218;;15059:437;;;:::o;15501:848::-;15700:2;15689:9;15682:21;15663:4;-1:-1:-1;;;;;15819:2:101;15810:6;15804:13;15800:22;15795:2;15784:9;15780:18;15773:50;15887:2;15881;15873:6;15869:15;15863:22;15859:31;15854:2;15843:9;15839:18;15832:59;15945:2;15937:6;15933:15;15927:22;15922:2;15911:9;15907:18;15900:50;16005:2;15997:6;15993:15;15987:22;15981:3;15970:9;15966:19;15959:51;16065:3;16057:6;16053:16;16047:23;16041:3;16030:9;16026:19;16019:52;16118:3;16110:6;16106:16;16100:23;16160:4;16154:3;16143:9;16139:19;16132:33;16188:61;16244:3;16233:9;16229:19;16215:12;16188:61;:::i;:::-;16174:75;;16316:2;16309:3;16301:6;16297:16;16291:23;16287:32;16280:4;16269:9;16265:20;16258:62;16337:6;16329:14;;;;15501:848;;;;:::o;16354:138::-;16433:13;;16455:31;16433:13;16455:31;:::i;16497:251::-;16567:6;16620:2;16608:9;16599:7;16595:23;16591:32;16588:52;;;16636:1;16633;16626:12;16588:52;16668:9;16662:16;16687:31;16712:5;16687:31;:::i;16753:184::-;16823:6;16876:2;16864:9;16855:7;16851:23;16847:32;16844:52;;;16892:1;16889;16882:12;16844:52;-1:-1:-1;16915:16:101;;16753:184;-1:-1:-1;16753:184:101:o;16942:218::-;17089:2;17078:9;17071:21;17052:4;17109:45;17150:2;17139:9;17135:18;17127:6;17109:45;:::i;18859:184::-;-1:-1:-1;;;18908:1:101;18901:88;19008:4;19005:1;18998:15;19032:4;19029:1;19022:15;19048:1065;19490:4;19519:3;19549:2;19538:9;19531:21;19575:56;19627:2;19616:9;19612:18;19604:6;19575:56;:::i;:::-;19662:2;19647:18;;;19640:34;;;;-1:-1:-1;;;;;19771:15:101;;;19766:2;19751:18;;19744:43;19823:22;;;19818:2;19803:18;;19796:50;-1:-1:-1;19855:17:101;;19941:15;;;19935:3;19920:19;;19913:44;-1:-1:-1;;19994:15:101;;;19988:3;19973:19;;19966:44;20041:3;20026:19;;20019:35;;;;20091:15;;;20085:3;20070:19;;;20063:44;;;;19889:15;;19048:1065;-1:-1:-1;19048:1065:101:o;20118:806::-;20357:2;20409:21;;;20479:13;;20382:18;;;20501:22;;;20328:4;;20357:2;20542;;20560:18;;;;20601:15;;;20328:4;20644:254;20658:6;20655:1;20652:13;20644:254;;;20717:13;;20755:9;;20743:22;;20805:11;;20799:18;20785:12;;;20778:40;20838:12;;;;20873:15;;;;20680:1;20673:9;20644:254;;;-1:-1:-1;20915:3:101;;20118:806;-1:-1:-1;;;;;;;20118:806:101:o;22010:168::-;22083:9;;;22114;;22131:15;;;22125:22;;22111:37;22101:71;;22152:18;;:::i;22183:125::-;22248:9;;;22269:10;;;22266:36;;;22282:18;;:::i;22505:159::-;22596:13;;22638:1;22628:12;;22618:40;;22654:1;22651;22644:12;22669:1237;22876:6;22884;22892;22900;22908;22916;22924;22932;22940;22948;22956:7;22965;23019:3;23007:9;22998:7;22994:23;22990:33;22987:53;;;23036:1;23033;23026:12;22987:53;23068:9;23062:16;23087:31;23112:5;23087:31;:::i;:::-;23187:2;23172:18;;23166:25;23137:5;;-1:-1:-1;23200:33:101;23166:25;23200:33;:::i;:::-;23304:2;23289:18;;23283:25;23252:7;;-1:-1:-1;23317:33:101;23283:25;23317:33;:::i;:::-;23369:7;23359:17;;;23416:2;23405:9;23401:18;23395:25;23385:35;;23460:3;23449:9;23445:19;23439:26;23429:36;;23510:3;23499:9;23495:19;23489:26;23546:1;23537:7;23534:14;23524:42;;23562:1;23559;23552:12;23524:42;23585:7;-1:-1:-1;23611:62:101;23668:3;23653:19;;23611:62;:::i;:::-;23601:72;;23713:3;23702:9;23698:19;23692:26;23682:36;;23758:3;23747:9;23743:19;23737:26;23727:36;;23803:3;23792:9;23788:19;23782:26;23772:36;;23849:3;23838:9;23834:19;23828:26;23817:37;;23895:3;23884:9;23880:19;23874:26;23863:37;;22669:1237;;;;;;;;;;;;;;:::o;24117:184::-;-1:-1:-1;;;24166:1:101;24159:88;24266:4;24263:1;24256:15;24290:4;24287:1;24280:15;24306:140;24387:1;24380:5;24377:12;24367:46;;24393:18;;:::i;:::-;24422;;24306:140::o;24451:1037::-;24858:4;24887:3;-1:-1:-1;;;;;24990:2:101;24982:6;24978:15;24967:9;24960:34;25030:6;25025:2;25014:9;25010:18;25003:34;25073:2;25068;25057:9;25053:18;25046:30;25093:45;25134:2;25123:9;25119:18;25111:6;25093:45;:::i;:::-;25085:53;;25147;25196:2;25185:9;25181:18;25173:6;25147:53;:::i;:::-;25231:3;25216:19;;25209:35;;;;-1:-1:-1;25275:3:101;25260:19;;25253:35;;;;25319:3;25304:19;;25297:35;;;;25369:15;;;25363:3;25348:19;;25341:44;25422:15;;;25416:3;25401:19;;25394:44;25469:3;25454:19;25447:35;;;;24451:1037;;-1:-1:-1;;;;24451:1037:101:o;25493:320::-;25568:5;25597:52;25613:35;25641:6;25613:35;:::i;25597:52::-;25588:61;;25672:6;25665:5;25658:21;25712:3;25703:6;25698:3;25694:16;25691:25;25688:45;;;25729:1;25726;25719:12;25688:45;25742:65;25800:6;25793:4;25786:5;25782:16;25777:3;25742:65;:::i;25818:457::-;25897:6;25950:2;25938:9;25929:7;25925:23;25921:32;25918:52;;;25966:1;25963;25956:12;25918:52;25999:9;25993:16;26032:18;26024:6;26021:30;26018:50;;;26064:1;26061;26054:12;26018:50;26087:22;;26140:4;26132:13;;26128:27;-1:-1:-1;26118:55:101;;26169:1;26166;26159:12;26118:55;26192:77;26261:7;26256:2;26250:9;26245:2;26241;26237:11;26192:77;:::i;26533:395::-;26619:6;26627;26635;26688:2;26676:9;26667:7;26663:23;26659:32;26656:52;;;26704:1;26701;26694:12;26656:52;26736:9;26730:16;26786:4;26779:5;26775:16;26768:5;26765:27;26755:55;;26806:1;26803;26796:12;26755:55;26874:2;26859:18;;26853:25;26918:2;26903:18;;;26897:25;26829:5;;26853:25;;-1:-1:-1;26897:25:101;26533:395;-1:-1:-1;;;26533:395:101:o;27329:1135::-;27762:4;27791:3;-1:-1:-1;;;;;27894:2:101;27886:6;27882:15;27871:9;27864:34;27934:6;27929:2;27918:9;27914:18;27907:34;27977:2;27972;27961:9;27957:18;27950:30;28003:45;28044:2;28033:9;28029:18;28021:6;28003:45;:::i;:::-;27989:59;;28057:53;28106:2;28095:9;28091:18;28083:6;28057:53;:::i;:::-;28147:6;28141:3;28130:9;28126:19;28119:35;28191:6;28185:3;28174:9;28170:19;28163:35;28235:6;28229:3;28218:9;28214:19;28207:35;28291:2;28283:6;28279:15;28273:3;28262:9;28258:19;28251:44;28344:2;28336:6;28332:15;28326:3;28315:9;28311:19;28304:44;;28397:9;28389:6;28385:22;28379:3;28368:9;28364:19;28357:51;28425:33;28451:6;28443;28425:33;:::i;:::-;28417:41;27329:1135;-1:-1:-1;;;;;;;;;;;;;27329:1135:101:o;28469:795::-;28627:4;28669:3;28658:9;28654:19;28646:27;;28706:6;28700:13;28689:9;28682:32;28770:4;28762:6;28758:17;28752:24;28745:4;28734:9;28730:20;28723:54;28824:4;28816:6;28812:17;28806:24;-1:-1:-1;;;;;28947:2:101;28933:12;28929:21;28922:4;28911:9;28907:20;28900:51;29000:4;28992:6;28988:17;28982:24;28960:46;;29044:1;29028:14;29025:21;29015:55;;29050:18;;:::i;:::-;29108:14;29101:4;29090:9;29086:20;29079:44;29179:4;29171:6;29167:17;29161:24;29154:4;29143:9;29139:20;29132:54;29254:2;29246:4;29238:6;29234:17;29228:24;29224:33;29217:4;29206:9;29202:20;29195:63;;;28469:795;;;;:::o;29961:493::-;30214:6;30203:9;30196:25;30257:2;30252;30241:9;30237:18;30230:30;30177:4;30283:56;30335:2;30324:9;30320:18;30312:6;30283:56;:::i;:::-;30387:9;30379:6;30375:22;30370:2;30359:9;30355:18;30348:50;30415:33;30441:6;30433;30415:33;:::i;:::-;30407:41;29961:493;-1:-1:-1;;;;;;29961:493:101:o;30968:887::-;31392:6;31381:9;31374:25;31435:3;31430:2;31419:9;31415:18;31408:31;31355:4;31462:50;31507:3;31496:9;31492:19;30877:2;30865:15;;30912:16;30905:4;30896:14;;30889:40;30954:2;30945:12;;30800:163;31462:50;31560:9;31552:6;31548:22;31543:2;31532:9;31528:18;31521:50;31594:42;31629:6;31621;31594:42;:::i;:::-;31580:56;;-1:-1:-1;;;;;31676:6:101;31672:55;31667:2;31656:9;31652:18;31645:83;31777:9;31769:6;31765:22;31759:3;31748:9;31744:19;31737:51;31805:44;31842:6;31834;31805:44;:::i;:::-;31797:52;30968:887;-1:-1:-1;;;;;;;30968:887:101:o;32866:1834::-;33288:6;33277:9;33270:25;33251:4;33314:2;-1:-1:-1;;;;;33425:2:101;33417:6;33413:15;33408:2;33397:9;33393:18;33386:43;33465:3;33460:2;33449:9;33445:18;33438:31;33492:46;33533:3;33522:9;33518:19;33510:6;33492:46;:::i;:::-;33557:2;33607;33599:6;33595:15;33590:2;33579:9;33575:18;33568:43;33648:6;33642:3;33631:9;33627:19;33620:35;33704:9;33696:6;33692:22;33686:3;33675:9;33671:19;33664:51;33745:6;33739:13;33731:6;33724:29;33772:4;33762:14;;33817:2;33809:6;33805:15;33853:2;33848;33840:6;33836:15;33829:27;33876:1;33909:12;33903:19;33945:36;33971:9;33945:36;:::i;:::-;34014:6;34009:2;34001:6;33997:15;33990:31;34052:2;34041:9;34037:18;34069:1;34064:152;;;;34230:1;34225:354;;;;34030:549;;34064:152;-1:-1:-1;;34109:24:101;;34092:15;;;34085:49;34184:14;;34177:22;34174:1;34170:30;34158:43;;34154:52;;;-1:-1:-1;34064:152:101;;34225:354;34256:12;34253:1;34246:23;34310:2;34307:1;34297:16;34335:1;34349:177;34363:6;34360:1;34357:13;34349:177;;;34453:14;;34432;;;34428:23;;34421:47;34496:16;;;;34378:10;;34349:177;;;34550:14;;34546:23;;;-1:-1:-1;;34030:549:101;;;;34625:9;34620:3;34616:19;34610:3;34599:9;34595:19;34588:48;34653:41;34690:3;34682:6;34653:41;:::i;:::-;34645:49;32866:1834;-1:-1:-1;;;;;;;;;;;;;;;32866:1834:101:o;34705:236::-;34759:5;34812:3;34805:4;34797:6;34793:17;34789:27;34779:55;;34830:1;34827;34820:12;34779:55;34852:83;34931:3;34922:6;34916:13;34909:4;34901:6;34897:17;34852:83;:::i;34946:618::-;35012:5;35060:4;35048:9;35043:3;35039:19;35035:30;35032:50;;;35078:1;35075;35068:12;35032:50;35111:4;35105:11;35155:4;35147:6;35143:17;35179:18;35247:6;35235:10;35232:22;35227:2;35215:10;35212:18;35209:46;35206:72;;;35258:18;;:::i;:::-;35300:10;35294:4;35287:24;35329:6;35320:15;;35365:9;35359:16;35351:6;35344:32;35420:2;35409:9;35405:18;35399:25;35385:39;;35447:2;35439:6;35436:14;35433:34;;;35463:1;35460;35453:12;35433:34;;35500:57;35553:3;35544:6;35533:9;35529:22;35500:57;:::i;:::-;35495:2;35487:6;35483:15;35476:82;;;34946:618;;;;:::o;35569:1028::-;35661:6;35714:2;35702:9;35693:7;35689:23;35685:32;35682:52;;;35730:1;35727;35720:12;35682:52;35763:9;35757:16;35792:18;35833:2;35825:6;35822:14;35819:34;;;35849:1;35846;35839:12;35819:34;35872:22;;;;35928:4;35910:16;;;35906:27;35903:47;;;35946:1;35943;35936:12;35903:47;35972:22;;:::i;:::-;36023:2;36017:9;36010:5;36003:24;36065:2;36061;36057:11;36051:18;36078:33;36103:7;36078:33;:::i;:::-;36138:2;36127:14;;36120:31;36189:2;36181:11;;36175:18;36202:33;36175:18;36202:33;:::i;:::-;36262:2;36251:14;;36244:31;36314:2;36306:11;;36300:18;36330:16;;;36327:36;;;36359:1;36356;36349:12;36327:36;36395:65;36452:7;36441:8;36437:2;36433:17;36395:65;:::i;:::-;36390:2;36383:5;36379:14;36372:89;;36508:3;36504:2;36500:12;36494:19;36488:3;36481:5;36477:15;36470:44;36561:3;36557:2;36553:12;36547:19;36541:3;36534:5;36530:15;36523:44;36586:5;36576:15;;;;;35569:1028;;;;:::o;37157:430::-;-1:-1:-1;;;;;;37346:6:101;37342:79;37337:3;37330:92;37312:3;37451:6;37445:13;37467:74;37534:6;37530:1;37525:3;37521:11;37514:4;37506:6;37502:17;37467:74;:::i;:::-;37561:16;;;;37579:1;37557:24;;37157:430;-1:-1:-1;;;37157:430:101:o;37592:287::-;37721:3;37759:6;37753:13;37775:66;37834:6;37829:3;37822:4;37814:6;37810:17;37775:66;:::i;:::-;37857:16;;;;;37592:287;-1:-1:-1;;37592:287:101:o;38534:128::-;38601:9;;;38622:11;;;38619:37;;;38636:18;;:::i;39559:1059::-;39654:6;39707:2;39695:9;39686:7;39682:23;39678:32;39675:52;;;39723:1;39720;39713:12;39675:52;39756:9;39750:16;39785:18;39826:2;39818:6;39815:14;39812:34;;;39842:1;39839;39832:12;39812:34;39865:22;;;;39921:4;39903:16;;;39899:27;39896:47;;;39939:1;39936;39929:12;39896:47;39965:22;;:::i;:::-;40016:2;40010:9;40003:5;39996:24;40066:2;40062;40058:11;40052:18;40047:2;40040:5;40036:14;40029:42;40110:2;40106;40102:11;40096:18;40139:2;40129:8;40126:16;40123:36;;;40155:1;40152;40145:12;40123:36;40191:56;40239:7;40228:8;40224:2;40220:17;40191:56;:::i;:::-;40186:2;40179:5;40175:14;40168:80;;40287:2;40283;40279:11;40273:18;40316:2;40306:8;40303:16;40300:36;;;40332:1;40329;40322:12;40300:36;40368:65;40425:7;40414:8;40410:2;40406:17;40368:65;:::i;:::-;40363:2;40356:5;40352:14;40345:89;;40467:43;40505:3;40501:2;40497:12;40467:43;:::i;:::-;40461:3;40454:5;40450:15;40443:68;40544:43;40582:3;40578:2;40574:12;40544:43;:::i;:::-;40538:3;40527:15;;40520:68;40531:5;39559:1059;-1:-1:-1;;;;;39559:1059:101:o;40623:896::-;41047:6;41036:9;41029:25;41090:3;41085:2;41074:9;41070:18;41063:31;41131:1;41125:3;41114:9;41110:19;41103:30;41170:11;41164:3;41153:9;41149:19;41142:40;41218:3;41213:2;41202:9;41198:18;41191:31;41010:4;41245:55;41295:3;41284:9;41280:19;41272:6;41245:55;:::i;:::-;-1:-1:-1;;;;;41340:6:101;41336:55;41331:2;41320:9;41316:18;41309:83;41441:9;41433:6;41429:22;41423:3;41412:9;41408:19;41401:51;41469:44;41506:6;41498;41469:44;:::i;41524:896::-;41948:6;41937:9;41930:25;41991:3;41986:2;41975:9;41971:18;41964:31;42032:1;42026:3;42015:9;42011:19;42004:30;42071:11;42065:3;42054:9;42050:19;42043:40;42119:3;42114:2;42103:9;42099:18;42092:31;41911:4;42146:55;42196:3;42185:9;42181:19;42173:6;42146:55;:::i;43954:446::-;44204:2;44193:9;44186:21;44243:1;44238:2;44227:9;44223:18;44216:29;44281:7;44276:2;44265:9;44261:18;44254:35;44327:3;44320:4;44309:9;44305:20;44298:33;44167:4;44348:46;44389:3;44378:9;44374:19;44366:6;44348:46;:::i;44405:545::-;44507:2;44502:3;44499:11;44496:448;;;44543:1;44568:5;44564:2;44557:17;44613:4;44609:2;44599:19;44683:2;44671:10;44667:19;44664:1;44660:27;44654:4;44650:38;44719:4;44707:10;44704:20;44701:47;;;-1:-1:-1;44742:4:101;44701:47;44797:2;44792:3;44788:12;44785:1;44781:20;44775:4;44771:31;44761:41;;44852:82;44870:2;44863:5;44860:13;44852:82;;;44915:17;;;44896:1;44885:13;44852:82;;45126:1352;45252:3;45246:10;45279:18;45271:6;45268:30;45265:56;;;45301:18;;:::i;:::-;45330:97;45420:6;45380:38;45412:4;45406:11;45380:38;:::i;:::-;45374:4;45330:97;:::i;:::-;45482:4;;45546:2;45535:14;;45563:1;45558:663;;;;46265:1;46282:6;46279:89;;;-1:-1:-1;46334:19:101;;;46328:26;46279:89;-1:-1:-1;;45083:1:101;45079:11;;;45075:24;45071:29;45061:40;45107:1;45103:11;;;45058:57;46381:81;;45528:944;;45558:663;32813:1;32806:14;;;32850:4;32837:18;;-1:-1:-1;;45594:20:101;;;45712:236;45726:7;45723:1;45720:14;45712:236;;;45815:19;;;45809:26;45794:42;;45907:27;;;;45875:1;45863:14;;;;45742:19;;45712:236;;;45716:3;45976:6;45967:7;45964:19;45961:201;;;46037:19;;;46031:26;-1:-1:-1;;46120:1:101;46116:14;;;46132:3;46112:24;46108:37;46104:42;46089:58;46074:74;;45961:201;-1:-1:-1;;;;;46208:1:101;46192:14;;;46188:22;46175:36;;-1:-1:-1;45126:1352:101:o;46483:979::-;46712:3;46741:1;46774:6;46768:13;46804:36;46830:9;46804:36;:::i;:::-;46859:1;46876:18;;;46903:133;;;;47050:1;47045:356;;;;46869:532;;46903:133;-1:-1:-1;;46936:24:101;;46924:37;;47009:14;;47002:22;46990:35;;46981:45;;;-1:-1:-1;46903:133:101;;47045:356;47076:6;47073:1;47066:17;47106:4;47151:2;47148:1;47138:16;47176:1;47190:165;47204:6;47201:1;47198:13;47190:165;;;47282:14;;47269:11;;;47262:35;47325:16;;;;47219:10;;47190:165;;;47194:3;;;47384:6;47379:3;47375:16;47368:23;;46869:532;-1:-1:-1;;47422:6:101;47410:19;;-1:-1:-1;;47454:1:101;47445:11;;46483:979;-1:-1:-1;;;46483:979:101:o;47467:291::-;47644:2;47633:9;47626:21;47607:4;47664:45;47705:2;47694:9;47690:18;47682:6;47664:45;:::i;:::-;47656:53;;47745:6;47740:2;47729:9;47725:18;47718:34;47467:291;;;;;:::o;48330:348::-;48560:2;48549:9;48542:21;48523:4;48580:49;48625:2;48614:9;48610:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:101;48262:14;;48255:36;48316:2;48307:12;;48166:159;48580:49;48572:57;;48665:6;48660:2;48649:9;48645:18;48638:34;48330:348;;;;:::o;48847:::-;49077:2;49066:9;49059:21;49040:4;49097:49;49142:2;49131:9;49127:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:101;48779:14;;48772:36;48833:2;48824:12;;48683:159;49851:340;-1:-1:-1;;;;;50032:6:101;50028:55;50017:9;50010:74;50120:2;50115;50104:9;50100:18;50093:30;49991:4;50140:45;50181:2;50170:9;50166:18;50158:6;50140:45;:::i;50196:340::-;50373:2;50362:9;50355:21;50336:4;50393:45;50434:2;50423:9;50419:18;50411:6;50393:45;:::i;:::-;50385:53;;-1:-1:-1;;;;;50478:6:101;50474:55;50469:2;50458:9;50454:18;50447:83;50196:340;;;;;:::o;50944:440::-;51194:2;51183:9;51176:21;51157:4;51220:49;51265:2;51254:9;51250:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:101;48262:14;;48255:36;48316:2;48307:12;;48166:159;51220:49;51317:9;51309:6;51305:22;51300:2;51289:9;51285:18;51278:50;51345:33;51371:6;51363;51345:33;:::i;51389:440::-;51639:2;51628:9;51621:21;51602:4;51665:49;51710:2;51699:9;51695:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:101;48779:14;;48772:36;48833:2;48824:12;;48683:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","POOL_AMOUNT()":"beda3db3","REQUESTED_AMOUNT()":"879ee88c","TOTAL_SUPPLY()":"902d55a5","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","_createProposal(address,uint256,uint256)":"b188bdc4","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","disabled_test_threshold_check_as_js_test()":"a6f2b82f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getBalance(address,address)":"d4fac45d","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testRevert_allocate_ProposalIdDuplicated()":"2da49647","testRevert_allocate_UserNotInRegistry()":"bc1687c0","testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW()":"d97d0578","testRevert_registerRecipient_ProposalIdAlreadyExist()":"9a45ff89","test_1_proposalSupported()":"757e122d","test_activate_points()":"136994c0","test_allocate_proposalSupport_empty_array()":"39b7e525","test_conviction_check_as_js_test()":"90ff95a4","test_conviction_check_function()":"de8a1354","test_distribute_native_token()":"8cf86e50","test_distribute_signaling_proposal()":"eaeb7195","test_proposalSupported_change_support()":"d25bba07","test_proposalSupported_conviction_threshold_2_users()":"503c712e","test_total_staked_amount()":"61164d4e","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTED_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"poolAmount\",\"type\":\"uint256\"}],\"name\":\"_createProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"pool\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled_test_threshold_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_ProposalIdDuplicated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_UserNotInRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_registerRecipient_ProposalIdAlreadyExist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_1_proposalSupported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_activate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_allocate_proposalSupport_empty_array\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_function\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_native_token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_signaling_proposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_change_support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_conviction_threshold_2_users\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_total_staked_amount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"_createProposal(address,uint256,uint256)\":{\"notice\":\"HELPERS FUNCTIONS\"},\"testRevert_allocate_ProposalIdDuplicated()\":{\"notice\":\"TESTS\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyTest.t.sol\":\"CVStrategyTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/CVStrategyTest.t.sol\":{\"keccak256\":\"0x7b7181df8457142da5beb78994e773daddd01637d7ba13510615ce85840162c6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://068b5be4ffebd2ded37a2447afb542436e9cbb8c5a38f1e9c4ba92a4195fb2de\",\"dweb:/ipfs/QmZ8qQBC9v18B2THSUGZ5pRw4g2pXgu5cAqCLi5zMH8ioA\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUESTED_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_tokenPool","type":"address"},{"internalType":"uint256","name":"requestAmount","type":"uint256"},{"internalType":"uint256","name":"poolAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"_createProposal","outputs":[{"internalType":"struct IAllo.Pool","name":"pool","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]},{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disabled_test_threshold_check_as_js_test"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_ProposalIdDuplicated"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_UserNotInRegistry"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_1_proposalSupported"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_activate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_allocate_proposalSupport_empty_array"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_as_js_test"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_function"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_native_token"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_signaling_proposal"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_change_support"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_conviction_threshold_2_users"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_total_staked_amount"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"_createProposal(address,uint256,uint256)":{"notice":"HELPERS FUNCTIONS"},"testRevert_allocate_ProposalIdDuplicated()":{"notice":"TESTS"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyTest.t.sol":"CVStrategyTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/CVStrategyTest.t.sol":{"keccak256":"0x7b7181df8457142da5beb78994e773daddd01637d7ba13510615ce85840162c6","urls":["bzz-raw://068b5be4ffebd2ded37a2447afb542436e9cbb8c5a38f1e9c4ba92a4195fb2de","dweb:/ipfs/QmZ8qQBC9v18B2THSUGZ5pRw4g2pXgu5cAqCLi5zMH8ioA"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyTest.t.sol","id":65304,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[61014],"CVStrategyHelpers":[62196],"CVStrategyTest":[65303],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[65732],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[61061],"RegistryGardens":[61829],"RegistrySetupFull":[9534],"SafeSetup":[66113],"StdAssertions":[14047],"StdChains":[14811],"StdCheats":[17664],"StdInvariant":[17989],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"Test":[22442],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24293],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdError":[17730],"stdJson":[18581],"stdMath":[18723],"stdStorage":[20394]},"nodeType":"SourceUnit","src":"39:30264:97","nodes":[{"id":62198,"nodeType":"PragmaDirective","src":"39:24:97","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":62199,"nodeType":"ImportDirective","src":"65:28:97","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":22443,"symbolAliases":[],"unitAlias":""},{"id":62200,"nodeType":"ImportDirective","src":"94:31:97","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":32358,"symbolAliases":[],"unitAlias":""},{"id":62201,"nodeType":"ImportDirective","src":"126:56:97","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":62203,"nodeType":"ImportDirective","src":"184:66:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":62202,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"192:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62205,"nodeType":"ImportDirective","src":"251:74:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":62204,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"259:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62207,"nodeType":"ImportDirective","src":"344:53:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":62206,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"352:4:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62209,"nodeType":"ImportDirective","src":"398:61:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":62208,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"406:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62211,"nodeType":"ImportDirective","src":"482:67:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":62210,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"490:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62213,"nodeType":"ImportDirective","src":"550:71:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":62212,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"558:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62215,"nodeType":"ImportDirective","src":"622:67:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":62214,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"630:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62217,"nodeType":"ImportDirective","src":"708:68:97","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":62216,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"716:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62219,"nodeType":"ImportDirective","src":"777:80:97","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":62218,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"785:17:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62221,"nodeType":"ImportDirective","src":"858:65:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":62220,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"866:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62223,"nodeType":"ImportDirective","src":"924:65:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":62222,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"932:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62225,"nodeType":"ImportDirective","src":"990:59:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":62224,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"998:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62227,"nodeType":"ImportDirective","src":"1051:49:97","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":61015,"symbolAliases":[{"foreign":{"id":62226,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"1059:10:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62229,"nodeType":"ImportDirective","src":"1101:59:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":61830,"symbolAliases":[{"foreign":{"id":62228,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61829,"src":"1109:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62231,"nodeType":"ImportDirective","src":"1161:59:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":61062,"symbolAliases":[{"foreign":{"id":62230,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61061,"src":"1169:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62233,"nodeType":"ImportDirective","src":"1222:53:97","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":65733,"symbolAliases":[{"foreign":{"id":62232,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65732,"src":"1230:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62235,"nodeType":"ImportDirective","src":"1276:49:97","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":66114,"symbolAliases":[{"foreign":{"id":62234,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66113,"src":"1284:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62237,"nodeType":"ImportDirective","src":"1326:58:97","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":65304,"sourceUnit":62197,"symbolAliases":[{"foreign":{"id":62236,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62196,"src":"1334:17:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65303,"nodeType":"ContractDefinition","src":"1525:28777:97","nodes":[{"id":62254,"nodeType":"VariableDeclaration","src":"1644:22:97","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1661:5:97","scope":65303,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":62253,"nodeType":"UserDefinedTypeName","pathNode":{"id":62252,"name":"MockERC20","nameLocations":["1644:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1644:9:97"},"referencedDeclaration":9751,"src":"1644:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":62257,"nodeType":"VariableDeclaration","src":"1672:33:97","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1687:10:97","scope":65303,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62255,"name":"uint256","nodeType":"ElementaryTypeName","src":"1672:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":62256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":62260,"nodeType":"VariableDeclaration","src":"1711:44:97","nodes":[],"constant":true,"functionSelector":"902d55a5","mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1735:12:97","scope":65303,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62258,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3435303030","id":62259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1750:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"visibility":"public"},{"id":62263,"nodeType":"VariableDeclaration","src":"1761:43:97","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1785:11:97","scope":65303,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62261,"name":"uint256","nodeType":"ElementaryTypeName","src":"1761:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":62262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":62266,"nodeType":"VariableDeclaration","src":"1810:42:97","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1834:13:97","scope":65303,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62264,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":62265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1850:2:97","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":62269,"nodeType":"VariableDeclaration","src":"1858:47:97","nodes":[],"constant":true,"functionSelector":"879ee88c","mutability":"constant","name":"REQUESTED_AMOUNT","nameLocation":"1882:16:97","scope":65303,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1858:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":62268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1901:4:97","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":62272,"nodeType":"VariableDeclaration","src":"1912:40:97","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1937:15:97","scope":65303,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"},"typeName":{"id":62271,"nodeType":"UserDefinedTypeName","pathNode":{"id":62270,"name":"RegistryGardens","nameLocations":["1912:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61829,"src":"1912:15:97"},"referencedDeclaration":61829,"src":"1912:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":62455,"nodeType":"FunctionDefinition","src":"1959:1152:97","nodes":[],"body":{"id":62454,"nodeType":"Block","src":"1983:1128:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62275,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1993:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62277,"nodeType":"ExpressionStatement","src":"1993:21:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62281,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"2044:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":62280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2036:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62279,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:97","typeDescriptions":{}}},"id":62283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2036:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62278,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"2024:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":62284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2024:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62285,"nodeType":"ExpressionStatement","src":"2024:32:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62289,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2081:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2081:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2067:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2070:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2067:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2067:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62292,"nodeType":"ExpressionStatement","src":"2067:27:97"},{"expression":{"arguments":[{"hexValue":"30","id":62296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62293,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2104:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2111:13:97","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2104:20:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62298,"nodeType":"ExpressionStatement","src":"2104:23:97"},{"expression":{"arguments":[{"hexValue":"30","id":62302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62299,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2137:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:16:97","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2137:23:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62304,"nodeType":"ExpressionStatement","src":"2137:26:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62305,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2173:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2173:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62309,"nodeType":"ExpressionStatement","src":"2173:14:97"},{"expression":{"id":62315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62310,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"2198:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":62313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2206:13:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":62312,"nodeType":"UserDefinedTypeName","pathNode":{"id":62311,"name":"MockERC20","nameLocations":["2210:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2210:9:97"},"referencedDeclaration":9751,"src":"2210:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":62314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2206:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2198:23:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62316,"nodeType":"ExpressionStatement","src":"2198:23:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62320,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2242:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":62321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:7:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":62322,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62260,"src":"2251:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":62323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2251:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62317,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"2231:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2231:10:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62326,"nodeType":"ExpressionStatement","src":"2231:37:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62330,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2289:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":62332,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62260,"src":"2303:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":62333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2318:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2303:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62327,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"2278:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2278:10:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62336,"nodeType":"ExpressionStatement","src":"2278:42:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62342,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2352:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2344:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62340,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:97","typeDescriptions":{}}},"id":62344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62345,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62257,"src":"2361:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62337,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"2330:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2336:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2330:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2330:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62347,"nodeType":"ExpressionStatement","src":"2330:42:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62351,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2397:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2397:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62348,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2383:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2386:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2383:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2383:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62354,"nodeType":"ExpressionStatement","src":"2383:27:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62358,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2445:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":62359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:7:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62355,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2420:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2427:17:97","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2420:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":62360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62361,"nodeType":"ExpressionStatement","src":"2420:33:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62362,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2463:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2463:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2463:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62366,"nodeType":"ExpressionStatement","src":"2463:14:97"},{"assignments":[62369],"declarations":[{"constant":false,"id":62369,"mutability":"mutable","name":"registryFactory","nameLocation":"2556:15:97","nodeType":"VariableDeclaration","scope":62454,"src":"2540:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"},"typeName":{"id":62368,"nodeType":"UserDefinedTypeName","pathNode":{"id":62367,"name":"RegistryFactory","nameLocations":["2540:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61061,"src":"2540:15:97"},"referencedDeclaration":61061,"src":"2540:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":62374,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":62372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2574:19:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61061_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":62371,"nodeType":"UserDefinedTypeName","pathNode":{"id":62370,"name":"RegistryFactory","nameLocations":["2578:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61061,"src":"2578:15:97"},"referencedDeclaration":61061,"src":"2578:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}}},"id":62373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2574:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2540:55:97"},{"assignments":[62379],"declarations":[{"constant":false,"id":62379,"mutability":"mutable","name":"params","nameLocation":"2645:6:97","nodeType":"VariableDeclaration","scope":62454,"src":"2605:46:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":62378,"nodeType":"UserDefinedTypeName","pathNode":{"id":62377,"name":"RegistryGardens.InitializeParams","nameLocations":["2605:15:97","2621:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":61234,"src":"2605:32:97"},"referencedDeclaration":61234,"src":"2605:32:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":62380,"nodeType":"VariableDeclarationStatement","src":"2605:46:97"},{"expression":{"id":62389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62381,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62379,"src":"2661:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2668:5:97","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61219,"src":"2661:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62386,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2684:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2684:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2676:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62384,"name":"address","nodeType":"ElementaryTypeName","src":"2676:7:97","typeDescriptions":{}}},"id":62388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2676:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2661:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62390,"nodeType":"ExpressionStatement","src":"2661:30:97"},{"expression":{"id":62400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62391,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62379,"src":"2701:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2708:12:97","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61222,"src":"2701:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62397,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"2738:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":62396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2730:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62395,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:97","typeDescriptions":{}}},"id":62398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62394,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2723:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":62399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2723:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2701:44:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":62401,"nodeType":"ExpressionStatement","src":"2701:44:97"},{"expression":{"id":62406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62402,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62379,"src":"2755:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:19:97","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61224,"src":"2755:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62405,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"2784:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2755:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62407,"nodeType":"ExpressionStatement","src":"2755:42:97"},{"expression":{"id":62412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62408,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62379,"src":"2807:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2814:12:97","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61226,"src":"2807:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":62411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2829:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2807:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62413,"nodeType":"ExpressionStatement","src":"2807:23:97"},{"expression":{"id":62418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62414,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62379,"src":"2840:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2847:9:97","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"2840:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62417,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61854,"src":"2859:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2840:27:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":62419,"nodeType":"ExpressionStatement","src":"2840:27:97"},{"expression":{"id":62431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62420,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62379,"src":"2877:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2884:12:97","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"2877:19:97","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62427,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66014,"src":"2915:12:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":62428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":62426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2907:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62425,"name":"address","nodeType":"ElementaryTypeName","src":"2907:7:97","typeDescriptions":{}}},"id":62429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2907:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2899:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62423,"name":"address","nodeType":"ElementaryTypeName","src":"2899:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":62430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2877:54:97","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":62432,"nodeType":"ExpressionStatement","src":"2877:54:97"},{"expression":{"id":62440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62433,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"2941:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62437,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62379,"src":"3006:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":62435,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62369,"src":"2975:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}},"id":62436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:14:97","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61060,"src":"2975:30:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61234_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":62438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2975:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62434,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61829,"src":"2959:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61829_$","typeString":"type(contract RegistryGardens)"}},"id":62439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2959:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"src":"2941:73:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":62441,"nodeType":"ExpressionStatement","src":"2941:73:97"},{"expression":{"arguments":[{"arguments":[{"id":62447,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"3047:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":62446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3039:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62445,"name":"address","nodeType":"ElementaryTypeName","src":"3039:7:97","typeDescriptions":{}}},"id":62448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3039:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62449,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"3065:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":62450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61746,"src":"3065:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62442,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"3025:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3031:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3025:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62453,"nodeType":"ExpressionStatement","src":"3025:79:97"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1968:5:97","parameters":{"id":62273,"nodeType":"ParameterList","parameters":[],"src":"1973:2:97"},"returnParameters":{"id":62274,"nodeType":"ParameterList","parameters":[],"src":"1983:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62464,"nodeType":"FunctionDefinition","src":"3117:107:97","nodes":[],"body":{"id":62463,"nodeType":"Block","src":"3185:39:97","nodes":[],"statements":[{"expression":{"id":62461,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"3202:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"functionReturnParameters":62460,"id":62462,"nodeType":"Return","src":"3195:22:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3126:16:97","parameters":{"id":62456,"nodeType":"ParameterList","parameters":[],"src":"3142:2:97"},"returnParameters":{"id":62460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62464,"src":"3168:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"},"typeName":{"id":62458,"nodeType":"UserDefinedTypeName","pathNode":{"id":62457,"name":"RegistryGardens","nameLocations":["3168:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61829,"src":"3168:15:97"},"referencedDeclaration":61829,"src":"3168:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3167:17:97"},"scope":65303,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":62688,"nodeType":"FunctionDefinition","src":"3273:1814:97","nodes":[],"body":{"id":62687,"nodeType":"Block","src":"3437:1650:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62479,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62469,"src":"3451:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3468:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3451:18:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62487,"nodeType":"IfStatement","src":"3447:81:97","trueBody":{"id":62486,"nodeType":"Block","src":"3471:57:97","statements":[{"expression":{"id":62484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62482,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62469,"src":"3485:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62483,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62269,"src":"3501:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3485:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62485,"nodeType":"ExpressionStatement","src":"3485:32:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62488,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"3542:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3556:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3542:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62496,"nodeType":"IfStatement","src":"3538:70:97","trueBody":{"id":62495,"nodeType":"Block","src":"3559:49:97","statements":[{"expression":{"id":62493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62491,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"3573:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62492,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62263,"src":"3586:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62494,"nodeType":"ExpressionStatement","src":"3573:24:97"}]}},{"assignments":[62498],"declarations":[{"constant":false,"id":62498,"mutability":"mutable","name":"useTokenPool","nameLocation":"3625:12:97","nodeType":"VariableDeclaration","scope":62687,"src":"3617:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62497,"name":"address","nodeType":"ElementaryTypeName","src":"3617:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62500,"initialValue":{"id":62499,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3640:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3617:29:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62501,"name":"_tokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62467,"src":"3660:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":62504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3682:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3674:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62502,"name":"address","nodeType":"ElementaryTypeName","src":"3674:7:97","typeDescriptions":{}}},"id":62505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3660:24:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62515,"nodeType":"IfStatement","src":"3656:84:97","trueBody":{"id":62514,"nodeType":"Block","src":"3686:54:97","statements":[{"expression":{"id":62512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62507,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62498,"src":"3700:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62510,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"3723:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":62509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3715:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62508,"name":"address","nodeType":"ElementaryTypeName","src":"3715:7:97","typeDescriptions":{}}},"id":62511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3700:29:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62513,"nodeType":"ExpressionStatement","src":"3700:29:97"}]}},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":62517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3768:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":62516,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"3750:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62519,"nodeType":"ExpressionStatement","src":"3750:35:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62523,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"3873:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62520,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3862:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"3859:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62526,"nodeType":"ExpressionStatement","src":"3859:27:97"},{"assignments":[62529],"declarations":[{"constant":false,"id":62529,"mutability":"mutable","name":"strategy","nameLocation":"3908:8:97","nodeType":"VariableDeclaration","scope":62687,"src":"3897:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":62528,"nodeType":"UserDefinedTypeName","pathNode":{"id":62527,"name":"CVStrategy","nameLocations":["3897:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"3897:10:97"},"referencedDeclaration":61014,"src":"3897:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62539,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62535,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3942:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3942:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3934:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62533,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:97","typeDescriptions":{}}},"id":62537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3919:14:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61014_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":62531,"nodeType":"UserDefinedTypeName","pathNode":{"id":62530,"name":"CVStrategy","nameLocations":["3923:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"3923:10:97"},"referencedDeclaration":61014,"src":"3923:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}},"id":62538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3919:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"3897:53:97"},{"expression":{"id":62560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62540,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62477,"src":"3961:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62542,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3981:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3981:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":62546,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62529,"src":"3997:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}],"id":62545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3989:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62544,"name":"address","nodeType":"ElementaryTypeName","src":"3989:7:97","typeDescriptions":{}}},"id":62547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62550,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62464,"src":"4016:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$61829_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":62551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4016:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":62549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4008:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62548,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:97","typeDescriptions":{}}},"id":62552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62553,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4037:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},{"arguments":[{"id":62557,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62498,"src":"4057:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62555,"name":"address","nodeType":"ElementaryTypeName","src":"4049:7:97","typeDescriptions":{}}},"id":62558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4049:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":62541,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62027,"src":"3970:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":62559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3970:101:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3961:110:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62561,"nodeType":"ExpressionStatement","src":"3961:110:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62562,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4082:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4085:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"4082:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4082:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62566,"nodeType":"ExpressionStatement","src":"4082:14:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62567,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62529,"src":"4107:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":62569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4116:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59582,"src":"4107:23:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62571,"nodeType":"ExpressionStatement","src":"4107:25:97"},{"expression":{"id":62578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62572,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62475,"src":"4143:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62576,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62477,"src":"4165:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62573,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4150:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4157:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":1389,"src":"4150:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":62577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"4143:29:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62579,"nodeType":"ExpressionStatement","src":"4143:29:97"},{"expression":{"arguments":[{"arguments":[{"id":62585,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4199:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":62584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4191:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62583,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:97","typeDescriptions":{}}},"id":62586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62587,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"4206:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62580,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4183:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4186:4:97","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":23866,"src":"4183:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62589,"nodeType":"ExpressionStatement","src":"4183:34:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62590,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62498,"src":"4231:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":62591,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4247:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4231:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62633,"nodeType":"Block","src":"4340:203:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":62609,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4391:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":62608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4383:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62607,"name":"address","nodeType":"ElementaryTypeName","src":"4383:7:97","typeDescriptions":{}}},"id":62610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62611,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"4398:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":62604,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62498,"src":"4364:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62603,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4354:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":62605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4378:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"4354:28:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62613,"nodeType":"ExpressionStatement","src":"4354:55:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62620,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4463:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4463:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4455:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62618,"name":"address","nodeType":"ElementaryTypeName","src":"4455:7:97","typeDescriptions":{}}},"id":62622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4455:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62623,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"4472:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":62615,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62498,"src":"4433:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62614,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4423:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":62616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4447:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4423:31:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62625,"nodeType":"ExpressionStatement","src":"4423:60:97"},{"expression":{"arguments":[{"id":62629,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62477,"src":"4513:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62630,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"4521:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62626,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4497:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:8:97","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4497:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":62631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62632,"nodeType":"ExpressionStatement","src":"4497:35:97"}]},"id":62634,"nodeType":"IfStatement","src":"4227:316:97","trueBody":{"id":62602,"nodeType":"Block","src":"4255:79:97","statements":[{"expression":{"arguments":[{"id":62598,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62477,"src":"4304:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62599,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"4312:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62593,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4269:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4276:8:97","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4269:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":62597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":62596,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62471,"src":"4292:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4269:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":62600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62601,"nodeType":"ExpressionStatement","src":"4269:54:97"}]}},{"expression":{"arguments":[{"expression":{"id":62636,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62475,"src":"4562:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4567:9:97","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"4562:14:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62639,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4594:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":62638,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61906,"src":"4578:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":62641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"706f6f6c50726f66696c654944","id":62642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4607:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""},"value":"poolProfileID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""}],"id":62635,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10624,"src":"4553:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":62643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:70:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62644,"nodeType":"ExpressionStatement","src":"4553:70:97"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":62646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4738:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":62645,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"4720:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62648,"nodeType":"ExpressionStatement","src":"4720:35:97"},{"assignments":[62653],"declarations":[{"constant":false,"id":62653,"mutability":"mutable","name":"proposal","nameLocation":"4799:8:97","nodeType":"VariableDeclaration","scope":62687,"src":"4766:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":62652,"nodeType":"UserDefinedTypeName","pathNode":{"id":62651,"name":"CVStrategy.CreateProposal","nameLocations":["4766:10:97","4777:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59147,"src":"4766:25:97"},"referencedDeclaration":59147,"src":"4766:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":62669,"initialValue":{"arguments":[{"hexValue":"31","id":62656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4849:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62657,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62477,"src":"4852:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62658,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"4860:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":62660,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"4874:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4885:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"4874:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":62662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4898:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59131,"src":"4874:31:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"id":62663,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62469,"src":"4907:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":62666,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62498,"src":"4930:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4922:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62664,"name":"address","nodeType":"ElementaryTypeName","src":"4922:7:97","typeDescriptions":{}}},"id":62667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62654,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"4810:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"4810:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":62668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:143:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4766:187:97"},{"assignments":[62671],"declarations":[{"constant":false,"id":62671,"mutability":"mutable","name":"data","nameLocation":"4976:4:97","nodeType":"VariableDeclaration","scope":62687,"src":"4963:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62670,"name":"bytes","nodeType":"ElementaryTypeName","src":"4963:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62676,"initialValue":{"arguments":[{"id":62674,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62653,"src":"4994:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":62672,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4983:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4987:6:97","memberName":"encode","nodeType":"MemberAccess","src":"4983:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4983:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4963:40:97"},{"expression":{"arguments":[{"id":62680,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62477,"src":"5038:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62681,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62671,"src":"5046:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62677,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"5013:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5020:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5013:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":62682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62683,"nodeType":"ExpressionStatement","src":"5013:38:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62684,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"5062:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5062:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62686,"nodeType":"ExpressionStatement","src":"5062:18:97"}]},"documentation":{"id":62465,"nodeType":"StructuredDocumentation","src":"3230:38:97","text":" HELPERS FUNCTIONS"},"functionSelector":"b188bdc4","implemented":true,"kind":"function","modifiers":[],"name":"_createProposal","nameLocation":"3282:15:97","parameters":{"id":62472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62467,"mutability":"mutable","name":"_tokenPool","nameLocation":"3306:10:97","nodeType":"VariableDeclaration","scope":62688,"src":"3298:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62466,"name":"address","nodeType":"ElementaryTypeName","src":"3298:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62469,"mutability":"mutable","name":"requestAmount","nameLocation":"3326:13:97","nodeType":"VariableDeclaration","scope":62688,"src":"3318:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62468,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62471,"mutability":"mutable","name":"poolAmount","nameLocation":"3349:10:97","nodeType":"VariableDeclaration","scope":62688,"src":"3341:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62470,"name":"uint256","nodeType":"ElementaryTypeName","src":"3341:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3297:63:97"},"returnParameters":{"id":62478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62475,"mutability":"mutable","name":"pool","nameLocation":"3411:4:97","nodeType":"VariableDeclaration","scope":62688,"src":"3393:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62474,"nodeType":"UserDefinedTypeName","pathNode":{"id":62473,"name":"IAllo.Pool","nameLocations":["3393:5:97","3399:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"3393:10:97"},"referencedDeclaration":2319,"src":"3393:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62477,"mutability":"mutable","name":"poolId","nameLocation":"3425:6:97","nodeType":"VariableDeclaration","scope":62688,"src":"3417:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62476,"name":"uint256","nodeType":"ElementaryTypeName","src":"3417:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3392:40:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62720,"nodeType":"FunctionDefinition","src":"5093:254:97","nodes":[],"body":{"id":62719,"nodeType":"Block","src":"5175:172:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62697,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62690,"src":"5189:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":62698,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5199:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5189:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62717,"nodeType":"Block","src":"5268:73:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":62713,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62692,"src":"5322:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5314:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62711,"name":"address","nodeType":"ElementaryTypeName","src":"5314:7:97","typeDescriptions":{}}},"id":62714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5314:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":62708,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62690,"src":"5296:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62707,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"5289:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":62709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":62710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5304:9:97","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":6860,"src":"5289:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":62715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62696,"id":62716,"nodeType":"Return","src":"5282:48:97"}]},"id":62718,"nodeType":"IfStatement","src":"5185:156:97","trueBody":{"id":62706,"nodeType":"Block","src":"5207:55:97","statements":[{"expression":{"expression":{"arguments":[{"id":62702,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62692,"src":"5236:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5228:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62700,"name":"address","nodeType":"ElementaryTypeName","src":"5228:7:97","typeDescriptions":{}}},"id":62703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5228:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5244:7:97","memberName":"balance","nodeType":"MemberAccess","src":"5228:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62696,"id":62705,"nodeType":"Return","src":"5221:30:97"}]}}]},"functionSelector":"d4fac45d","implemented":true,"kind":"function","modifiers":[],"name":"getBalance","nameLocation":"5102:10:97","parameters":{"id":62693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62690,"mutability":"mutable","name":"_token","nameLocation":"5121:6:97","nodeType":"VariableDeclaration","scope":62720,"src":"5113:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62689,"name":"address","nodeType":"ElementaryTypeName","src":"5113:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62692,"mutability":"mutable","name":"holder","nameLocation":"5137:6:97","nodeType":"VariableDeclaration","scope":62720,"src":"5129:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62691,"name":"address","nodeType":"ElementaryTypeName","src":"5129:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5112:32:97"},"returnParameters":{"id":62696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62695,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62720,"src":"5166:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62694,"name":"uint256","nodeType":"ElementaryTypeName","src":"5166:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5165:9:97"},"scope":65303,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":62800,"nodeType":"FunctionDefinition","src":"5385:977:97","nodes":[],"body":{"id":62799,"nodeType":"Block","src":"5444:918:97","nodes":[],"statements":[{"assignments":[null,62725],"declarations":[null,{"constant":false,"id":62725,"mutability":"mutable","name":"poolId","nameLocation":"5493:6:97","nodeType":"VariableDeclaration","scope":62799,"src":"5485:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62724,"name":"uint256","nodeType":"ElementaryTypeName","src":"5485:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62731,"initialValue":{"arguments":[{"id":62727,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5519:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5527:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62726,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"5503:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5454:78:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5615:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62732,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"5597:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5597:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62735,"nodeType":"ExpressionStatement","src":"5597:39:97"},{"assignments":[62741],"declarations":[{"constant":false,"id":62741,"mutability":"mutable","name":"votes","nameLocation":"5682:5:97","nodeType":"VariableDeclaration","scope":62799,"src":"5646:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62739,"nodeType":"UserDefinedTypeName","pathNode":{"id":62738,"name":"CVStrategy.ProposalSupport","nameLocations":["5646:10:97","5657:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"5646:26:97"},"referencedDeclaration":59190,"src":"5646:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62740,"nodeType":"ArrayTypeName","src":"5646:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62748,"initialValue":{"arguments":[{"hexValue":"32","id":62746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5723:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5690:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62743,"nodeType":"UserDefinedTypeName","pathNode":{"id":62742,"name":"CVStrategy.ProposalSupport","nameLocations":["5694:10:97","5705:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"5694:26:97"},"referencedDeclaration":59190,"src":"5694:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62744,"nodeType":"ArrayTypeName","src":"5694:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5646:79:97"},{"expression":{"id":62757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62749,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62741,"src":"5813:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62751,"indexExpression":{"hexValue":"30","id":62750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5819:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5813:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5851:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":62755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5854:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":62752,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"5824:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"5824:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5813:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62758,"nodeType":"ExpressionStatement","src":"5813:44:97"},{"expression":{"id":62767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62759,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62741,"src":"5888:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62761,"indexExpression":{"hexValue":"31","id":62760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5894:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5888:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5926:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":62765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5929:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":62762,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"5899:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"5899:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5888:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62768,"nodeType":"ExpressionStatement","src":"5888:44:97"},{"assignments":[62770],"declarations":[{"constant":false,"id":62770,"mutability":"mutable","name":"data","nameLocation":"6087:4:97","nodeType":"VariableDeclaration","scope":62799,"src":"6074:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62769,"name":"bytes","nodeType":"ElementaryTypeName","src":"6074:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62775,"initialValue":{"arguments":[{"id":62773,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62741,"src":"6105:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6094:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6098:6:97","memberName":"encode","nodeType":"MemberAccess","src":"6094:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6094:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6074:37:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62781,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"6235:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6246:25:97","memberName":"ProposalSupportDuplicated","nodeType":"MemberAccess","referencedDeclaration":59107,"src":"6235:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6272:8:97","memberName":"selector","nodeType":"MemberAccess","src":"6235:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":62784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":62785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6285:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":62779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6212:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6216:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6212:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6212:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62776,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"6196:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6199:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"6196:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62788,"nodeType":"ExpressionStatement","src":"6196:92:97"},{"expression":{"arguments":[{"id":62792,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62725,"src":"6314:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62793,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62770,"src":"6322:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62789,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"6298:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"6298:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62795,"nodeType":"ExpressionStatement","src":"6298:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62796,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"6337:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62798,"nodeType":"ExpressionStatement","src":"6337:18:97"}]},"documentation":{"id":62721,"nodeType":"StructuredDocumentation","src":"5352:27:97","text":" TESTS"},"functionSelector":"2da49647","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_ProposalIdDuplicated","nameLocation":"5394:40:97","parameters":{"id":62722,"nodeType":"ParameterList","parameters":[],"src":"5434:2:97"},"returnParameters":{"id":62723,"nodeType":"ParameterList","parameters":[],"src":"5444:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62886,"nodeType":"FunctionDefinition","src":"6368:1028:97","nodes":[],"body":{"id":62885,"nodeType":"Block","src":"6424:972:97","nodes":[],"statements":[{"assignments":[null,62804],"declarations":[null,{"constant":false,"id":62804,"mutability":"mutable","name":"poolId","nameLocation":"6473:6:97","nodeType":"VariableDeclaration","scope":62885,"src":"6465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62803,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62810,"initialValue":{"arguments":[{"id":62806,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"6499:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6507:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62805,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"6483:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6434:78:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62811,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"6577:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62814,"nodeType":"ExpressionStatement","src":"6577:39:97"},{"assignments":[62820],"declarations":[{"constant":false,"id":62820,"mutability":"mutable","name":"votes","nameLocation":"6662:5:97","nodeType":"VariableDeclaration","scope":62885,"src":"6626:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62818,"nodeType":"UserDefinedTypeName","pathNode":{"id":62817,"name":"CVStrategy.ProposalSupport","nameLocations":["6626:10:97","6637:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"6626:26:97"},"referencedDeclaration":59190,"src":"6626:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62819,"nodeType":"ArrayTypeName","src":"6626:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62827,"initialValue":{"arguments":[{"hexValue":"32","id":62825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6703:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6670:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62822,"nodeType":"UserDefinedTypeName","pathNode":{"id":62821,"name":"CVStrategy.ProposalSupport","nameLocations":["6674:10:97","6685:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"6674:26:97"},"referencedDeclaration":59190,"src":"6674:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62823,"nodeType":"ArrayTypeName","src":"6674:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6626:79:97"},{"expression":{"id":62836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62828,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62820,"src":"6793:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62830,"indexExpression":{"hexValue":"30","id":62829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6799:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6793:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6831:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":62834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6834:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":62831,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"6804:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"6804:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6793:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62837,"nodeType":"ExpressionStatement","src":"6793:44:97"},{"expression":{"id":62846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62838,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62820,"src":"6868:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62840,"indexExpression":{"hexValue":"31","id":62839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6874:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6868:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6906:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":62844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6909:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":62841,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"6879:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"6879:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6879:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6868:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62847,"nodeType":"ExpressionStatement","src":"6868:44:97"},{"assignments":[62849],"declarations":[{"constant":false,"id":62849,"mutability":"mutable","name":"data","nameLocation":"7067:4:97","nodeType":"VariableDeclaration","scope":62885,"src":"7054:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62848,"name":"bytes","nodeType":"ElementaryTypeName","src":"7054:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62854,"initialValue":{"arguments":[{"id":62852,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62820,"src":"7085:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7074:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7078:6:97","memberName":"encode","nodeType":"MemberAccess","src":"7074:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7054:37:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62858,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"7115:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7115:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62855,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7101:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7104:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"7101:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62861,"nodeType":"ExpressionStatement","src":"7101:27:97"},{"expression":{"arguments":[{"expression":{"expression":{"id":62865,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"7154:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7165:17:97","memberName":"UserNotInRegistry","nodeType":"MemberAccess","referencedDeclaration":59055,"src":"7154:28:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":62867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7183:8:97","memberName":"selector","nodeType":"MemberAccess","src":"7154:37:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":62862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7138:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7141:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24270,"src":"7138:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":62868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7138:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62869,"nodeType":"ExpressionStatement","src":"7138:54:97"},{"expression":{"arguments":[{"id":62873,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62804,"src":"7323:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62874,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62849,"src":"7331:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62870,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7307:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7314:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7307:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62876,"nodeType":"ExpressionStatement","src":"7307:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62877,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7347:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7350:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"7347:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62881,"nodeType":"ExpressionStatement","src":"7347:14:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62882,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"7371:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7371:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62884,"nodeType":"ExpressionStatement","src":"7371:18:97"}]},"functionSelector":"bc1687c0","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_UserNotInRegistry","nameLocation":"6377:37:97","parameters":{"id":62801,"nodeType":"ParameterList","parameters":[],"src":"6414:2:97"},"returnParameters":{"id":62802,"nodeType":"ParameterList","parameters":[],"src":"6424:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63000,"nodeType":"FunctionDefinition","src":"7402:901:97","nodes":[],"body":{"id":62999,"nodeType":"Block","src":"7490:813:97","nodes":[],"statements":[{"assignments":[62893,62895],"declarations":[{"constant":false,"id":62893,"mutability":"mutable","name":"pool","nameLocation":"7519:4:97","nodeType":"VariableDeclaration","scope":62999,"src":"7501:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62892,"nodeType":"UserDefinedTypeName","pathNode":{"id":62891,"name":"IAllo.Pool","nameLocations":["7501:5:97","7507:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"7501:10:97"},"referencedDeclaration":2319,"src":"7501:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62895,"mutability":"mutable","name":"poolId","nameLocation":"7533:6:97","nodeType":"VariableDeclaration","scope":62999,"src":"7525:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62894,"name":"uint256","nodeType":"ElementaryTypeName","src":"7525:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62901,"initialValue":{"arguments":[{"id":62897,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"7559:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7567:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7570:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62896,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"7543:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7543:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7500:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7655:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62902,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"7637:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7637:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62905,"nodeType":"ExpressionStatement","src":"7637:39:97"},{"assignments":[62911],"declarations":[{"constant":false,"id":62911,"mutability":"mutable","name":"votes","nameLocation":"7722:5:97","nodeType":"VariableDeclaration","scope":62999,"src":"7686:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62909,"nodeType":"UserDefinedTypeName","pathNode":{"id":62908,"name":"CVStrategy.ProposalSupport","nameLocations":["7686:10:97","7697:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"7686:26:97"},"referencedDeclaration":59190,"src":"7686:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62910,"nodeType":"ArrayTypeName","src":"7686:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62918,"initialValue":{"arguments":[{"hexValue":"31","id":62916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7763:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7730:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62913,"nodeType":"UserDefinedTypeName","pathNode":{"id":62912,"name":"CVStrategy.ProposalSupport","nameLocations":["7734:10:97","7745:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"7734:26:97"},"referencedDeclaration":59190,"src":"7734:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62914,"nodeType":"ArrayTypeName","src":"7734:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7730:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7686:79:97"},{"expression":{"id":62928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62919,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62911,"src":"7775:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62921,"indexExpression":{"hexValue":"30","id":62920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7781:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7813:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7816:4:97","subExpression":{"hexValue":"313030","id":62925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7817:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62922,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"7786:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7797:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"7786:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7786:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"7775:46:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62929,"nodeType":"ExpressionStatement","src":"7775:46:97"},{"assignments":[62931],"declarations":[{"constant":false,"id":62931,"mutability":"mutable","name":"data","nameLocation":"7844:4:97","nodeType":"VariableDeclaration","scope":62999,"src":"7831:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62930,"name":"bytes","nodeType":"ElementaryTypeName","src":"7831:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62936,"initialValue":{"arguments":[{"id":62934,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62911,"src":"7862:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7851:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7855:6:97","memberName":"encode","nodeType":"MemberAccess","src":"7851:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:37:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62942,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"7918:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7929:16:97","memberName":"SupportUnderflow","nodeType":"MemberAccess","referencedDeclaration":59079,"src":"7918:27:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":62944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7946:8:97","memberName":"selector","nodeType":"MemberAccess","src":"7918:36:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":62945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7956:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7959:4:97","subExpression":{"hexValue":"313030","id":62946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7960:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"id":62949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7965:4:97","subExpression":{"hexValue":"313030","id":62948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7966:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62940,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7895:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7899:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7895:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62937,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7879:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7882:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"7879:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7879:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62952,"nodeType":"ExpressionStatement","src":"7879:92:97"},{"expression":{"arguments":[{"id":62956,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62895,"src":"7997:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62957,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62931,"src":"8005:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62953,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7981:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7988:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7981:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62959,"nodeType":"ExpressionStatement","src":"7981:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62960,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"8020:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8020:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62962,"nodeType":"ExpressionStatement","src":"8020:18:97"},{"assignments":[62965],"declarations":[{"constant":false,"id":62965,"mutability":"mutable","name":"cv","nameLocation":"8060:2:97","nodeType":"VariableDeclaration","scope":62999,"src":"8049:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":62964,"nodeType":"UserDefinedTypeName","pathNode":{"id":62963,"name":"CVStrategy","nameLocations":["8049:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"8049:10:97"},"referencedDeclaration":61014,"src":"8049:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62976,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62971,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62893,"src":"8092:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62972,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8097:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"8092:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8084:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62969,"name":"address","nodeType":"ElementaryTypeName","src":"8084:7:97","typeDescriptions":{}}},"id":62973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8084:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8076:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62967,"name":"address","nodeType":"ElementaryTypeName","src":"8076:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":62974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62966,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"8065:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":62975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"8049:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8153:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62983,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8164:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":62982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8156:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62981,"name":"address","nodeType":"ElementaryTypeName","src":"8156:7:97","typeDescriptions":{}}},"id":62984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62978,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62965,"src":"8128:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":62979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8131:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"8128:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8128:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8172:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65416d6f756e74","id":62987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8175:18:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""},"value":"VoterStakeAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""}],"id":62977,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8119:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62989,"nodeType":"ExpressionStatement","src":"8119:75:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62991,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62965,"src":"8232:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":62992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8235:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"8232:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8232:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8263:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564416d6f756e74496e50726f706f73616c","id":62996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8266:29:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""},"value":"TotalStakedAmountInProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""}],"id":62990,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8223:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8223:73:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62998,"nodeType":"ExpressionStatement","src":"8223:73:97"}]},"functionSelector":"d97d0578","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","nameLocation":"7411:69:97","parameters":{"id":62887,"nodeType":"ParameterList","parameters":[],"src":"7480:2:97"},"returnParameters":{"id":62888,"nodeType":"ParameterList","parameters":[],"src":"7490:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63056,"nodeType":"FunctionDefinition","src":"8309:519:97","nodes":[],"body":{"id":63055,"nodeType":"Block","src":"8379:449:97","nodes":[],"statements":[{"assignments":[null,63004],"declarations":[null,{"constant":false,"id":63004,"mutability":"mutable","name":"poolId","nameLocation":"8400:6:97","nodeType":"VariableDeclaration","scope":63055,"src":"8392:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63003,"name":"uint256","nodeType":"ElementaryTypeName","src":"8392:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63010,"initialValue":{"arguments":[{"id":63006,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8426:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8434:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8437:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63005,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"8410:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8389:50:97"},{"assignments":[63015],"declarations":[{"constant":false,"id":63015,"mutability":"mutable","name":"proposal","nameLocation":"8483:8:97","nodeType":"VariableDeclaration","scope":63055,"src":"8450:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63014,"nodeType":"UserDefinedTypeName","pathNode":{"id":63013,"name":"CVStrategy.CreateProposal","nameLocations":["8450:10:97","8461:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59147,"src":"8450:25:97"},"referencedDeclaration":59147,"src":"8450:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63028,"initialValue":{"arguments":[{"hexValue":"31","id":63018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8533:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63019,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63004,"src":"8536:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63020,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"8544:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63022,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"8558:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8569:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"8558:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8582:9:97","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59130,"src":"8558:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"id":63025,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62269,"src":"8593:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63026,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8611:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63016,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"8494:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8505:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"8494:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:133:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"8450:177:97"},{"assignments":[63030],"declarations":[{"constant":false,"id":63030,"mutability":"mutable","name":"data","nameLocation":"8650:4:97","nodeType":"VariableDeclaration","scope":63055,"src":"8637:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63029,"name":"bytes","nodeType":"ElementaryTypeName","src":"8637:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63035,"initialValue":{"arguments":[{"id":63033,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63015,"src":"8668:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8657:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8661:6:97","memberName":"encode","nodeType":"MemberAccess","src":"8657:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8637:40:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63041,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"8726:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8737:22:97","memberName":"ProposalIdAlreadyExist","nodeType":"MemberAccess","referencedDeclaration":59101,"src":"8726:33:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":63043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8760:8:97","memberName":"selector","nodeType":"MemberAccess","src":"8726:42:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":63044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8770:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63039,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8703:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8707:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8703:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8703:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63036,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"8687:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":63038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8690:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"8687:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8687:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63047,"nodeType":"ExpressionStatement","src":"8687:86:97"},{"expression":{"arguments":[{"id":63051,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63004,"src":"8808:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63052,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63030,"src":"8816:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63048,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"8783:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"8783:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63054,"nodeType":"ExpressionStatement","src":"8783:38:97"}]},"functionSelector":"9a45ff89","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_registerRecipient_ProposalIdAlreadyExist","nameLocation":"8318:51:97","parameters":{"id":63001,"nodeType":"ParameterList","parameters":[],"src":"8369:2:97"},"returnParameters":{"id":63002,"nodeType":"ParameterList","parameters":[],"src":"8379:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63216,"nodeType":"FunctionDefinition","src":"8834:1541:97","nodes":[],"body":{"id":63215,"nodeType":"Block","src":"8890:1485:97","nodes":[],"statements":[{"assignments":[63063,63065],"declarations":[{"constant":false,"id":63063,"mutability":"mutable","name":"pool","nameLocation":"8919:4:97","nodeType":"VariableDeclaration","scope":63215,"src":"8901:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63062,"nodeType":"UserDefinedTypeName","pathNode":{"id":63061,"name":"IAllo.Pool","nameLocations":["8901:5:97","8907:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"8901:10:97"},"referencedDeclaration":2319,"src":"8901:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63065,"mutability":"mutable","name":"poolId","nameLocation":"8933:6:97","nodeType":"VariableDeclaration","scope":63215,"src":"8925:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63064,"name":"uint256","nodeType":"ElementaryTypeName","src":"8925:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63071,"initialValue":{"arguments":[{"id":63067,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8959:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8967:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8970:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63066,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"8943:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8943:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8900:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9044:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63072,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"9026:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9026:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63075,"nodeType":"ExpressionStatement","src":"9026:39:97"},{"assignments":[63081],"declarations":[{"constant":false,"id":63081,"mutability":"mutable","name":"votes","nameLocation":"9111:5:97","nodeType":"VariableDeclaration","scope":63215,"src":"9075:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63079,"nodeType":"UserDefinedTypeName","pathNode":{"id":63078,"name":"CVStrategy.ProposalSupport","nameLocations":["9075:10:97","9086:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"9075:26:97"},"referencedDeclaration":59190,"src":"9075:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63080,"nodeType":"ArrayTypeName","src":"9075:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63088,"initialValue":{"arguments":[{"hexValue":"31","id":63086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9152:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9119:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63083,"nodeType":"UserDefinedTypeName","pathNode":{"id":63082,"name":"CVStrategy.ProposalSupport","nameLocations":["9123:10:97","9134:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"9123:26:97"},"referencedDeclaration":59190,"src":"9123:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63084,"nodeType":"ArrayTypeName","src":"9123:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9075:79:97"},{"expression":{"id":63097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63089,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63081,"src":"9164:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63091,"indexExpression":{"hexValue":"30","id":63090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9170:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9164:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9202:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":63095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9205:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":63092,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"9175:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9186:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"9175:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"9164:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63098,"nodeType":"ExpressionStatement","src":"9164:44:97"},{"assignments":[63100],"declarations":[{"constant":false,"id":63100,"mutability":"mutable","name":"data","nameLocation":"9271:4:97","nodeType":"VariableDeclaration","scope":63215,"src":"9258:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63099,"name":"bytes","nodeType":"ElementaryTypeName","src":"9258:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63105,"initialValue":{"arguments":[{"id":63103,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63081,"src":"9289:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9278:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9282:6:97","memberName":"encode","nodeType":"MemberAccess","src":"9278:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9278:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9258:37:97"},{"expression":{"arguments":[{"id":63109,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63065,"src":"9322:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63110,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"9330:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63106,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"9306:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9313:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"9306:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63112,"nodeType":"ExpressionStatement","src":"9306:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63113,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"9346:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63115,"nodeType":"ExpressionStatement","src":"9346:18:97"},{"assignments":[63117],"declarations":[{"constant":false,"id":63117,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"9382:13:97","nodeType":"VariableDeclaration","scope":63215,"src":"9374:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63116,"name":"uint256","nodeType":"ElementaryTypeName","src":"9374:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63123,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":63118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9398:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63119,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"9403:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9398:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9419:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9398:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9374:48:97"},{"assignments":[63126],"declarations":[{"constant":false,"id":63126,"mutability":"mutable","name":"cv","nameLocation":"9443:2:97","nodeType":"VariableDeclaration","scope":63215,"src":"9432:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":63125,"nodeType":"UserDefinedTypeName","pathNode":{"id":63124,"name":"CVStrategy","nameLocations":["9432:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"9432:10:97"},"referencedDeclaration":61014,"src":"9432:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63137,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63132,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63063,"src":"9475:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9480:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"9475:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9467:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63130,"name":"address","nodeType":"ElementaryTypeName","src":"9467:7:97","typeDescriptions":{}}},"id":63134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9467:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9459:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63128,"name":"address","nodeType":"ElementaryTypeName","src":"9459:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9459:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63127,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"9448:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"9432:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9535:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63144,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9546:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":63143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9538:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63142,"name":"address","nodeType":"ElementaryTypeName","src":"9538:7:97","typeDescriptions":{}}},"id":63145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9538:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63139,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63126,"src":"9510:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9513:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"9510:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9510:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63147,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63117,"src":"9554:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63138,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9501:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63149,"nodeType":"ExpressionStatement","src":"9501:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9632:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63151,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63126,"src":"9605:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9608:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"9605:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9605:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63155,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63117,"src":"9636:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63150,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9596:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63157,"nodeType":"ExpressionStatement","src":"9596:54:97"},{"assignments":[63163],"declarations":[{"constant":false,"id":63163,"mutability":"mutable","name":"votes2","nameLocation":"9956:6:97","nodeType":"VariableDeclaration","scope":63215,"src":"9920:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63161,"nodeType":"UserDefinedTypeName","pathNode":{"id":63160,"name":"CVStrategy.ProposalSupport","nameLocations":["9920:10:97","9931:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"9920:26:97"},"referencedDeclaration":59190,"src":"9920:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63162,"nodeType":"ArrayTypeName","src":"9920:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":63170,"initialValue":{"arguments":[{"hexValue":"31","id":63168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9998:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9965:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63165,"nodeType":"UserDefinedTypeName","pathNode":{"id":63164,"name":"CVStrategy.ProposalSupport","nameLocations":["9969:10:97","9980:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"9969:26:97"},"referencedDeclaration":59190,"src":"9969:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63166,"nodeType":"ArrayTypeName","src":"9969:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9965:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9920:80:97"},{"expression":{"id":63179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63171,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63163,"src":"10010:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63173,"indexExpression":{"hexValue":"30","id":63172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10017:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10010:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10049:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":63177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":63174,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"10022:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10033:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"10022:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10022:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10010:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63180,"nodeType":"ExpressionStatement","src":"10010:45:97"},{"expression":{"id":63186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63181,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"10065:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63184,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63163,"src":"10083:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63182,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10072:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10076:6:97","memberName":"encode","nodeType":"MemberAccess","src":"10072:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10072:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"10065:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63187,"nodeType":"ExpressionStatement","src":"10065:25:97"},{"expression":{"arguments":[{"id":63191,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63065,"src":"10167:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63192,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"10175:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63188,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"10151:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10158:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"10151:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63194,"nodeType":"ExpressionStatement","src":"10151:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10252:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63201,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10263:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":63200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10255:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63199,"name":"address","nodeType":"ElementaryTypeName","src":"10255:7:97","typeDescriptions":{}}},"id":63202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63196,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63126,"src":"10227:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10230:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"10227:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63204,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"10271:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63195,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10218:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10218:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63206,"nodeType":"ExpressionStatement","src":"10218:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10350:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63208,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63126,"src":"10323:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10326:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"10323:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10323:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63212,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"10354:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63207,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10314:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10314:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63214,"nodeType":"ExpressionStatement","src":"10314:54:97"}]},"functionSelector":"d25bba07","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_change_support","nameLocation":"8843:37:97","parameters":{"id":63057,"nodeType":"ParameterList","parameters":[],"src":"8880:2:97"},"returnParameters":{"id":63058,"nodeType":"ParameterList","parameters":[],"src":"8890:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63384,"nodeType":"FunctionDefinition","src":"10381:1258:97","nodes":[],"body":{"id":63383,"nodeType":"Block","src":"10430:1209:97","nodes":[],"statements":[{"assignments":[63223,63225],"declarations":[{"constant":false,"id":63223,"mutability":"mutable","name":"pool","nameLocation":"10459:4:97","nodeType":"VariableDeclaration","scope":63383,"src":"10441:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63222,"nodeType":"UserDefinedTypeName","pathNode":{"id":63221,"name":"IAllo.Pool","nameLocations":["10441:5:97","10447:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"10441:10:97"},"referencedDeclaration":2319,"src":"10441:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63225,"mutability":"mutable","name":"poolId","nameLocation":"10473:6:97","nodeType":"VariableDeclaration","scope":63383,"src":"10465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63224,"name":"uint256","nodeType":"ElementaryTypeName","src":"10465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63231,"initialValue":{"arguments":[{"id":63227,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"10499:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10507:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63226,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"10483:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10440:72:97"},{"assignments":[63234],"declarations":[{"constant":false,"id":63234,"mutability":"mutable","name":"cv","nameLocation":"10534:2:97","nodeType":"VariableDeclaration","scope":63383,"src":"10523:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":63233,"nodeType":"UserDefinedTypeName","pathNode":{"id":63232,"name":"CVStrategy","nameLocations":["10523:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"10523:10:97"},"referencedDeclaration":61014,"src":"10523:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63245,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63240,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63223,"src":"10566:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"10566:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10558:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63238,"name":"address","nodeType":"ElementaryTypeName","src":"10558:7:97","typeDescriptions":{}}},"id":63242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10550:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63236,"name":"address","nodeType":"ElementaryTypeName","src":"10550:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63235,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"10539:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"10523:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10619:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63249,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"10605:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63246,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63234,"src":"10593:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10596:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60969,"src":"10593:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63253,"nodeType":"ExpressionStatement","src":"10593:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10686:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63257,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"10672:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10672:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63254,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63234,"src":"10657:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10660:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60983,"src":"10657:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63261,"nodeType":"ExpressionStatement","src":"10657:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10753:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63265,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"10739:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63262,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63234,"src":"10726:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10729:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":60997,"src":"10726:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63269,"nodeType":"ExpressionStatement","src":"10726:40:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10859:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63270,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"10841:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63273,"nodeType":"ExpressionStatement","src":"10841:39:97"},{"assignments":[63279],"declarations":[{"constant":false,"id":63279,"mutability":"mutable","name":"votes","nameLocation":"10926:5:97","nodeType":"VariableDeclaration","scope":63383,"src":"10890:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63277,"nodeType":"UserDefinedTypeName","pathNode":{"id":63276,"name":"CVStrategy.ProposalSupport","nameLocations":["10890:10:97","10901:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"10890:26:97"},"referencedDeclaration":59190,"src":"10890:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63278,"nodeType":"ArrayTypeName","src":"10890:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63286,"initialValue":{"arguments":[{"hexValue":"31","id":63284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10967:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10934:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63281,"nodeType":"UserDefinedTypeName","pathNode":{"id":63280,"name":"CVStrategy.ProposalSupport","nameLocations":["10938:10:97","10949:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"10938:26:97"},"referencedDeclaration":59190,"src":"10938:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63282,"nodeType":"ArrayTypeName","src":"10938:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10890:79:97"},{"expression":{"id":63295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63287,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63279,"src":"10979:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63289,"indexExpression":{"hexValue":"30","id":63288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10985:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10979:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11017:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":63293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":63290,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"10990:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11001:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"10990:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10979:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63296,"nodeType":"ExpressionStatement","src":"10979:44:97"},{"assignments":[63298],"declarations":[{"constant":false,"id":63298,"mutability":"mutable","name":"data","nameLocation":"11046:4:97","nodeType":"VariableDeclaration","scope":63383,"src":"11033:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63297,"name":"bytes","nodeType":"ElementaryTypeName","src":"11033:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63303,"initialValue":{"arguments":[{"id":63301,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63279,"src":"11064:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11053:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11057:6:97","memberName":"encode","nodeType":"MemberAccess","src":"11053:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11033:37:97"},{"expression":{"arguments":[{"id":63307,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63225,"src":"11096:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63308,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63298,"src":"11104:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63304,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"11080:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11087:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"11080:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63310,"nodeType":"ExpressionStatement","src":"11080:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63311,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"11119:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11119:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63313,"nodeType":"ExpressionStatement","src":"11119:18:97"},{"assignments":[63315],"declarations":[{"constant":false,"id":63315,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"11156:13:97","nodeType":"VariableDeclaration","scope":63383,"src":"11148:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63314,"name":"uint256","nodeType":"ElementaryTypeName","src":"11148:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63321,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":63316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63317,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"11177:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11172:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11193:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"11172:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11148:48:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11240:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63328,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11251:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":63327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11243:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63326,"name":"address","nodeType":"ElementaryTypeName","src":"11243:7:97","typeDescriptions":{}}},"id":63329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11243:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63323,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63234,"src":"11215:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"11215:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11215:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63331,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63315,"src":"11259:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63322,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11206:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11206:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63333,"nodeType":"ExpressionStatement","src":"11206:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11319:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63335,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63234,"src":"11292:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11295:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"11292:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63339,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63315,"src":"11323:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63334,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11283:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63341,"nodeType":"ExpressionStatement","src":"11283:54:97"},{"assignments":[63343],"declarations":[{"constant":false,"id":63343,"mutability":"mutable","name":"cv_amount","nameLocation":"11356:9:97","nodeType":"VariableDeclaration","scope":63383,"src":"11348:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63342,"name":"uint256","nodeType":"ElementaryTypeName","src":"11348:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63350,"initialValue":{"arguments":[{"hexValue":"3130","id":63346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11391:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11395:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63348,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63315,"src":"11398:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63344,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63234,"src":"11368:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11371:19:97","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":60607,"src":"11368:22:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":63349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11368:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11348:64:97"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":63354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11434:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":63355,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63343,"src":"11451:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63351,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"11422:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"11422:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11422:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63357,"nodeType":"ExpressionStatement","src":"11422:39:97"},{"assignments":[63359],"declarations":[{"constant":false,"id":63359,"mutability":"mutable","name":"cv_cmp","nameLocation":"11479:6:97","nodeType":"VariableDeclaration","scope":63383,"src":"11471:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63358,"name":"uint256","nodeType":"ElementaryTypeName","src":"11471:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63370,"initialValue":{"arguments":[{"hexValue":"3130","id":63361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11509:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63363,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63315,"src":"11516:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":63368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":63364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11531:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":63367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":63365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11543:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":63366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:2:97","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"11543:8:97","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"11531:20:97","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":63360,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62195,"src":"11488:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":63369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11488:64:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11471:81:97"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":63374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11574:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":63375,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63359,"src":"11588:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63371,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"11562:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11570:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"11562:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63377,"nodeType":"ExpressionStatement","src":"11562:33:97"},{"expression":{"arguments":[{"id":63379,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63343,"src":"11614:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63380,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63359,"src":"11625:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63378,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11605:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11605:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63382,"nodeType":"ExpressionStatement","src":"11605:27:97"}]},"functionSelector":"de8a1354","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_function","nameLocation":"10390:30:97","parameters":{"id":63217,"nodeType":"ParameterList","parameters":[],"src":"10420:2:97"},"returnParameters":{"id":63218,"nodeType":"ParameterList","parameters":[],"src":"10430:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63597,"nodeType":"FunctionDefinition","src":"11645:1898:97","nodes":[],"body":{"id":63596,"nodeType":"Block","src":"11696:1847:97","nodes":[],"statements":[{"assignments":[63391,63393],"declarations":[{"constant":false,"id":63391,"mutability":"mutable","name":"pool","nameLocation":"11725:4:97","nodeType":"VariableDeclaration","scope":63596,"src":"11707:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63390,"nodeType":"UserDefinedTypeName","pathNode":{"id":63389,"name":"IAllo.Pool","nameLocations":["11707:5:97","11713:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"11707:10:97"},"referencedDeclaration":2319,"src":"11707:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63393,"mutability":"mutable","name":"poolId","nameLocation":"11739:6:97","nodeType":"VariableDeclaration","scope":63596,"src":"11731:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63392,"name":"uint256","nodeType":"ElementaryTypeName","src":"11731:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63399,"initialValue":{"arguments":[{"id":63395,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"11765:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11773:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11776:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63394,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"11749:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11749:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11706:72:97"},{"assignments":[63402],"declarations":[{"constant":false,"id":63402,"mutability":"mutable","name":"cv","nameLocation":"11800:2:97","nodeType":"VariableDeclaration","scope":63596,"src":"11789:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":63401,"nodeType":"UserDefinedTypeName","pathNode":{"id":63400,"name":"CVStrategy","nameLocations":["11789:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"11789:10:97"},"referencedDeclaration":61014,"src":"11789:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63413,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63408,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63391,"src":"11832:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"11832:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11824:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63406,"name":"address","nodeType":"ElementaryTypeName","src":"11824:7:97","typeDescriptions":{}}},"id":63410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11816:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63404,"name":"address","nodeType":"ElementaryTypeName","src":"11816:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11816:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63403,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"11805:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11805:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"11789:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11885:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63417,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11871:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11871:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63414,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63402,"src":"11859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11862:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60969,"src":"11859:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63421,"nodeType":"ExpressionStatement","src":"11859:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63425,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11938:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11938:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63422,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63402,"src":"11923:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11926:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60983,"src":"11923:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11923:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63429,"nodeType":"ExpressionStatement","src":"11923:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12019:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63433,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12005:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63430,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63402,"src":"11992:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11995:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":60997,"src":"11992:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63437,"nodeType":"ExpressionStatement","src":"11992:40:97"},{"assignments":[63439],"declarations":[{"constant":false,"id":63439,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"12071:13:97","nodeType":"VariableDeclaration","scope":63596,"src":"12063:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63438,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63441,"initialValue":{"hexValue":"3435303030","id":63440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12087:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"12063:29:97"},{"expression":{"arguments":[{"arguments":[{"id":63445,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"12199:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":63444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12191:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63443,"name":"address","nodeType":"ElementaryTypeName","src":"12191:7:97","typeDescriptions":{}}},"id":63446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12229:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63450,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"12267:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":63451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12283:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61758,"src":"12267:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12304:8:97","memberName":"selector","nodeType":"MemberAccess","src":"12267:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63453,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63439,"src":"12314:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12244:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12248:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12244:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12244:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63442,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66112,"src":"12167:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12167:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63456,"nodeType":"ExpressionStatement","src":"12167:171:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12409:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63457,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"12391:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12391:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63460,"nodeType":"ExpressionStatement","src":"12391:39:97"},{"assignments":[63466],"declarations":[{"constant":false,"id":63466,"mutability":"mutable","name":"votes","nameLocation":"12476:5:97","nodeType":"VariableDeclaration","scope":63596,"src":"12440:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63464,"nodeType":"UserDefinedTypeName","pathNode":{"id":63463,"name":"CVStrategy.ProposalSupport","nameLocations":["12440:10:97","12451:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"12440:26:97"},"referencedDeclaration":59190,"src":"12440:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63465,"nodeType":"ArrayTypeName","src":"12440:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63473,"initialValue":{"arguments":[{"hexValue":"31","id":63471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12517:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12484:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63468,"nodeType":"UserDefinedTypeName","pathNode":{"id":63467,"name":"CVStrategy.ProposalSupport","nameLocations":["12488:10:97","12499:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"12488:26:97"},"referencedDeclaration":59190,"src":"12488:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63469,"nodeType":"ArrayTypeName","src":"12488:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12484:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12440:79:97"},{"expression":{"id":63482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63474,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63466,"src":"12529:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63476,"indexExpression":{"hexValue":"30","id":63475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12535:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12529:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12567:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12570:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63477,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"12540:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12551:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"12540:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12540:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"12529:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63483,"nodeType":"ExpressionStatement","src":"12529:45:97"},{"assignments":[63485],"declarations":[{"constant":false,"id":63485,"mutability":"mutable","name":"data","nameLocation":"12597:4:97","nodeType":"VariableDeclaration","scope":63596,"src":"12584:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63484,"name":"bytes","nodeType":"ElementaryTypeName","src":"12584:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63490,"initialValue":{"arguments":[{"id":63488,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63466,"src":"12615:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12604:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12608:6:97","memberName":"encode","nodeType":"MemberAccess","src":"12604:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12604:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12584:37:97"},{"expression":{"arguments":[{"id":63494,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63393,"src":"12647:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63495,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63485,"src":"12655:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63491,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"12631:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12638:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"12631:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63497,"nodeType":"ExpressionStatement","src":"12631:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63498,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"12670:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12670:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63500,"nodeType":"ExpressionStatement","src":"12670:18:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12733:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12744:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":63506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12736:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63505,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:97","typeDescriptions":{}}},"id":63508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12736:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63502,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63402,"src":"12708:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12711:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"12708:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63510,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63439,"src":"12752:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63501,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12699:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63512,"nodeType":"ExpressionStatement","src":"12699:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12812:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63514,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63402,"src":"12785:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12788:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"12785:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12785:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63518,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63439,"src":"12816:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63513,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12776:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12776:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63520,"nodeType":"ExpressionStatement","src":"12776:54:97"},{"assignments":[63522],"declarations":[{"constant":false,"id":63522,"mutability":"mutable","name":"AMOUNT_STAKED_1","nameLocation":"12849:15:97","nodeType":"VariableDeclaration","scope":63596,"src":"12841:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63521,"name":"uint256","nodeType":"ElementaryTypeName","src":"12841:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63524,"initialValue":{"hexValue":"3135303030","id":63523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12867:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"nodeType":"VariableDeclarationStatement","src":"12841:31:97"},{"assignments":[63526],"declarations":[{"constant":false,"id":63526,"mutability":"mutable","name":"cv_amount","nameLocation":"12890:9:97","nodeType":"VariableDeclaration","scope":63596,"src":"12882:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63525,"name":"uint256","nodeType":"ElementaryTypeName","src":"12882:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63533,"initialValue":{"arguments":[{"hexValue":"3130","id":63529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12929:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63531,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63522,"src":"12932:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63527,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63402,"src":"12902:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12905:19:97","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":60607,"src":"12902:22:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":63532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12902:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12882:66:97"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":63537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12971:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":63538,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63526,"src":"12988:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63534,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"12959:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12967:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"12959:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63540,"nodeType":"ExpressionStatement","src":"12959:39:97"},{"assignments":[63542],"declarations":[{"constant":false,"id":63542,"mutability":"mutable","name":"cv_cmp","nameLocation":"13016:6:97","nodeType":"VariableDeclaration","scope":63596,"src":"13008:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63541,"name":"uint256","nodeType":"ElementaryTypeName","src":"13008:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63553,"initialValue":{"arguments":[{"hexValue":"3130","id":63544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13046:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13050:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63546,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63522,"src":"13053:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":63551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":63547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13070:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":63550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":63548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13082:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":63549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13088:2:97","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"13082:8:97","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"13070:20:97","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":63543,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62195,"src":"13025:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":63552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13025:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13008:83:97"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":63557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13113:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":63558,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63542,"src":"13127:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63554,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"13101:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13109:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"13101:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13101:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63560,"nodeType":"ExpressionStatement","src":"13101:33:97"},{"expression":{"arguments":[{"id":63562,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63526,"src":"13154:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63563,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63542,"src":"13165:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63561,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13145:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13145:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63565,"nodeType":"ExpressionStatement","src":"13145:27:97"},{"expression":{"arguments":[{"id":63567,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63522,"src":"13191:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3135303030","id":63568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13208:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"}],"id":63566,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13182:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63570,"nodeType":"ExpressionStatement","src":"13182:32:97"},{"expression":{"arguments":[{"id":63572,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63439,"src":"13233:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":63573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13248:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":63571,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13224:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13224:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63575,"nodeType":"ExpressionStatement","src":"13224:30:97"},{"expression":{"arguments":[{"id":63577,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63526,"src":"13273:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3937363938","id":63578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13284:5:97","typeDescriptions":{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"},"value":"97698"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"}],"id":63576,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13264:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13264:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63580,"nodeType":"ExpressionStatement","src":"13264:26:97"},{"expression":{"arguments":[{"arguments":[{"id":63584,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"13397:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":63583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13389:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63582,"name":"address","nodeType":"ElementaryTypeName","src":"13389:7:97","typeDescriptions":{}}},"id":63585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13389:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13427:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63589,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"13465:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":63590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13481:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61758,"src":"13465:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13502:8:97","memberName":"selector","nodeType":"MemberAccess","src":"13465:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63592,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"13512:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13442:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13446:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13442:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63581,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66112,"src":"13365:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63595,"nodeType":"ExpressionStatement","src":"13365:171:97"}]},"functionSelector":"90ff95a4","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_as_js_test","nameLocation":"11654:32:97","parameters":{"id":63385,"nodeType":"ParameterList","parameters":[],"src":"11686:2:97"},"returnParameters":{"id":63386,"nodeType":"ParameterList","parameters":[],"src":"11696:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63774,"nodeType":"FunctionDefinition","src":"13549:1626:97","nodes":[],"body":{"id":63773,"nodeType":"Block","src":"13608:1567:97","nodes":[],"statements":[{"assignments":[63604,63606],"declarations":[{"constant":false,"id":63604,"mutability":"mutable","name":"pool","nameLocation":"13637:4:97","nodeType":"VariableDeclaration","scope":63773,"src":"13619:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63603,"nodeType":"UserDefinedTypeName","pathNode":{"id":63602,"name":"IAllo.Pool","nameLocations":["13619:5:97","13625:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13619:10:97"},"referencedDeclaration":2319,"src":"13619:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63606,"mutability":"mutable","name":"poolId","nameLocation":"13651:6:97","nodeType":"VariableDeclaration","scope":63773,"src":"13643:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63605,"name":"uint256","nodeType":"ElementaryTypeName","src":"13643:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63612,"initialValue":{"arguments":[{"id":63608,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"13677:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13685:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13688:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63607,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"13661:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13661:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13618:72:97"},{"assignments":[63615],"declarations":[{"constant":false,"id":63615,"mutability":"mutable","name":"cv","nameLocation":"13712:2:97","nodeType":"VariableDeclaration","scope":63773,"src":"13701:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":63614,"nodeType":"UserDefinedTypeName","pathNode":{"id":63613,"name":"CVStrategy","nameLocations":["13701:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"13701:10:97"},"referencedDeclaration":61014,"src":"13701:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63626,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63621,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"13744:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"13744:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13736:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63619,"name":"address","nodeType":"ElementaryTypeName","src":"13736:7:97","typeDescriptions":{}}},"id":63623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13736:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13728:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63617,"name":"address","nodeType":"ElementaryTypeName","src":"13728:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13728:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63616,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"13717:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"13701:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13797:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63630,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"13783:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13783:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63627,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63615,"src":"13771:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13774:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60969,"src":"13771:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13771:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63634,"nodeType":"ExpressionStatement","src":"13771:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13864:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63638,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"13850:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13850:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63635,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63615,"src":"13835:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13838:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60983,"src":"13835:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13835:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63642,"nodeType":"ExpressionStatement","src":"13835:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13931:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63646,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"13917:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63643,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63615,"src":"13904:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13907:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":60997,"src":"13904:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13904:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63650,"nodeType":"ExpressionStatement","src":"13904:40:97"},{"expression":{"arguments":[{"arguments":[{"id":63654,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"14063:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":63653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14055:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63652,"name":"address","nodeType":"ElementaryTypeName","src":"14055:7:97","typeDescriptions":{}}},"id":63655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14055:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14081:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63659,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"14107:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":63660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14123:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61758,"src":"14107:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14144:8:97","memberName":"selector","nodeType":"MemberAccess","src":"14107:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":63662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14154:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":63657,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14084:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14088:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14084:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14084:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63651,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66112,"src":"14031:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14031:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63665,"nodeType":"ExpressionStatement","src":"14031:139:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14241:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63666,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"14223:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63669,"nodeType":"ExpressionStatement","src":"14223:39:97"},{"assignments":[63675],"declarations":[{"constant":false,"id":63675,"mutability":"mutable","name":"votes","nameLocation":"14308:5:97","nodeType":"VariableDeclaration","scope":63773,"src":"14272:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63673,"nodeType":"UserDefinedTypeName","pathNode":{"id":63672,"name":"CVStrategy.ProposalSupport","nameLocations":["14272:10:97","14283:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"14272:26:97"},"referencedDeclaration":59190,"src":"14272:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63674,"nodeType":"ArrayTypeName","src":"14272:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63682,"initialValue":{"arguments":[{"hexValue":"31","id":63680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14349:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14316:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63677,"nodeType":"UserDefinedTypeName","pathNode":{"id":63676,"name":"CVStrategy.ProposalSupport","nameLocations":["14320:10:97","14331:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"14320:26:97"},"referencedDeclaration":59190,"src":"14320:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63678,"nodeType":"ArrayTypeName","src":"14320:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14316:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14272:79:97"},{"expression":{"id":63691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63683,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63675,"src":"14361:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63685,"indexExpression":{"hexValue":"30","id":63684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14367:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14361:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14399:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14402:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63686,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"14372:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14383:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"14372:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14372:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"14361:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63692,"nodeType":"ExpressionStatement","src":"14361:45:97"},{"assignments":[63694],"declarations":[{"constant":false,"id":63694,"mutability":"mutable","name":"data","nameLocation":"14450:4:97","nodeType":"VariableDeclaration","scope":63773,"src":"14437:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63693,"name":"bytes","nodeType":"ElementaryTypeName","src":"14437:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63699,"initialValue":{"arguments":[{"id":63697,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63675,"src":"14468:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63695,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:6:97","memberName":"encode","nodeType":"MemberAccess","src":"14457:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14437:37:97"},{"expression":{"arguments":[{"id":63703,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63606,"src":"14500:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63704,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63694,"src":"14508:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63700,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"14484:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14491:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"14484:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63706,"nodeType":"ExpressionStatement","src":"14484:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63707,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"14523:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63709,"nodeType":"ExpressionStatement","src":"14523:18:97"},{"assignments":[63711],"declarations":[{"constant":false,"id":63711,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"14560:13:97","nodeType":"VariableDeclaration","scope":63773,"src":"14552:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63710,"name":"uint256","nodeType":"ElementaryTypeName","src":"14552:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63713,"initialValue":{"hexValue":"3435303030","id":63712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14576:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"14552:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14625:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63720,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14636:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":63719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14628:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63718,"name":"address","nodeType":"ElementaryTypeName","src":"14628:7:97","typeDescriptions":{}}},"id":63721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14628:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63715,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63615,"src":"14600:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14603:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"14600:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14600:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63723,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63711,"src":"14644:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63714,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14591:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14591:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63725,"nodeType":"ExpressionStatement","src":"14591:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14722:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63727,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63615,"src":"14695:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14698:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"14695:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63731,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63711,"src":"14726:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63726,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14686:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14686:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63733,"nodeType":"ExpressionStatement","src":"14686:54:97"},{"assignments":[63735],"declarations":[{"constant":false,"id":63735,"mutability":"mutable","name":"ct1","nameLocation":"14777:3:97","nodeType":"VariableDeclaration","scope":63773,"src":"14769:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63734,"name":"uint256","nodeType":"ElementaryTypeName","src":"14769:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63740,"initialValue":{"arguments":[{"hexValue":"31303030","id":63738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:4:97","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":63736,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63615,"src":"14783:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14786:18:97","memberName":"calculateThreshold","nodeType":"MemberAccess","referencedDeclaration":60702,"src":"14783:21:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14783:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14769:41:97"},{"expression":{"arguments":[{"hexValue":"7468726573686f6c64202573","id":63744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14832:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},"value":"threshold %s"},{"id":63745,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63735,"src":"14848:3:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63741,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"14820:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14828:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"14820:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14820:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63747,"nodeType":"ExpressionStatement","src":"14820:32:97"},{"expression":{"arguments":[{"id":63749,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63711,"src":"14871:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":63750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14886:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":63748,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14862:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14862:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63752,"nodeType":"ExpressionStatement","src":"14862:30:97"},{"expression":{"arguments":[{"id":63754,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63735,"src":"14911:3:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3530363235","id":63755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14916:5:97","typeDescriptions":{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"},"value":"50625"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"}],"id":63753,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14902:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63757,"nodeType":"ExpressionStatement","src":"14902:20:97"},{"expression":{"arguments":[{"arguments":[{"id":63761,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"15029:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":63760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63759,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:97","typeDescriptions":{}}},"id":63762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15059:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63766,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"15097:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":63767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15113:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61758,"src":"15097:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15134:8:97","memberName":"selector","nodeType":"MemberAccess","src":"15097:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63769,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"15144:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63764,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15074:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15078:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15074:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15074:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63758,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66112,"src":"14997:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14997:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63772,"nodeType":"ExpressionStatement","src":"14997:171:97"}]},"functionSelector":"a6f2b82f","implemented":true,"kind":"function","modifiers":[],"name":"disabled_test_threshold_check_as_js_test","nameLocation":"13558:40:97","parameters":{"id":63598,"nodeType":"ParameterList","parameters":[],"src":"13598:2:97"},"returnParameters":{"id":63599,"nodeType":"ParameterList","parameters":[],"src":"13608:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63951,"nodeType":"FunctionDefinition","src":"15181:1522:97","nodes":[],"body":{"id":63950,"nodeType":"Block","src":"15224:1479:97","nodes":[],"statements":[{"assignments":[63781,63783],"declarations":[{"constant":false,"id":63781,"mutability":"mutable","name":"pool","nameLocation":"15253:4:97","nodeType":"VariableDeclaration","scope":63950,"src":"15235:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63780,"nodeType":"UserDefinedTypeName","pathNode":{"id":63779,"name":"IAllo.Pool","nameLocations":["15235:5:97","15241:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"15235:10:97"},"referencedDeclaration":2319,"src":"15235:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63783,"mutability":"mutable","name":"poolId","nameLocation":"15267:6:97","nodeType":"VariableDeclaration","scope":63950,"src":"15259:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63782,"name":"uint256","nodeType":"ElementaryTypeName","src":"15259:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63789,"initialValue":{"arguments":[{"id":63785,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"15293:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15301:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15304:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63784,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"15277:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15277:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"15234:72:97"},{"expression":{"arguments":[{"arguments":[{"id":63793,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"15404:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":63792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15396:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63791,"name":"address","nodeType":"ElementaryTypeName","src":"15396:7:97","typeDescriptions":{}}},"id":63794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15396:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15422:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63798,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"15448:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":63799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15464:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61758,"src":"15448:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15485:8:97","memberName":"selector","nodeType":"MemberAccess","src":"15448:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":63801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15495:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":63796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15425:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15429:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15425:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15425:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63790,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66112,"src":"15372:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15372:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63804,"nodeType":"ExpressionStatement","src":"15372:139:97"},{"assignments":[63810],"declarations":[{"constant":false,"id":63810,"mutability":"mutable","name":"votes","nameLocation":"15652:5:97","nodeType":"VariableDeclaration","scope":63950,"src":"15616:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63808,"nodeType":"UserDefinedTypeName","pathNode":{"id":63807,"name":"CVStrategy.ProposalSupport","nameLocations":["15616:10:97","15627:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"15616:26:97"},"referencedDeclaration":59190,"src":"15616:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63809,"nodeType":"ArrayTypeName","src":"15616:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":63817,"initialValue":{"arguments":[{"hexValue":"31","id":63815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15693:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15660:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63812,"nodeType":"UserDefinedTypeName","pathNode":{"id":63811,"name":"CVStrategy.ProposalSupport","nameLocations":["15664:10:97","15675:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"15664:26:97"},"referencedDeclaration":59190,"src":"15664:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63813,"nodeType":"ArrayTypeName","src":"15664:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15660:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15616:79:97"},{"expression":{"id":63826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63818,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63810,"src":"15705:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63820,"indexExpression":{"hexValue":"30","id":63819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15711:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15705:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15743:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15746:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63821,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"15716:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15727:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"15716:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15716:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"15705:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63827,"nodeType":"ExpressionStatement","src":"15705:45:97"},{"assignments":[63829],"declarations":[{"constant":false,"id":63829,"mutability":"mutable","name":"data","nameLocation":"15773:4:97","nodeType":"VariableDeclaration","scope":63950,"src":"15760:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63828,"name":"bytes","nodeType":"ElementaryTypeName","src":"15760:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63834,"initialValue":{"arguments":[{"id":63832,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63810,"src":"15791:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63830,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15780:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15784:6:97","memberName":"encode","nodeType":"MemberAccess","src":"15780:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15780:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15760:37:97"},{"expression":{"arguments":[{"id":63838,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63783,"src":"15823:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63839,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63829,"src":"15831:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63835,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"15807:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15814:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"15807:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63841,"nodeType":"ExpressionStatement","src":"15807:29:97"},{"assignments":[63843],"declarations":[{"constant":false,"id":63843,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"15886:13:97","nodeType":"VariableDeclaration","scope":63950,"src":"15878:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63842,"name":"uint256","nodeType":"ElementaryTypeName","src":"15878:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63845,"initialValue":{"hexValue":"3435303030","id":63844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"15878:29:97"},{"assignments":[63848],"declarations":[{"constant":false,"id":63848,"mutability":"mutable","name":"cv","nameLocation":"15928:2:97","nodeType":"VariableDeclaration","scope":63950,"src":"15917:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":63847,"nodeType":"UserDefinedTypeName","pathNode":{"id":63846,"name":"CVStrategy","nameLocations":["15917:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"15917:10:97"},"referencedDeclaration":61014,"src":"15917:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63859,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63854,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63781,"src":"15960:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63855,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"15960:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15952:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63852,"name":"address","nodeType":"ElementaryTypeName","src":"15952:7:97","typeDescriptions":{}}},"id":63856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15952:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15944:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63850,"name":"address","nodeType":"ElementaryTypeName","src":"15944:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15944:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63849,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"15933:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"15917:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63866,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16031:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":63865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16023:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63864,"name":"address","nodeType":"ElementaryTypeName","src":"16023:7:97","typeDescriptions":{}}},"id":63867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16023:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63861,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63848,"src":"15995:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15998:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"15995:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15995:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63869,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63843,"src":"16039:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63860,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"15986:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15986:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63871,"nodeType":"ExpressionStatement","src":"15986:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16099:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63873,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63848,"src":"16072:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16075:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"16072:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16072:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63877,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63843,"src":"16103:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63872,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"16063:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16063:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63879,"nodeType":"ExpressionStatement","src":"16063:54:97"},{"expression":{"id":63889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63880,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63810,"src":"16128:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63882,"indexExpression":{"hexValue":"30","id":63881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16128:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16166:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"16169:4:97","subExpression":{"hexValue":"313030","id":63886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16170:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":63883,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"16139:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16150:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"16139:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"16128:46:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63890,"nodeType":"ExpressionStatement","src":"16128:46:97"},{"expression":{"id":63896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63891,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63829,"src":"16184:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63894,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63810,"src":"16202:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63892,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16191:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16195:6:97","memberName":"encode","nodeType":"MemberAccess","src":"16191:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"16184:24:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63897,"nodeType":"ExpressionStatement","src":"16184:24:97"},{"expression":{"arguments":[{"id":63901,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63783,"src":"16234:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63902,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63829,"src":"16242:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63898,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"16218:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"16218:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63904,"nodeType":"ExpressionStatement","src":"16218:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16292:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63911,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16303:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":63910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16295:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63909,"name":"address","nodeType":"ElementaryTypeName","src":"16295:7:97","typeDescriptions":{}}},"id":63912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16295:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63906,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63848,"src":"16267:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16270:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"16267:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16267:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16311:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65","id":63915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16314:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""},"value":"VoterStake"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""}],"id":63905,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16258:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16258:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63917,"nodeType":"ExpressionStatement","src":"16258:69:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16373:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63919,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63848,"src":"16346:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"16346:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16346:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16377:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"5374616b6564416d6f756e74","id":63924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16380:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""},"value":"StakedAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""}],"id":63918,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16337:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16337:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63926,"nodeType":"ExpressionStatement","src":"16337:58:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63928,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63848,"src":"16415:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":63929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16418:11:97","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":59228,"src":"16415:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16415:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16433:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564","id":63932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16436:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""},"value":"TotalStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""}],"id":63927,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16406:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63934,"nodeType":"ExpressionStatement","src":"16406:44:97"},{"expression":{"arguments":[{"arguments":[{"id":63938,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"16557:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":63937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16549:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63936,"name":"address","nodeType":"ElementaryTypeName","src":"16549:7:97","typeDescriptions":{}}},"id":63939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16549:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16587:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63943,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"16625:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":63944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16641:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61758,"src":"16625:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16662:8:97","memberName":"selector","nodeType":"MemberAccess","src":"16625:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63946,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"16672:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63941,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16602:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16606:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16602:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63935,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66112,"src":"16525:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16525:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63949,"nodeType":"ExpressionStatement","src":"16525:171:97"}]},"functionSelector":"61164d4e","implemented":true,"kind":"function","modifiers":[],"name":"test_total_staked_amount","nameLocation":"15190:24:97","parameters":{"id":63775,"nodeType":"ParameterList","parameters":[],"src":"15214:2:97"},"returnParameters":{"id":63776,"nodeType":"ParameterList","parameters":[],"src":"15224:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64050,"nodeType":"FunctionDefinition","src":"16709:866:97","nodes":[],"body":{"id":64049,"nodeType":"Block","src":"16769:806:97","nodes":[],"statements":[{"assignments":[63958,63960],"declarations":[{"constant":false,"id":63958,"mutability":"mutable","name":"pool","nameLocation":"16798:4:97","nodeType":"VariableDeclaration","scope":64049,"src":"16780:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63957,"nodeType":"UserDefinedTypeName","pathNode":{"id":63956,"name":"IAllo.Pool","nameLocations":["16780:5:97","16786:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"16780:10:97"},"referencedDeclaration":2319,"src":"16780:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63960,"mutability":"mutable","name":"poolId","nameLocation":"16812:6:97","nodeType":"VariableDeclaration","scope":64049,"src":"16804:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63959,"name":"uint256","nodeType":"ElementaryTypeName","src":"16804:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63966,"initialValue":{"arguments":[{"id":63962,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16838:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16846:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16849:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63961,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"16822:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16779:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16934:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63967,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"16916:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63970,"nodeType":"ExpressionStatement","src":"16916:39:97"},{"assignments":[63976],"declarations":[{"constant":false,"id":63976,"mutability":"mutable","name":"votes","nameLocation":"17001:5:97","nodeType":"VariableDeclaration","scope":64049,"src":"16965:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63974,"nodeType":"UserDefinedTypeName","pathNode":{"id":63973,"name":"CVStrategy.ProposalSupport","nameLocations":["16965:10:97","16976:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"16965:26:97"},"referencedDeclaration":59190,"src":"16965:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63975,"nodeType":"ArrayTypeName","src":"16965:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63983,"initialValue":{"arguments":[{"hexValue":"32","id":63981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17042:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":63980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17009:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63978,"nodeType":"UserDefinedTypeName","pathNode":{"id":63977,"name":"CVStrategy.ProposalSupport","nameLocations":["17013:10:97","17024:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"17013:26:97"},"referencedDeclaration":59190,"src":"17013:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63979,"nodeType":"ArrayTypeName","src":"17013:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17009:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16965:79:97"},{"expression":{"id":63992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63984,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63976,"src":"17054:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63986,"indexExpression":{"hexValue":"30","id":63985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17060:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17054:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17092:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17095:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63987,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"17065:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":63988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17076:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"17065:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"17054:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63993,"nodeType":"ExpressionStatement","src":"17054:45:97"},{"expression":{"baseExpression":{"id":63994,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63976,"src":"17109:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63996,"indexExpression":{"hexValue":"31","id":63995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17115:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17109:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63997,"nodeType":"ExpressionStatement","src":"17109:8:97"},{"assignments":[63999],"declarations":[{"constant":false,"id":63999,"mutability":"mutable","name":"data","nameLocation":"17140:4:97","nodeType":"VariableDeclaration","scope":64049,"src":"17127:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63998,"name":"bytes","nodeType":"ElementaryTypeName","src":"17127:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64004,"initialValue":{"arguments":[{"id":64002,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63976,"src":"17158:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64000,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17147:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17151:6:97","memberName":"encode","nodeType":"MemberAccess","src":"17147:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17127:37:97"},{"expression":{"arguments":[{"id":64008,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63960,"src":"17296:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64009,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63999,"src":"17304:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64005,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"17280:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17287:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"17280:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64011,"nodeType":"ExpressionStatement","src":"17280:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64012,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"17319:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17319:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64014,"nodeType":"ExpressionStatement","src":"17319:18:97"},{"assignments":[64017],"declarations":[{"constant":false,"id":64017,"mutability":"mutable","name":"cv","nameLocation":"17359:2:97","nodeType":"VariableDeclaration","scope":64049,"src":"17348:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":64016,"nodeType":"UserDefinedTypeName","pathNode":{"id":64015,"name":"CVStrategy","nameLocations":["17348:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"17348:10:97"},"referencedDeclaration":61014,"src":"17348:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64028,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64023,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63958,"src":"17391:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17396:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17391:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17383:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64021,"name":"address","nodeType":"ElementaryTypeName","src":"17383:7:97","typeDescriptions":{}}},"id":64025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17383:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17375:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64019,"name":"address","nodeType":"ElementaryTypeName","src":"17375:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17375:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64018,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"17364:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17364:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17348:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17452:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64035,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17463:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":64034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17455:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64033,"name":"address","nodeType":"ElementaryTypeName","src":"17455:7:97","typeDescriptions":{}}},"id":64036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64030,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64017,"src":"17427:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17430:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"17427:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17427:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64038,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"17471:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64029,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17418:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64040,"nodeType":"ExpressionStatement","src":"17418:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17550:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64042,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64017,"src":"17523:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17526:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"17523:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64046,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"17554:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64041,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17514:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17514:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64048,"nodeType":"ExpressionStatement","src":"17514:54:97"}]},"functionSelector":"39b7e525","implemented":true,"kind":"function","modifiers":[],"name":"test_allocate_proposalSupport_empty_array","nameLocation":"16718:41:97","parameters":{"id":63952,"nodeType":"ParameterList","parameters":[],"src":"16759:2:97"},"returnParameters":{"id":63953,"nodeType":"ParameterList","parameters":[],"src":"16769:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64432,"nodeType":"FunctionDefinition","src":"17581:3967:97","nodes":[],"body":{"id":64431,"nodeType":"Block","src":"17651:3897:97","nodes":[],"statements":[{"assignments":[64057,64059],"declarations":[{"constant":false,"id":64057,"mutability":"mutable","name":"pool","nameLocation":"17680:4:97","nodeType":"VariableDeclaration","scope":64431,"src":"17662:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64056,"nodeType":"UserDefinedTypeName","pathNode":{"id":64055,"name":"IAllo.Pool","nameLocations":["17662:5:97","17668:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"17662:10:97"},"referencedDeclaration":2319,"src":"17662:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64059,"mutability":"mutable","name":"poolId","nameLocation":"17694:6:97","nodeType":"VariableDeclaration","scope":64431,"src":"17686:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64058,"name":"uint256","nodeType":"ElementaryTypeName","src":"17686:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64068,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":64063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17728:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17720:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64061,"name":"address","nodeType":"ElementaryTypeName","src":"17720:7:97","typeDescriptions":{}}},"id":64064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3530","id":64065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17732:8:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50"},{"hexValue":"315f303030","id":64066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17742:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":64060,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"17704:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17704:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"17661:93:97"},{"assignments":[64071],"declarations":[{"constant":false,"id":64071,"mutability":"mutable","name":"cv","nameLocation":"17776:2:97","nodeType":"VariableDeclaration","scope":64431,"src":"17765:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":64070,"nodeType":"UserDefinedTypeName","pathNode":{"id":64069,"name":"CVStrategy","nameLocations":["17765:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"17765:10:97"},"referencedDeclaration":61014,"src":"17765:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64082,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64077,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64057,"src":"17808:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17813:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17808:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17800:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64075,"name":"address","nodeType":"ElementaryTypeName","src":"17800:7:97","typeDescriptions":{}}},"id":64079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17800:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17792:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64073,"name":"address","nodeType":"ElementaryTypeName","src":"17792:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17792:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64072,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"17781:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17781:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17765:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":64087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18110:15:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":64086,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"18096:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18096:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64083,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"18084:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18087:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60969,"src":"18084:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18084:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64090,"nodeType":"ExpressionStatement","src":"18084:43:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":64095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18183:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":64094,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"18169:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18169:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64091,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"18154:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18157:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60983,"src":"18154:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18154:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64098,"nodeType":"ExpressionStatement","src":"18154:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":64103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18250:12:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":64102,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"18236:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18236:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64099,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"18223:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18226:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":60997,"src":"18223:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18223:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64106,"nodeType":"ExpressionStatement","src":"18223:41:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18367:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64107,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"18349:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18349:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64110,"nodeType":"ExpressionStatement","src":"18349:39:97"},{"assignments":[64112],"declarations":[{"constant":false,"id":64112,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"18405:11:97","nodeType":"VariableDeclaration","scope":64431,"src":"18398:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64111,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64114,"initialValue":{"hexValue":"313030","id":64113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18419:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"18398:24:97"},{"assignments":[64120],"declarations":[{"constant":false,"id":64120,"mutability":"mutable","name":"votes","nameLocation":"18468:5:97","nodeType":"VariableDeclaration","scope":64431,"src":"18432:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64118,"nodeType":"UserDefinedTypeName","pathNode":{"id":64117,"name":"CVStrategy.ProposalSupport","nameLocations":["18432:10:97","18443:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"18432:26:97"},"referencedDeclaration":59190,"src":"18432:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64119,"nodeType":"ArrayTypeName","src":"18432:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64127,"initialValue":{"arguments":[{"hexValue":"31","id":64125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18509:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18476:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64122,"nodeType":"UserDefinedTypeName","pathNode":{"id":64121,"name":"CVStrategy.ProposalSupport","nameLocations":["18480:10:97","18491:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"18480:26:97"},"referencedDeclaration":59190,"src":"18480:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64123,"nodeType":"ArrayTypeName","src":"18480:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18476:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18432:79:97"},{"expression":{"id":64136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64128,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64120,"src":"18521:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64130,"indexExpression":{"hexValue":"30","id":64129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18527:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18521:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18559:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64134,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"18562:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64131,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"18532:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18543:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"18532:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18532:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"18521:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64137,"nodeType":"ExpressionStatement","src":"18521:53:97"},{"assignments":[64139],"declarations":[{"constant":false,"id":64139,"mutability":"mutable","name":"data","nameLocation":"18618:4:97","nodeType":"VariableDeclaration","scope":64431,"src":"18605:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64138,"name":"bytes","nodeType":"ElementaryTypeName","src":"18605:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64144,"initialValue":{"arguments":[{"id":64142,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64120,"src":"18636:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64140,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18625:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18629:6:97","memberName":"encode","nodeType":"MemberAccess","src":"18625:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18625:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18605:37:97"},{"expression":{"arguments":[{"id":64148,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64059,"src":"18668:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64149,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64139,"src":"18676:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64145,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"18652:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18659:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"18652:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64151,"nodeType":"ExpressionStatement","src":"18652:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64152,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"18691:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64154,"nodeType":"ExpressionStatement","src":"18691:18:97"},{"assignments":[64156],"declarations":[{"constant":false,"id":64156,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"18728:13:97","nodeType":"VariableDeclaration","scope":64431,"src":"18720:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64155,"name":"uint256","nodeType":"ElementaryTypeName","src":"18720:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64165,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64159,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"18752:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18744:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64157,"name":"uint256","nodeType":"ElementaryTypeName","src":"18744:7:97","typeDescriptions":{}}},"id":64160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18744:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64161,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"18767:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18744:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18783:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"18744:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18720:66:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18830:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64172,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18841:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":64171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18833:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64170,"name":"address","nodeType":"ElementaryTypeName","src":"18833:7:97","typeDescriptions":{}}},"id":64173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64167,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"18805:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18808:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"18805:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18805:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64175,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64156,"src":"18849:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64166,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18796:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18796:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64177,"nodeType":"ExpressionStatement","src":"18796:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18927:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64179,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"18900:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18903:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"18900:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18900:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64183,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64156,"src":"18931:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64178,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18891:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18891:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64185,"nodeType":"ExpressionStatement","src":"18891:54:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64189,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19042:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19042:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64186,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19028:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19031:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"19028:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19028:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64192,"nodeType":"ExpressionStatement","src":"19028:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64193,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"19158:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19161:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59582,"src":"19158:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19158:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64197,"nodeType":"ExpressionStatement","src":"19158:19:97"},{"assignments":[64203],"declarations":[{"constant":false,"id":64203,"mutability":"mutable","name":"votes2","nameLocation":"19224:6:97","nodeType":"VariableDeclaration","scope":64431,"src":"19188:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64201,"nodeType":"UserDefinedTypeName","pathNode":{"id":64200,"name":"CVStrategy.ProposalSupport","nameLocations":["19188:10:97","19199:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"19188:26:97"},"referencedDeclaration":59190,"src":"19188:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64202,"nodeType":"ArrayTypeName","src":"19188:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64210,"initialValue":{"arguments":[{"hexValue":"31","id":64208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19266:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19233:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64205,"nodeType":"UserDefinedTypeName","pathNode":{"id":64204,"name":"CVStrategy.ProposalSupport","nameLocations":["19237:10:97","19248:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"19237:26:97"},"referencedDeclaration":59190,"src":"19237:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64206,"nodeType":"ArrayTypeName","src":"19237:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19233:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19188:80:97"},{"assignments":[64212],"declarations":[{"constant":false,"id":64212,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"19285:12:97","nodeType":"VariableDeclaration","scope":64431,"src":"19278:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64211,"name":"int256","nodeType":"ElementaryTypeName","src":"19278:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64214,"initialValue":{"hexValue":"313030","id":64213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19300:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"19278:25:97"},{"expression":{"id":64223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64215,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64203,"src":"19313:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64217,"indexExpression":{"hexValue":"30","id":64216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19320:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19313:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19352:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64221,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64212,"src":"19355:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64218,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"19325:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19336:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"19325:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19325:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"19313:55:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64224,"nodeType":"ExpressionStatement","src":"19313:55:97"},{"expression":{"id":64230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64225,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64139,"src":"19378:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64228,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64203,"src":"19396:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19385:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19389:6:97","memberName":"encode","nodeType":"MemberAccess","src":"19385:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19385:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19378:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":64231,"nodeType":"ExpressionStatement","src":"19378:25:97"},{"expression":{"arguments":[{"id":64235,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64059,"src":"19480:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64236,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64139,"src":"19488:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64232,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"19464:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19471:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"19464:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64238,"nodeType":"ExpressionStatement","src":"19464:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64239,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19503:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19506:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"19503:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19503:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64243,"nodeType":"ExpressionStatement","src":"19503:14:97"},{"assignments":[64245],"declarations":[{"constant":false,"id":64245,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"19536:14:97","nodeType":"VariableDeclaration","scope":64431,"src":"19528:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64244,"name":"uint256","nodeType":"ElementaryTypeName","src":"19528:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64254,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64248,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64212,"src":"19561:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19553:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64246,"name":"uint256","nodeType":"ElementaryTypeName","src":"19553:7:97","typeDescriptions":{}}},"id":64249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19553:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64250,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"19577:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19553:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19593:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"19553:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19528:68:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19641:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64261,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19652:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19652:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19644:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64259,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:97","typeDescriptions":{}}},"id":64263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19644:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64256,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"19616:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19619:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"19616:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64265,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64245,"src":"19668:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64255,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19607:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19607:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64267,"nodeType":"ExpressionStatement","src":"19607:76:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19748:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64269,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"19721:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19724:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"19721:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19721:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64273,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64156,"src":"19752:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":64274,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64245,"src":"19768:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19752:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64268,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19712:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19712:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64277,"nodeType":"ExpressionStatement","src":"19712:71:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":64281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19860:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":64282,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"19883:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19889:6:97","memberName":"number","nodeType":"MemberAccess","src":"19883:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64278,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"19848:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19856:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"19848:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19848:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64285,"nodeType":"ExpressionStatement","src":"19848:48:97"},{"assignments":[64287],"declarations":[{"constant":false,"id":64287,"mutability":"mutable","name":"totalEffectiveActivePoints","nameLocation":"19914:26:97","nodeType":"VariableDeclaration","scope":64431,"src":"19906:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64286,"name":"uint256","nodeType":"ElementaryTypeName","src":"19906:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64291,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64288,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"19943:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19946:26:97","memberName":"totalEffectiveActivePoints","nodeType":"MemberAccess","referencedDeclaration":60839,"src":"19943:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19943:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19906:68:97"},{"expression":{"arguments":[{"hexValue":"746f74616c456666656374697665416374697665506f696e7473","id":64295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19996:28:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},"value":"totalEffectiveActivePoints"},{"id":64296,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64287,"src":"20026:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64292,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"19984:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19992:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"19984:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64298,"nodeType":"ExpressionStatement","src":"19984:69:97"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":64302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20075:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"id":64305,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64287,"src":"20110:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64303,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"20090:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20093:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60955,"src":"20090:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20090:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64299,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20063:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20071:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20063:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64308,"nodeType":"ExpressionStatement","src":"20063:75:97"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":64312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20160:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":64317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20222:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64315,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"20195:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20198:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"20195:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20195:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64313,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"20175:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20178:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60955,"src":"20175:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20175:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64309,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20148:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20156:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20148:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20148:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64321,"nodeType":"ExpressionStatement","src":"20148:78:97"},{"expression":{"arguments":[{"arguments":[{"id":64325,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64287,"src":"20266:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64323,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"20246:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20249:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60955,"src":"20246:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"323839303334","id":64327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20295:6:97","typeDescriptions":{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},"value":"289034"},{"hexValue":"6d61784356537570706c79","id":64328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20303:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""}],"id":64322,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20237:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20237:80:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64330,"nodeType":"ExpressionStatement","src":"20237:80:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"31","id":64336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20383:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64334,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"20356:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20359:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"20356:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64332,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"20336:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20339:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60955,"src":"20336:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20336:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3238393033","id":64339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20388:5:97","typeDescriptions":{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},"value":"28903"},{"hexValue":"6d617843565374616b6564","id":64340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20395:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""}],"id":64331,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20327:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20327:82:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64342,"nodeType":"ExpressionStatement","src":"20327:82:97"},{"expression":{"arguments":[{"hexValue":"313130","id":64346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20428:3:97","typeDescriptions":{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"},"value":"110"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"}],"expression":{"id":64343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"20420:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20423:4:97","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23849,"src":"20420:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20420:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64348,"nodeType":"ExpressionStatement","src":"20420:12:97"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":64352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20454:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":64353,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20476:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20482:6:97","memberName":"number","nodeType":"MemberAccess","src":"20476:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64349,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20442:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20450:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20442:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20442:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64356,"nodeType":"ExpressionStatement","src":"20442:47:97"},{"expression":{"arguments":[{"hexValue":"31","id":64360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20774:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64357,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"20746:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20749:24:97","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":60937,"src":"20746:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":64361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20746:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64362,"nodeType":"ExpressionStatement","src":"20746:30:97"},{"assignments":[null,null,null,64364,64366,null,null,null,64368,null,64370,64372],"declarations":[null,null,null,{"constant":false,"id":64364,"mutability":"mutable","name":"requestedAmount","nameLocation":"20851:15:97","nodeType":"VariableDeclaration","scope":64431,"src":"20843:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64363,"name":"uint256","nodeType":"ElementaryTypeName","src":"20843:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64366,"mutability":"mutable","name":"stakedTokens","nameLocation":"20888:12:97","nodeType":"VariableDeclaration","scope":64431,"src":"20880:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64365,"name":"uint256","nodeType":"ElementaryTypeName","src":"20880:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":64368,"mutability":"mutable","name":"convictionLast","nameLocation":"20964:14:97","nodeType":"VariableDeclaration","scope":64431,"src":"20956:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64367,"name":"uint256","nodeType":"ElementaryTypeName","src":"20956:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64370,"mutability":"mutable","name":"threshold","nameLocation":"21014:9:97","nodeType":"VariableDeclaration","scope":64431,"src":"21006:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64369,"name":"uint256","nodeType":"ElementaryTypeName","src":"21006:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64372,"mutability":"mutable","name":"voterPointsPct","nameLocation":"21045:14:97","nodeType":"VariableDeclaration","scope":64431,"src":"21037:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64371,"name":"uint256","nodeType":"ElementaryTypeName","src":"21037:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64377,"initialValue":{"arguments":[{"hexValue":"31","id":64375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21087:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64373,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"21072:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21075:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60038,"src":"21072:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20787:302:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21112:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64382,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64364,"src":"21136:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64378,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21100:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21108:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21100:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21100:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64384,"nodeType":"ExpressionStatement","src":"21100:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21174:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64389,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64366,"src":"21195:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64385,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21162:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21170:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21162:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21162:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64391,"nodeType":"ExpressionStatement","src":"21162:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21230:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64396,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64370,"src":"21247:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64392,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21218:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21226:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21218:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21218:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64398,"nodeType":"ExpressionStatement","src":"21218:39:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21279:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64403,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64368,"src":"21302:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64399,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21267:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21275:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21267:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21267:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64405,"nodeType":"ExpressionStatement","src":"21267:50:97"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":64409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21339:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":64410,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64372,"src":"21362:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64406,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21327:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21335:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21327:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64412,"nodeType":"ExpressionStatement","src":"21327:50:97"},{"expression":{"arguments":[{"id":64414,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64370,"src":"21396:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3537383036","id":64415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21407:5:97","typeDescriptions":{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},"value":"57806"},{"hexValue":"7468726573686f6c64","id":64416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21414:11:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""},"value":"threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""}],"id":64413,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21387:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21387:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64418,"nodeType":"ExpressionStatement","src":"21387:39:97"},{"expression":{"arguments":[{"id":64420,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64368,"src":"21445:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"39303933","id":64421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21461:4:97","typeDescriptions":{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},"value":"9093"},{"hexValue":"636f6e76696374696f6e4c617374","id":64422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21467:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""},"value":"convictionLast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""}],"id":64419,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21436:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21436:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64424,"nodeType":"ExpressionStatement","src":"21436:48:97"},{"expression":{"arguments":[{"id":64426,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64372,"src":"21503:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313030","id":64427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21519:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"766f746572506f696e7473506374","id":64428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21524:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""},"value":"voterPointsPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""}],"id":64425,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21494:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21494:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64430,"nodeType":"ExpressionStatement","src":"21494:47:97"}]},"functionSelector":"503c712e","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_conviction_threshold_2_users","nameLocation":"17590:51:97","parameters":{"id":64051,"nodeType":"ParameterList","parameters":[],"src":"17641:2:97"},"returnParameters":{"id":64052,"nodeType":"ParameterList","parameters":[],"src":"17651:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64789,"nodeType":"FunctionDefinition","src":"21554:3158:97","nodes":[],"body":{"id":64788,"nodeType":"Block","src":"21597:3115:97","nodes":[],"statements":[{"assignments":[64439,64441],"declarations":[{"constant":false,"id":64439,"mutability":"mutable","name":"pool","nameLocation":"21626:4:97","nodeType":"VariableDeclaration","scope":64788,"src":"21608:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64438,"nodeType":"UserDefinedTypeName","pathNode":{"id":64437,"name":"IAllo.Pool","nameLocations":["21608:5:97","21614:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21608:10:97"},"referencedDeclaration":2319,"src":"21608:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64441,"mutability":"mutable","name":"poolId","nameLocation":"21640:6:97","nodeType":"VariableDeclaration","scope":64788,"src":"21632:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64440,"name":"uint256","nodeType":"ElementaryTypeName","src":"21632:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64447,"initialValue":{"arguments":[{"id":64443,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21666:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":64444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21674:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":64445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21677:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64442,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"21650:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21650:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21607:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21762:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64448,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"21744:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21744:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64451,"nodeType":"ExpressionStatement","src":"21744:39:97"},{"assignments":[64453],"declarations":[{"constant":false,"id":64453,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"21800:11:97","nodeType":"VariableDeclaration","scope":64788,"src":"21793:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64452,"name":"int256","nodeType":"ElementaryTypeName","src":"21793:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64455,"initialValue":{"hexValue":"3830","id":64454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21814:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"VariableDeclarationStatement","src":"21793:23:97"},{"assignments":[64461],"declarations":[{"constant":false,"id":64461,"mutability":"mutable","name":"votes","nameLocation":"21862:5:97","nodeType":"VariableDeclaration","scope":64788,"src":"21826:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64459,"nodeType":"UserDefinedTypeName","pathNode":{"id":64458,"name":"CVStrategy.ProposalSupport","nameLocations":["21826:10:97","21837:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"21826:26:97"},"referencedDeclaration":59190,"src":"21826:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64460,"nodeType":"ArrayTypeName","src":"21826:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64468,"initialValue":{"arguments":[{"hexValue":"31","id":64466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21903:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"21870:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64463,"nodeType":"UserDefinedTypeName","pathNode":{"id":64462,"name":"CVStrategy.ProposalSupport","nameLocations":["21874:10:97","21885:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"21874:26:97"},"referencedDeclaration":59190,"src":"21874:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64464,"nodeType":"ArrayTypeName","src":"21874:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21870:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"21826:79:97"},{"expression":{"id":64477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64469,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64461,"src":"21915:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64471,"indexExpression":{"hexValue":"30","id":64470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21921:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21915:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21953:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64475,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64453,"src":"21956:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64472,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"21926:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21937:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"21926:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21926:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"21915:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64478,"nodeType":"ExpressionStatement","src":"21915:53:97"},{"assignments":[64480],"declarations":[{"constant":false,"id":64480,"mutability":"mutable","name":"data","nameLocation":"22012:4:97","nodeType":"VariableDeclaration","scope":64788,"src":"21999:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64479,"name":"bytes","nodeType":"ElementaryTypeName","src":"21999:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64485,"initialValue":{"arguments":[{"id":64483,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64461,"src":"22030:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64481,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22019:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22023:6:97","memberName":"encode","nodeType":"MemberAccess","src":"22019:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22019:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21999:37:97"},{"expression":{"arguments":[{"id":64489,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64441,"src":"22062:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64490,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64480,"src":"22070:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64486,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22046:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22053:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"22046:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64492,"nodeType":"ExpressionStatement","src":"22046:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64493,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"22085:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22085:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64495,"nodeType":"ExpressionStatement","src":"22085:18:97"},{"assignments":[64497],"declarations":[{"constant":false,"id":64497,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"22122:13:97","nodeType":"VariableDeclaration","scope":64788,"src":"22114:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64496,"name":"uint256","nodeType":"ElementaryTypeName","src":"22114:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64506,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64500,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64453,"src":"22146:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22138:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64498,"name":"uint256","nodeType":"ElementaryTypeName","src":"22138:7:97","typeDescriptions":{}}},"id":64501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22138:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64502,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"22161:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22138:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22177:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"22138:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22114:66:97"},{"assignments":[64509],"declarations":[{"constant":false,"id":64509,"mutability":"mutable","name":"cv","nameLocation":"22201:2:97","nodeType":"VariableDeclaration","scope":64788,"src":"22190:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":64508,"nodeType":"UserDefinedTypeName","pathNode":{"id":64507,"name":"CVStrategy","nameLocations":["22190:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"22190:10:97"},"referencedDeclaration":61014,"src":"22190:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64520,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64515,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64439,"src":"22233:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22238:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"22233:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22225:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64513,"name":"address","nodeType":"ElementaryTypeName","src":"22225:7:97","typeDescriptions":{}}},"id":64517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22225:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22217:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64511,"name":"address","nodeType":"ElementaryTypeName","src":"22217:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64510,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"22206:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22206:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"22190:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22293:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64527,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22304:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":64526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22296:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64525,"name":"address","nodeType":"ElementaryTypeName","src":"22296:7:97","typeDescriptions":{}}},"id":64528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22296:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64522,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"22268:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22271:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"22268:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22268:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64530,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64497,"src":"22312:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6531","id":64531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22327:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""},"value":"ProposalVoterStake1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""}],"id":64521,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"22259:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22259:90:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64533,"nodeType":"ExpressionStatement","src":"22259:90:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22413:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64535,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"22386:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"22386:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64539,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64497,"src":"22417:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64534,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"22377:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22377:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64541,"nodeType":"ExpressionStatement","src":"22377:54:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64545,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22528:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64542,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"22514:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22517:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"22514:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22514:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64548,"nodeType":"ExpressionStatement","src":"22514:27:97"},{"assignments":[64550],"declarations":[{"constant":false,"id":64550,"mutability":"mutable","name":"proposalID2","nameLocation":"22560:11:97","nodeType":"VariableDeclaration","scope":64788,"src":"22552:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64549,"name":"uint256","nodeType":"ElementaryTypeName","src":"22552:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64552,"initialValue":{"hexValue":"32","id":64551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22574:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"22552:23:97"},{"assignments":[64557],"declarations":[{"constant":false,"id":64557,"mutability":"mutable","name":"proposal","nameLocation":"22618:8:97","nodeType":"VariableDeclaration","scope":64788,"src":"22585:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":64556,"nodeType":"UserDefinedTypeName","pathNode":{"id":64555,"name":"CVStrategy.CreateProposal","nameLocations":["22585:10:97","22596:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59147,"src":"22585:25:97"},"referencedDeclaration":59147,"src":"22585:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":64573,"initialValue":{"arguments":[{"id":64560,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64550,"src":"22668:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64561,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64441,"src":"22681:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":64562,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22689:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22689:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":64564,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"22703:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22714:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"22703:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":64566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22727:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59131,"src":"22703:31:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"id":64567,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62269,"src":"22736:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":64570,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"22762:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":64569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22754:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64568,"name":"address","nodeType":"ElementaryTypeName","src":"22754:7:97","typeDescriptions":{}}},"id":64571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22754:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64558,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"22629:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22640:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"22629:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":64572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22629:149:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"22585:193:97"},{"assignments":[64575],"declarations":[{"constant":false,"id":64575,"mutability":"mutable","name":"data2","nameLocation":"22801:5:97","nodeType":"VariableDeclaration","scope":64788,"src":"22788:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64574,"name":"bytes","nodeType":"ElementaryTypeName","src":"22788:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64580,"initialValue":{"arguments":[{"id":64578,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64557,"src":"22820:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":64576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22809:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22813:6:97","memberName":"encode","nodeType":"MemberAccess","src":"22809:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22809:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22788:41:97"},{"expression":{"arguments":[{"id":64584,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64441,"src":"22864:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64585,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64575,"src":"22872:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64581,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22839:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22846:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"22839:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":64586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64587,"nodeType":"ExpressionStatement","src":"22839:39:97"},{"expression":{"arguments":[{"arguments":[{"id":64593,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"22911:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":64592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22903:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64591,"name":"address","nodeType":"ElementaryTypeName","src":"22903:7:97","typeDescriptions":{}}},"id":64594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22903:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64595,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"22929:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":64596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22945:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61746,"src":"22929:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22929:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64588,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"22889:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":64590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22895:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"22889:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64599,"nodeType":"ExpressionStatement","src":"22889:79:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64600,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"23031:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59582,"src":"23031:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23031:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64604,"nodeType":"ExpressionStatement","src":"23031:19:97"},{"assignments":[64610],"declarations":[{"constant":false,"id":64610,"mutability":"mutable","name":"votes2","nameLocation":"23097:6:97","nodeType":"VariableDeclaration","scope":64788,"src":"23061:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64608,"nodeType":"UserDefinedTypeName","pathNode":{"id":64607,"name":"CVStrategy.ProposalSupport","nameLocations":["23061:10:97","23072:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"23061:26:97"},"referencedDeclaration":59190,"src":"23061:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64609,"nodeType":"ArrayTypeName","src":"23061:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64617,"initialValue":{"arguments":[{"hexValue":"31","id":64615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23139:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"23106:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64612,"nodeType":"UserDefinedTypeName","pathNode":{"id":64611,"name":"CVStrategy.ProposalSupport","nameLocations":["23110:10:97","23121:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"23110:26:97"},"referencedDeclaration":59190,"src":"23110:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64613,"nodeType":"ArrayTypeName","src":"23110:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23106:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23061:80:97"},{"assignments":[64619],"declarations":[{"constant":false,"id":64619,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"23158:12:97","nodeType":"VariableDeclaration","scope":64788,"src":"23151:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64618,"name":"int256","nodeType":"ElementaryTypeName","src":"23151:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64621,"initialValue":{"hexValue":"313030","id":64620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23173:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"23151:25:97"},{"expression":{"id":64630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64622,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64610,"src":"23186:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64624,"indexExpression":{"hexValue":"30","id":64623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23193:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23186:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64627,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64550,"src":"23225:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64628,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64619,"src":"23238:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64625,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"23198:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23209:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"23198:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"23186:65:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64631,"nodeType":"ExpressionStatement","src":"23186:65:97"},{"expression":{"id":64637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64632,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64480,"src":"23261:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64635,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64610,"src":"23279:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23268:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23272:6:97","memberName":"encode","nodeType":"MemberAccess","src":"23268:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23268:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"23261:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":64638,"nodeType":"ExpressionStatement","src":"23261:25:97"},{"expression":{"arguments":[{"id":64642,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64441,"src":"23363:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64643,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64480,"src":"23371:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64639,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"23347:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23354:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"23347:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64645,"nodeType":"ExpressionStatement","src":"23347:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64646,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23386:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23389:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"23386:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23386:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64650,"nodeType":"ExpressionStatement","src":"23386:14:97"},{"assignments":[64652],"declarations":[{"constant":false,"id":64652,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"23419:14:97","nodeType":"VariableDeclaration","scope":64788,"src":"23411:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64651,"name":"uint256","nodeType":"ElementaryTypeName","src":"23411:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64661,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64655,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64619,"src":"23444:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64653,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:97","typeDescriptions":{}}},"id":64656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23436:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64657,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"23460:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23436:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23476:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"23436:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23411:68:97"},{"expression":{"arguments":[{"arguments":[{"id":64665,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64550,"src":"23524:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64668,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"23545:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23545:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23537:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64666,"name":"address","nodeType":"ElementaryTypeName","src":"23537:7:97","typeDescriptions":{}}},"id":64670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23537:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64663,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"23499:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23502:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"23499:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23499:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64672,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64652,"src":"23561:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6532","id":64673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23577:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""},"value":"ProposalVoterStake2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""}],"id":64662,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23490:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:109:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64675,"nodeType":"ExpressionStatement","src":"23490:109:97"},{"expression":{"arguments":[{"arguments":[{"id":64679,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64550,"src":"23664:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64677,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"23637:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23640:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"23637:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23637:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64681,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64652,"src":"23678:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5374616b65644d6f756e7432","id":64682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23694:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""},"value":"StakedMount2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""}],"id":64676,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23628:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23628:81:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64684,"nodeType":"ExpressionStatement","src":"23628:81:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":64688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23786:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":64689,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23809:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23815:6:97","memberName":"number","nodeType":"MemberAccess","src":"23809:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64685,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23774:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23782:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23774:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23774:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64692,"nodeType":"ExpressionStatement","src":"23774:48:97"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":64696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23844:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64699,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"23879:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23882:11:97","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":59228,"src":"23879:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23879:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64697,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"23859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23862:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60955,"src":"23859:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23859:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64693,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23832:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23840:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23832:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23832:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64704,"nodeType":"ExpressionStatement","src":"23832:65:97"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":64708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23919:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":64713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23981:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64711,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"23954:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23957:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"23954:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23954:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64709,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"23934:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23937:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60955,"src":"23934:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23934:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64705,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23907:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23915:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23907:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23907:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64717,"nodeType":"ExpressionStatement","src":"23907:78:97"},{"expression":{"arguments":[{"hexValue":"3130","id":64721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24003:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"expression":{"id":64718,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23995:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23998:4:97","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23849,"src":"23995:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23995:11:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64723,"nodeType":"ExpressionStatement","src":"23995:11:97"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":64727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24028:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":64728,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24050:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24056:6:97","memberName":"number","nodeType":"MemberAccess","src":"24050:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64724,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24016:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24024:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24016:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24016:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64731,"nodeType":"ExpressionStatement","src":"24016:47:97"},{"expression":{"arguments":[{"hexValue":"31","id":64735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24102:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64732,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"24074:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24077:24:97","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":60937,"src":"24074:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":64736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24074:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64737,"nodeType":"ExpressionStatement","src":"24074:30:97"},{"assignments":[null,null,null,64739,64741,null,null,null,64743,null,64745,64747],"declarations":[null,null,null,{"constant":false,"id":64739,"mutability":"mutable","name":"requestedAmount","nameLocation":"24179:15:97","nodeType":"VariableDeclaration","scope":64788,"src":"24171:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64738,"name":"uint256","nodeType":"ElementaryTypeName","src":"24171:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64741,"mutability":"mutable","name":"stakedTokens","nameLocation":"24216:12:97","nodeType":"VariableDeclaration","scope":64788,"src":"24208:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64740,"name":"uint256","nodeType":"ElementaryTypeName","src":"24208:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":64743,"mutability":"mutable","name":"convictionLast","nameLocation":"24292:14:97","nodeType":"VariableDeclaration","scope":64788,"src":"24284:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64742,"name":"uint256","nodeType":"ElementaryTypeName","src":"24284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64745,"mutability":"mutable","name":"threshold","nameLocation":"24342:9:97","nodeType":"VariableDeclaration","scope":64788,"src":"24334:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64744,"name":"uint256","nodeType":"ElementaryTypeName","src":"24334:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64747,"mutability":"mutable","name":"voterPointsPct","nameLocation":"24373:14:97","nodeType":"VariableDeclaration","scope":64788,"src":"24365:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64746,"name":"uint256","nodeType":"ElementaryTypeName","src":"24365:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64752,"initialValue":{"arguments":[{"hexValue":"31","id":64750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24415:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64748,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"24400:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24403:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60038,"src":"24400:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24400:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24115:302:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24440:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64757,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64739,"src":"24464:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64753,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24428:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24436:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24428:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24428:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64759,"nodeType":"ExpressionStatement","src":"24428:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24502:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64764,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64741,"src":"24523:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64760,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24490:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24498:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24490:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64766,"nodeType":"ExpressionStatement","src":"24490:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24558:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64771,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64745,"src":"24575:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64767,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24546:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24554:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24546:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24546:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64773,"nodeType":"ExpressionStatement","src":"24546:39:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24607:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64778,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64743,"src":"24630:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64774,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24595:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24603:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24595:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24595:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64780,"nodeType":"ExpressionStatement","src":"24595:50:97"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":64784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24667:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":64785,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64747,"src":"24690:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64781,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24655:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24663:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24655:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24655:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64787,"nodeType":"ExpressionStatement","src":"24655:50:97"}]},"functionSelector":"757e122d","implemented":true,"kind":"function","modifiers":[],"name":"test_1_proposalSupported","nameLocation":"21563:24:97","parameters":{"id":64433,"nodeType":"ParameterList","parameters":[],"src":"21587:2:97"},"returnParameters":{"id":64434,"nodeType":"ParameterList","parameters":[],"src":"21597:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64999,"nodeType":"FunctionDefinition","src":"24718:2468:97","nodes":[],"body":{"id":64998,"nodeType":"Block","src":"24765:2421:97","nodes":[],"statements":[{"assignments":[64796,64798],"declarations":[{"constant":false,"id":64796,"mutability":"mutable","name":"pool","nameLocation":"24794:4:97","nodeType":"VariableDeclaration","scope":64998,"src":"24776:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64795,"nodeType":"UserDefinedTypeName","pathNode":{"id":64794,"name":"IAllo.Pool","nameLocations":["24776:5:97","24782:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24776:10:97"},"referencedDeclaration":2319,"src":"24776:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64798,"mutability":"mutable","name":"poolId","nameLocation":"24808:6:97","nodeType":"VariableDeclaration","scope":64998,"src":"24800:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64797,"name":"uint256","nodeType":"ElementaryTypeName","src":"24800:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64804,"initialValue":{"arguments":[{"id":64800,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"24834:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":64801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24842:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":64802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24845:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64799,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"24818:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24818:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24775:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64805,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"24912:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24912:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64808,"nodeType":"ExpressionStatement","src":"24912:39:97"},{"assignments":[64810],"declarations":[{"constant":false,"id":64810,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"24968:11:97","nodeType":"VariableDeclaration","scope":64998,"src":"24961:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64809,"name":"int256","nodeType":"ElementaryTypeName","src":"24961:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64812,"initialValue":{"hexValue":"313030","id":64811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24982:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"24961:24:97"},{"assignments":[64818],"declarations":[{"constant":false,"id":64818,"mutability":"mutable","name":"votes","nameLocation":"25031:5:97","nodeType":"VariableDeclaration","scope":64998,"src":"24995:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64816,"nodeType":"UserDefinedTypeName","pathNode":{"id":64815,"name":"CVStrategy.ProposalSupport","nameLocations":["24995:10:97","25006:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"24995:26:97"},"referencedDeclaration":59190,"src":"24995:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64817,"nodeType":"ArrayTypeName","src":"24995:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64825,"initialValue":{"arguments":[{"hexValue":"31","id":64823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25072:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"25039:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64820,"nodeType":"UserDefinedTypeName","pathNode":{"id":64819,"name":"CVStrategy.ProposalSupport","nameLocations":["25043:10:97","25054:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"25043:26:97"},"referencedDeclaration":59190,"src":"25043:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64821,"nodeType":"ArrayTypeName","src":"25043:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25039:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"24995:79:97"},{"expression":{"id":64834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64826,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64818,"src":"25084:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64828,"indexExpression":{"hexValue":"30","id":64827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25090:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25084:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25122:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64832,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64810,"src":"25125:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64829,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"25095:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25106:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"25095:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25095:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"25084:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64835,"nodeType":"ExpressionStatement","src":"25084:53:97"},{"expression":{"arguments":[{"id":64839,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64798,"src":"25217:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":64842,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64818,"src":"25236:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25225:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25229:6:97","memberName":"encode","nodeType":"MemberAccess","src":"25225:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25225:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64836,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"25201:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25208:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"25201:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64845,"nodeType":"ExpressionStatement","src":"25201:42:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64846,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"25253:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64848,"nodeType":"ExpressionStatement","src":"25253:18:97"},{"assignments":[64850],"declarations":[{"constant":false,"id":64850,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"25290:13:97","nodeType":"VariableDeclaration","scope":64998,"src":"25282:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64849,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64859,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64853,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64810,"src":"25314:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25306:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64851,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:97","typeDescriptions":{}}},"id":64854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25306:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64855,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"25329:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25306:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25345:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"25306:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25282:66:97"},{"assignments":[64862],"declarations":[{"constant":false,"id":64862,"mutability":"mutable","name":"cv","nameLocation":"25369:2:97","nodeType":"VariableDeclaration","scope":64998,"src":"25358:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":64861,"nodeType":"UserDefinedTypeName","pathNode":{"id":64860,"name":"CVStrategy","nameLocations":["25358:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"25358:10:97"},"referencedDeclaration":61014,"src":"25358:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64873,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64868,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64796,"src":"25401:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64869,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25406:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"25401:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25393:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64866,"name":"address","nodeType":"ElementaryTypeName","src":"25393:7:97","typeDescriptions":{}}},"id":64870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25393:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25385:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64864,"name":"address","nodeType":"ElementaryTypeName","src":"25385:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25385:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64863,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"25374:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":64872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25374:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"25358:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25461:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64880,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"25472:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":64879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25464:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64878,"name":"address","nodeType":"ElementaryTypeName","src":"25464:7:97","typeDescriptions":{}}},"id":64881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25464:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64875,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64862,"src":"25436:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25439:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"25436:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25436:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64883,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64850,"src":"25480:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64874,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25427:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25427:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64885,"nodeType":"ExpressionStatement","src":"25427:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25558:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64887,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64862,"src":"25531:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25534:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"25531:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64891,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64850,"src":"25562:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64886,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25522:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25522:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64893,"nodeType":"ExpressionStatement","src":"25522:54:97"},{"assignments":[null,64895,null,64897,64899,null,null,64901,64903,null,64905,null],"declarations":[null,{"constant":false,"id":64895,"mutability":"mutable","name":"beneficiary","nameLocation":"25641:11:97","nodeType":"VariableDeclaration","scope":64998,"src":"25633:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64894,"name":"address","nodeType":"ElementaryTypeName","src":"25633:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null,{"constant":false,"id":64897,"mutability":"mutable","name":"requestedAmount","nameLocation":"25688:15:97","nodeType":"VariableDeclaration","scope":64998,"src":"25680:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64896,"name":"uint256","nodeType":"ElementaryTypeName","src":"25680:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64899,"mutability":"mutable","name":"stakedTokens","nameLocation":"25725:12:97","nodeType":"VariableDeclaration","scope":64998,"src":"25717:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64898,"name":"uint256","nodeType":"ElementaryTypeName","src":"25717:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":64901,"mutability":"mutable","name":"blockLast","nameLocation":"25787:9:97","nodeType":"VariableDeclaration","scope":64998,"src":"25779:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64900,"name":"uint256","nodeType":"ElementaryTypeName","src":"25779:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64903,"mutability":"mutable","name":"convictionLast","nameLocation":"25818:14:97","nodeType":"VariableDeclaration","scope":64998,"src":"25810:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64902,"name":"uint256","nodeType":"ElementaryTypeName","src":"25810:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64905,"mutability":"mutable","name":"threshold","nameLocation":"25868:9:97","nodeType":"VariableDeclaration","scope":64998,"src":"25860:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64904,"name":"uint256","nodeType":"ElementaryTypeName","src":"25860:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":64910,"initialValue":{"arguments":[{"hexValue":"31","id":64908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25944:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64906,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64862,"src":"25929:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":64907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25932:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60038,"src":"25929:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25929:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25605:341:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26154:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64915,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64897,"src":"26178:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64911,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26142:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26150:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26142:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26142:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64917,"nodeType":"ExpressionStatement","src":"26142:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26216:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64922,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64899,"src":"26237:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64918,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26204:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26212:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26204:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26204:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64924,"nodeType":"ExpressionStatement","src":"26204:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26272:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64929,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64905,"src":"26289:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64925,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26260:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26268:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26260:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26260:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64931,"nodeType":"ExpressionStatement","src":"26260:39:97"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":64935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26391:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":64936,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64901,"src":"26409:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64932,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26379:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26387:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26379:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26379:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64938,"nodeType":"ExpressionStatement","src":"26379:40:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26441:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64943,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64903,"src":"26464:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64939,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26429:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26437:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26429:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64945,"nodeType":"ExpressionStatement","src":"26429:50:97"},{"assignments":[64950],"declarations":[{"constant":false,"id":64950,"mutability":"mutable","name":"recipients","nameLocation":"26677:10:97","nodeType":"VariableDeclaration","scope":64998,"src":"26660:27:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64948,"name":"address","nodeType":"ElementaryTypeName","src":"26660:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64949,"nodeType":"ArrayTypeName","src":"26660:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":64956,"initialValue":{"arguments":[{"hexValue":"30","id":64954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26704:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26690:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":64951,"name":"address","nodeType":"ElementaryTypeName","src":"26694:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64952,"nodeType":"ArrayTypeName","src":"26694:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":64955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26690:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26660:46:97"},{"assignments":[64958],"declarations":[{"constant":false,"id":64958,"mutability":"mutable","name":"dataProposal","nameLocation":"26768:12:97","nodeType":"VariableDeclaration","scope":64998,"src":"26755:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64957,"name":"bytes","nodeType":"ElementaryTypeName","src":"26755:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64963,"initialValue":{"arguments":[{"hexValue":"31","id":64961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26794:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64959,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26783:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26787:6:97","memberName":"encode","nodeType":"MemberAccess","src":"26783:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26783:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"26755:41:97"},{"assignments":[64965],"declarations":[{"constant":false,"id":64965,"mutability":"mutable","name":"amount","nameLocation":"26815:6:97","nodeType":"VariableDeclaration","scope":64998,"src":"26807:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64964,"name":"uint256","nodeType":"ElementaryTypeName","src":"26807:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64971,"initialValue":{"arguments":[{"expression":{"id":64967,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64796,"src":"26835:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26840:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26835:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64969,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64895,"src":"26847:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":64966,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62720,"src":"26824:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":64970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26824:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26807:52:97"},{"expression":{"arguments":[{"id":64973,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64965,"src":"26945:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":64974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26953:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64972,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"26936:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26936:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64976,"nodeType":"ExpressionStatement","src":"26936:19:97"},{"expression":{"arguments":[{"id":64980,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64798,"src":"26984:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64981,"name":"recipients","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64950,"src":"26992:10:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":64982,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64958,"src":"27004:12:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64977,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"26966:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26973:10:97","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"26966:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":64983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:51:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64984,"nodeType":"ExpressionStatement","src":"26966:51:97"},{"expression":{"id":64991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64985,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64965,"src":"27027:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":64987,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64796,"src":"27047:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27052:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"27047:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64989,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64895,"src":"27059:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":64986,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62720,"src":"27036:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":64990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27036:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27027:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64992,"nodeType":"ExpressionStatement","src":"27027:44:97"},{"expression":{"arguments":[{"id":64994,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64965,"src":"27155:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64995,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64897,"src":"27163:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64993,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"27146:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27146:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64997,"nodeType":"ExpressionStatement","src":"27146:33:97"}]},"functionSelector":"8cf86e50","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_native_token","nameLocation":"24727:28:97","parameters":{"id":64790,"nodeType":"ParameterList","parameters":[],"src":"24755:2:97"},"returnParameters":{"id":64791,"nodeType":"ParameterList","parameters":[],"src":"24765:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65225,"nodeType":"FunctionDefinition","src":"27192:2606:97","nodes":[],"body":{"id":65224,"nodeType":"Block","src":"27245:2553:97","nodes":[],"statements":[{"assignments":[65006,65008],"declarations":[{"constant":false,"id":65006,"mutability":"mutable","name":"pool","nameLocation":"27274:4:97","nodeType":"VariableDeclaration","scope":65224,"src":"27256:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65005,"nodeType":"UserDefinedTypeName","pathNode":{"id":65004,"name":"IAllo.Pool","nameLocations":["27256:5:97","27262:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"27256:10:97"},"referencedDeclaration":2319,"src":"27256:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65008,"mutability":"mutable","name":"poolId","nameLocation":"27288:6:97","nodeType":"VariableDeclaration","scope":65224,"src":"27280:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65007,"name":"uint256","nodeType":"ElementaryTypeName","src":"27280:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65017,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27322:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27314:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65010,"name":"address","nodeType":"ElementaryTypeName","src":"27314:7:97","typeDescriptions":{}}},"id":65013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27314:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27326:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27329:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65009,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"27298:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27298:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27255:76:97"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":65019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27360:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":65018,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"27342:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27342:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65021,"nodeType":"ExpressionStatement","src":"27342:35:97"},{"assignments":[65026],"declarations":[{"constant":false,"id":65026,"mutability":"mutable","name":"proposal","nameLocation":"27421:8:97","nodeType":"VariableDeclaration","scope":65224,"src":"27388:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":65025,"nodeType":"UserDefinedTypeName","pathNode":{"id":65024,"name":"CVStrategy.CreateProposal","nameLocations":["27388:10:97","27399:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59147,"src":"27388:25:97"},"referencedDeclaration":59147,"src":"27388:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":65044,"initialValue":{"arguments":[{"hexValue":"32","id":65029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27470:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":65030,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65008,"src":"27473:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":65033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27489:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27481:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65031,"name":"address","nodeType":"ElementaryTypeName","src":"27481:7:97","typeDescriptions":{}}},"id":65034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27481:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":65035,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"27493:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":65036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27504:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"27493:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":65037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27517:9:97","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59130,"src":"27493:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":65038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27528:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27539:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27531:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65039,"name":"address","nodeType":"ElementaryTypeName","src":"27531:7:97","typeDescriptions":{}}},"id":65042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27531:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65027,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"27444:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":65028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27455:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"27444:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":65043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27444:98:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"27388:154:97"},{"assignments":[65046],"declarations":[{"constant":false,"id":65046,"mutability":"mutable","name":"data","nameLocation":"27565:4:97","nodeType":"VariableDeclaration","scope":65224,"src":"27552:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65045,"name":"bytes","nodeType":"ElementaryTypeName","src":"27552:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65051,"initialValue":{"arguments":[{"id":65049,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65026,"src":"27583:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":65047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27572:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27576:6:97","memberName":"encode","nodeType":"MemberAccess","src":"27572:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27572:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"27552:40:97"},{"expression":{"arguments":[{"id":65055,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65008,"src":"27627:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65056,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65046,"src":"27635:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65052,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"27602:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27609:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"27602:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":65057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65058,"nodeType":"ExpressionStatement","src":"27602:38:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65059,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"27651:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27651:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65061,"nodeType":"ExpressionStatement","src":"27651:18:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":65063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27751:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":65062,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65699,"src":"27733:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65065,"nodeType":"ExpressionStatement","src":"27733:39:97"},{"assignments":[65067],"declarations":[{"constant":false,"id":65067,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"27789:11:97","nodeType":"VariableDeclaration","scope":65224,"src":"27782:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65066,"name":"int256","nodeType":"ElementaryTypeName","src":"27782:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":65069,"initialValue":{"hexValue":"313030","id":65068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27803:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"27782:24:97"},{"assignments":[65071],"declarations":[{"constant":false,"id":65071,"mutability":"mutable","name":"PROPOSAL_ID","nameLocation":"27824:11:97","nodeType":"VariableDeclaration","scope":65224,"src":"27816:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65070,"name":"uint256","nodeType":"ElementaryTypeName","src":"27816:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65073,"initialValue":{"hexValue":"32","id":65072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27838:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"27816:23:97"},{"assignments":[65079],"declarations":[{"constant":false,"id":65079,"mutability":"mutable","name":"votes","nameLocation":"27885:5:97","nodeType":"VariableDeclaration","scope":65224,"src":"27849:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":65077,"nodeType":"UserDefinedTypeName","pathNode":{"id":65076,"name":"CVStrategy.ProposalSupport","nameLocations":["27849:10:97","27860:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"27849:26:97"},"referencedDeclaration":59190,"src":"27849:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":65078,"nodeType":"ArrayTypeName","src":"27849:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":65086,"initialValue":{"arguments":[{"hexValue":"31","id":65084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27926:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27893:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":65081,"nodeType":"UserDefinedTypeName","pathNode":{"id":65080,"name":"CVStrategy.ProposalSupport","nameLocations":["27897:10:97","27908:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59190,"src":"27897:26:97"},"referencedDeclaration":59190,"src":"27897:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":65082,"nodeType":"ArrayTypeName","src":"27897:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":65085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27893:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"27849:79:97"},{"expression":{"id":65095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65087,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65079,"src":"27938:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":65089,"indexExpression":{"hexValue":"30","id":65088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27944:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27938:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65092,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65071,"src":"27976:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65093,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65067,"src":"27989:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":65090,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"27949:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":65091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27960:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59190,"src":"27949:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59190_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":65094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27949:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"27938:63:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59190_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":65096,"nodeType":"ExpressionStatement","src":"27938:63:97"},{"expression":{"arguments":[{"id":65100,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65008,"src":"28081:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":65103,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65079,"src":"28100:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59190_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":65101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28089:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28093:6:97","memberName":"encode","nodeType":"MemberAccess","src":"28089:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28089:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65097,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"28065:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28072:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"28065:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":65105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65106,"nodeType":"ExpressionStatement","src":"28065:42:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65107,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65731,"src":"28117:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28117:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65109,"nodeType":"ExpressionStatement","src":"28117:18:97"},{"assignments":[65111],"declarations":[{"constant":false,"id":65111,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"28154:13:97","nodeType":"VariableDeclaration","scope":65224,"src":"28146:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65110,"name":"uint256","nodeType":"ElementaryTypeName","src":"28146:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65120,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":65114,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65067,"src":"28178:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":65113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":65112,"name":"uint256","nodeType":"ElementaryTypeName","src":"28170:7:97","typeDescriptions":{}}},"id":65115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":65116,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"28193:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28170:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":65118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28209:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"28170:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28146:66:97"},{"assignments":[65123],"declarations":[{"constant":false,"id":65123,"mutability":"mutable","name":"cv","nameLocation":"28233:2:97","nodeType":"VariableDeclaration","scope":65224,"src":"28222:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":65122,"nodeType":"UserDefinedTypeName","pathNode":{"id":65121,"name":"CVStrategy","nameLocations":["28222:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"28222:10:97"},"referencedDeclaration":61014,"src":"28222:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65134,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65129,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65006,"src":"28265:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28270:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"28265:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28257:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65127,"name":"address","nodeType":"ElementaryTypeName","src":"28257:7:97","typeDescriptions":{}}},"id":65131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28257:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28249:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65125,"name":"address","nodeType":"ElementaryTypeName","src":"28249:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28249:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65124,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"28238:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":65133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"28222:59:97"},{"expression":{"arguments":[{"arguments":[{"id":65138,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65071,"src":"28325:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":65141,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28346:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65303","typeString":"contract CVStrategyTest"}],"id":65140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28338:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65139,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:97","typeDescriptions":{}}},"id":65142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28338:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65136,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65123,"src":"28300:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":65137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28303:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60054,"src":"28300:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":65143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28300:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65144,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65111,"src":"28354:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65135,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28291:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28291:77:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65146,"nodeType":"ExpressionStatement","src":"28291:77:97"},{"expression":{"arguments":[{"arguments":[{"id":65150,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65071,"src":"28432:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65148,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65123,"src":"28405:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":65149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28408:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60067,"src":"28405:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":65151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28405:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65152,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65111,"src":"28446:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65147,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28396:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28396:64:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65154,"nodeType":"ExpressionStatement","src":"28396:64:97"},{"assignments":[null,null,null,65156,65158,null,null,65160,65162,null,65164,null],"declarations":[null,null,null,{"constant":false,"id":65156,"mutability":"mutable","name":"requestedAmount","nameLocation":"28553:15:97","nodeType":"VariableDeclaration","scope":65224,"src":"28545:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65155,"name":"uint256","nodeType":"ElementaryTypeName","src":"28545:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65158,"mutability":"mutable","name":"stakedTokens","nameLocation":"28590:12:97","nodeType":"VariableDeclaration","scope":65224,"src":"28582:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65157,"name":"uint256","nodeType":"ElementaryTypeName","src":"28582:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":65160,"mutability":"mutable","name":"blockLast","nameLocation":"28652:9:97","nodeType":"VariableDeclaration","scope":65224,"src":"28644:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65159,"name":"uint256","nodeType":"ElementaryTypeName","src":"28644:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65162,"mutability":"mutable","name":"convictionLast","nameLocation":"28683:14:97","nodeType":"VariableDeclaration","scope":65224,"src":"28675:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65161,"name":"uint256","nodeType":"ElementaryTypeName","src":"28675:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":65164,"mutability":"mutable","name":"threshold","nameLocation":"28733:9:97","nodeType":"VariableDeclaration","scope":65224,"src":"28725:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65163,"name":"uint256","nodeType":"ElementaryTypeName","src":"28725:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":65169,"initialValue":{"arguments":[{"hexValue":"31","id":65167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28809:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":65165,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65123,"src":"28794:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":65166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28797:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60038,"src":"28794:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":65168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28794:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59133_$_t_enum$_ProposalStatus_$59152_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28489:322:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":65173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29019:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":65174,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65156,"src":"29043:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65170,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29007:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29015:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29007:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29007:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65176,"nodeType":"ExpressionStatement","src":"29007:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":65180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29081:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":65181,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65158,"src":"29102:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65177,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29069:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29077:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29069:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65183,"nodeType":"ExpressionStatement","src":"29069:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":65187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29137:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":65188,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65164,"src":"29154:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65184,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29125:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29133:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29125:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29125:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65190,"nodeType":"ExpressionStatement","src":"29125:39:97"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":65194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29256:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":65195,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65160,"src":"29274:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65191,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29244:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29252:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29244:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29244:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65197,"nodeType":"ExpressionStatement","src":"29244:40:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":65201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29306:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":65202,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65162,"src":"29329:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65198,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29294:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29302:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29294:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29294:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65204,"nodeType":"ExpressionStatement","src":"29294:50:97"},{"assignments":[65206],"declarations":[{"constant":false,"id":65206,"mutability":"mutable","name":"dataProposal","nameLocation":"29620:12:97","nodeType":"VariableDeclaration","scope":65224,"src":"29607:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65205,"name":"bytes","nodeType":"ElementaryTypeName","src":"29607:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65211,"initialValue":{"arguments":[{"id":65209,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65071,"src":"29646:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29635:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29639:6:97","memberName":"encode","nodeType":"MemberAccess","src":"29635:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29635:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"29607:51:97"},{"expression":{"arguments":[{"id":65215,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65008,"src":"29687:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":65219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29709:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29695:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":65216,"name":"address","nodeType":"ElementaryTypeName","src":"29699:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65217,"nodeType":"ArrayTypeName","src":"29699:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":65220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29695:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":65221,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65206,"src":"29713:12:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65212,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"29669:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29676:10:97","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"29669:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":65222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65223,"nodeType":"ExpressionStatement","src":"29669:57:97"}]},"functionSelector":"eaeb7195","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_signaling_proposal","nameLocation":"27201:34:97","parameters":{"id":65000,"nodeType":"ParameterList","parameters":[],"src":"27235:2:97"},"returnParameters":{"id":65001,"nodeType":"ParameterList","parameters":[],"src":"27245:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65302,"nodeType":"FunctionDefinition","src":"29804:496:97","nodes":[],"body":{"id":65301,"nodeType":"Block","src":"29843:457:97","nodes":[],"statements":[{"assignments":[65232,65234],"declarations":[{"constant":false,"id":65232,"mutability":"mutable","name":"pool","nameLocation":"29872:4:97","nodeType":"VariableDeclaration","scope":65301,"src":"29854:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65231,"nodeType":"UserDefinedTypeName","pathNode":{"id":65230,"name":"IAllo.Pool","nameLocations":["29854:5:97","29860:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"29854:10:97"},"referencedDeclaration":2319,"src":"29854:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65234,"mutability":"mutable","name":"poolId","nameLocation":"29886:6:97","nodeType":"VariableDeclaration","scope":65301,"src":"29878:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65233,"name":"uint256","nodeType":"ElementaryTypeName","src":"29878:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65243,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29920:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29912:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65236,"name":"address","nodeType":"ElementaryTypeName","src":"29912:7:97","typeDescriptions":{}}},"id":65239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29912:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29924:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29927:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65235,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62688,"src":"29896:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29896:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29853:76:97"},{"assignments":[65246],"declarations":[{"constant":false,"id":65246,"mutability":"mutable","name":"cv","nameLocation":"29951:2:97","nodeType":"VariableDeclaration","scope":65301,"src":"29940:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":65245,"nodeType":"UserDefinedTypeName","pathNode":{"id":65244,"name":"CVStrategy","nameLocations":["29940:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"29940:10:97"},"referencedDeclaration":61014,"src":"29940:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65257,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65252,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65232,"src":"29983:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29988:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"29983:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29975:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65250,"name":"address","nodeType":"ElementaryTypeName","src":"29975:7:97","typeDescriptions":{}}},"id":65254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29967:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65248,"name":"address","nodeType":"ElementaryTypeName","src":"29967:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29967:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65247,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"29956:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":65256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29956:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"29940:59:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65263,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61829,"src":"30049:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61829_$","typeString":"type(contract RegistryGardens)"}},"id":65264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30065:20:97","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":61200,"src":"30049:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30086:8:97","memberName":"selector","nodeType":"MemberAccess","src":"30049:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65261,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30026:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30030:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30026:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30026:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65258,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30010:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30013:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"30010:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30010:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65268,"nodeType":"ExpressionStatement","src":"30010:86:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65269,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65246,"src":"30106:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":65271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30109:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59582,"src":"30106:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30106:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65273,"nodeType":"ExpressionStatement","src":"30106:19:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65277,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30150:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30150:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30136:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30139:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"30136:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30136:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65280,"nodeType":"ExpressionStatement","src":"30136:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65281,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65246,"src":"30173:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":65283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30176:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59582,"src":"30173:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30173:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65285,"nodeType":"ExpressionStatement","src":"30173:19:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30202:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30205:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"30202:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30202:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65290,"nodeType":"ExpressionStatement","src":"30202:14:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65294,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30261:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30261:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65292,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"30236:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"id":65293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30252:8:97","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":61632,"src":"30236:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":65296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30236:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":65297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30276:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"69734d656d626572","id":65298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30282:10:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":65291,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12773,"src":"30227:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":65299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30227:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65300,"nodeType":"ExpressionStatement","src":"30227:66:97"}]},"functionSelector":"136994c0","implemented":true,"kind":"function","modifiers":[],"name":"test_activate_points","nameLocation":"29813:20:97","parameters":{"id":65226,"nodeType":"ParameterList","parameters":[],"src":"29833:2:97"},"returnParameters":{"id":65227,"nodeType":"ParameterList","parameters":[],"src":"29843:0:97"},"scope":65303,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":62238,"name":"Test","nameLocations":["1552:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":22442,"src":"1552:4:97"},"id":62239,"nodeType":"InheritanceSpecifier","src":"1552:4:97"},{"baseName":{"id":62240,"name":"AlloSetup","nameLocations":["1558:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1558:9:97"},"id":62241,"nodeType":"InheritanceSpecifier","src":"1558:9:97"},{"baseName":{"id":62242,"name":"RegistrySetupFull","nameLocations":["1569:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1569:17:97"},"id":62243,"nodeType":"InheritanceSpecifier","src":"1569:17:97"},{"baseName":{"id":62244,"name":"CVStrategyHelpers","nameLocations":["1588:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":62196,"src":"1588:17:97"},"id":62245,"nodeType":"InheritanceSpecifier","src":"1588:17:97"},{"baseName":{"id":62246,"name":"Errors","nameLocations":["1607:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1607:6:97"},"id":62247,"nodeType":"InheritanceSpecifier","src":"1607:6:97"},{"baseName":{"id":62248,"name":"GasHelpers2","nameLocations":["1615:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65732,"src":"1615:11:97"},"id":62249,"nodeType":"InheritanceSpecifier","src":"1615:11:97"},{"baseName":{"id":62250,"name":"SafeSetup","nameLocations":["1628:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":66113,"src":"1628:9:97"},"id":62251,"nodeType":"InheritanceSpecifier","src":"1628:9:97"}],"canonicalName":"CVStrategyTest","contractDependencies":[1390,2295,9751,55944,57710,61014,61061],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65303,66113,65732,3089,62196,9534,9370,9325,9264,22442,22391,17989,17664,16871,14811,14047,12515,12581,12578,3106],"name":"CVStrategyTest","nameLocation":"1534:14:97","scope":65304,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":97} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUESTED_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createProposal","inputs":[{"name":"_tokenPool","type":"address","internalType":"address"},{"name":"requestAmount","type":"uint256","internalType":"uint256"},{"name":"poolAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"pool","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]},{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disabled_test_threshold_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBalance","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testRevert_allocate_ProposalIdDuplicated","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_UserNotInRegistry","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_1_proposalSupported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_activate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_allocate_proposalSupport_empty_array","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_function","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_deactivate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_native_token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_signaling_proposal","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_change_support","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_conviction_threshold_2_users","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_total_staked_amount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602492835590919060259062000060908262000136565b5050600160288190556029805460ff19169055602c5550613a98602e553480156200008a57600080fd5b5062000202565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000bc57607f821691505b602082108103620000dd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013157600081815260208120601f850160051c810160208610156200010c5750805b601f850160051c820191505b818110156200012d5782815560010162000118565b5050505b505050565b81516001600160401b0381111562000152576200015262000091565b6200016a81620001638454620000a7565b84620000e3565b602080601f831160018114620001a25760008415620001895750858301515b600019600386901b1c1916600185901b1785556200012d565b600085815260208120601f198616915b82811015620001d357888601518255948401946001909101908401620001b2565b5085821015620001f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201beff80620002136000396000f3fe60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae620017d1565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009e23565b62001ad9565b6200064762001e24565b6200064762001e66565b6200072362001ea8565b6040516200065b919062009e90565b6200073c62001f0c565b6040516200065b919062009ef9565b620006ae6200075c36600462009fce565b6029805460ff1916911515919091179055565b620006ae6200205a565b6023546001600160a01b031662000647565b62000795620022d1565b6040516200065b92919062009fee565b620006ae62002370565b60205462000695565b62000723620025c6565b6200072362002628565b620007236200268a565b620006ae620026ad565b620006476200354f565b62000695602e5481565b6200064762003591565b620006ae620035d3565b6200064762003b4d565b6200081c62003b8f565b6040516200065b91906200a011565b6200064762003c79565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a169565b62003cbb565b6200072362003f8c565b620006ae6200402e565b6200064762004caa565b62000695602c5481565b6200072362004cec565b601d546001600160a01b031662000647565b6200064762004d5b565b6200064762004d9d565b620008c762004ddf565b6040516200065b91906200a20f565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004eb9565b6200064762005352565b6200064762005394565b6200069561afc881565b620006ae620053d6565b620006956200093736600462009e23565b6200590b565b6200081c620059e8565b620006ae62005ad2565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005ccd565b620006ae62005d3c565b62000647620061e3565b620006956200099c3660046200a275565b62006225565b620009b9620009b33660046200a2f1565b62006425565b6040516200065b9291906200a34a565b620008c762006b6c565b620009dd62006c46565b60405190151581526020016200065b565b620006ae62006d7d565b62000695613a9881565b6021546001600160a01b031662000647565b62000647620070a5565b62000647620070e7565b620006ae62007129565b6200069562000a433660046200a3b4565b620074b8565b620006476200758c565b601c546001600160a01b031662000647565b620006ae620075ce565b6200064762007980565b62000647620079c2565b620006ae62007a04565b6200072362007e7d565b6200069562000aa83660046200a3f2565b62007edf565b620006ae62007f8d565b6200064762008523565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525062008560565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525062008560565b62000bc262008574565b62000bdf62000bd9601d546001600160a01b031690565b62008b7e565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009cd9565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec762005352565b62000ed6600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a45e565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009ce7565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009cf5565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a47e565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008d55565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a4ba565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a53d565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a45e565b505050565b6000806200141b600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a577565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b5050602f546200160f92506001600160a01b0316905063a230c524305b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620015c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015e691906200a45e565b60006040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200163362005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ca57600080fd5b505af1158015620016df573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200171f57600080fd5b505af115801562001734573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200179757600080fd5b505af1158015620017ac573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200157b62005352565b600080620017e3600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200184c92016200a577565b600060405180830381600087803b1580156200186757600080fd5b505af11580156200187c573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018bc57600080fd5b505af1158015620018d1573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018fc905062005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200193e57600080fd5b505af115801562001953573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200199357600080fd5b505af1158015620019a8573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001a0b57600080fd5b505af115801562001a20573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c52462001a4562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801562001a8a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ab091906200a45e565b60016040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b602a546000906001600160a01b031662001e1357600060405162001afd9062009d60565b604051809103906000f08015801562001b1a573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001b3c9062009d6e565b604051809103906000f08015801562001b59573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001bb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bdc91906200a53d565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001c7f57600080fd5b505af115801562001c94573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001d2457600080fd5b505af115801562001d39573d6000803e3d6000fd5b50600092506001915062001d4a9050565b60405190808252806020026020018201604052801562001d74578160200160208202803683370190505b509050848160008151811062001d8e5762001d8e6200a58c565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001ddb90849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b15801562001df657600080fd5b505af115801562001e0b573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525062008560565b6060601480548060200260200160405190810160405280929190818152602001828054801562001f0257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001ee3575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200205157600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156200203957838290600052602060002001805462001fa5906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001fd3906200a47e565b8015620020245780601f1062001ff85761010080835404028352916020019162002024565b820191906000526020600020905b8154815290600101906020018083116200200657829003601f168201915b50505050508152602001906001019062001f83565b50505050815250508152602001906001019062001f30565b50505050905090565b60006200207e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915050620020b66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620020ce5790505090506040518060400160405280600181526020016050815250816000815181106200212557620021256200a58c565b60200260200101819052506040518060400160405280600181526020016014815250816001815181106200215d576200215d6200a58c565b60200260200101819052506000816040516020016200217d91906200a609565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200221d91906004016200a577565b600060405180830381600087803b1580156200223857600080fd5b505af11580156200224d573d6000803e3d6000fd5b5050505062002264601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200229392919062009fee565b600060405180830381600087803b158015620022ae57600080fd5b505af1158015620022c3573d6000803e3d6000fd5b505050506200140462009253565b6024805460258054919291620022e7906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462002315906200a47e565b8015620023665780601f106200233a5761010080835404028352916020019162002366565b820191906000526020600020905b8154815290600101906020018083116200234857829003601f168201915b5050505050905082565b6000806200239573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620023ce6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023e65790505090506040518060400160405280600181526020016064815250816000815181106200243d576200243d6200a58c565b6020026020010181905250806001815181106200245e576200245e6200a58c565b5050604051600090620024769083906020016200a609565b60405160208183030381529060405290506200249a601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620024c992919062009fee565b600060405180830381600087803b158015620024e457600080fd5b505af1158015620024f9573d6000803e3d6000fd5b505050506200250762009253565b6020840151604051631c1ba58760e31b8152600160048201523060248201526200258c906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa1580156200255e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200258491906200a55d565b6032620092e6565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d9060240162002540565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b600080620026d060006802b5e3af16b1880000683635c9adc5dea0000062006425565b602082015191935091506001600160a01b0381166369fa25c4620026fc670dd46c0831659000620093fc565b6040518263ffffffff1660e01b81526004016200271b91815260200190565b600060405180830381600087803b1580156200273657600080fd5b505af11580156200274b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200277167016345785d8a0000620093fc565b6040518263ffffffff1660e01b81526004016200279091815260200190565b600060405180830381600087803b158015620027ab57600080fd5b505af1158015620027c0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027e56601c6bf52634000620093fc565b6040518263ffffffff1660e01b81526004016200280491815260200190565b600060405180830381600087803b1580156200281f57600080fd5b505af115801562002834573d6000803e3d6000fd5b505050506200286d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620028885790505090506040518060400160405280600181526020018381525081600081518110620028de57620028de6200a58c565b6020026020010181905250600081604051602001620028fe91906200a609565b604051602081830303815290604052905062002922601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b81526004016200295192919062009fee565b600060405180830381600087803b1580156200296c57600080fd5b505af115801562002981573d6000803e3d6000fd5b505050506200298f62009253565b60006064620029a06032866200a65a565b620029ac91906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062002a2e906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002a01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a2791906200a55d565b82620092e6565b60405163dc96ff2d60e01b81526001600482015262002a61906001600160a01b0387169063dc96ff2d90602401620029e3565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662002a8562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002ac757600080fd5b505af115801562002adc573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b1c57600080fd5b505af115801562002b31573d6000803e3d6000fd5b50600092506001915062002b429050565b60405190808252806020026020018201604052801562002b8957816020015b604080518082019091526000808252602082015281526020019060019003908162002b615790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002bbe5762002bbe6200a58c565b60200260200101819052508160405160200162002bdc91906200a609565b604051602081830303815290604052935062002c00601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002c2f92919062009fee565b600060405180830381600087803b15801562002c4a57600080fd5b505af115801562002c5f573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002cc257600080fd5b505af115801562002cd7573d6000803e3d6000fd5b505050506000606460328362002cee91906200a65a565b62002cfa91906200a43b565b905062002d4e886001600160a01b031663e0dd2c38600162002d1b62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401620029e3565b60405163dc96ff2d60e01b81526001600482015262002dd1906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002d99573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dbf91906200a55d565b62002dcb83876200a674565b620092e6565b62002e126040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002e53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e7991906200a55d565b905062002ebc6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250826200940f565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002f5591906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002f29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f4f91906200a55d565b6200940f565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200300f91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002fca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ff091906200a55d565b6040518263ffffffff1660e01b815260040162002f0b91815260200190565b60405163950559d760e01b815260048101829052620030ae906001600160a01b038b169063950559d790602401602060405180830381865afa1580156200305a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200308091906200a55d565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b81525062009471565b60405163dc96ff2d60e01b815260016004820152620031b7906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200312791906200a55d565b6040518263ffffffff1660e01b81526004016200314691815260200190565b602060405180830381865afa15801562003164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200318a91906200a55d565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b81525062009471565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200320557600080fd5b505af11580156200321a573d6000803e3d6000fd5b505050506200325f6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620032a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620032cd91906200a55d565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200330691815260200190565b61018060405180830381865afa15801562003325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200334b91906200a69a565b9b509b50509a5050505097509750505050620033946040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620033c9604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620033fa6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b6200343160405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b620034726040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b620034b68261e1ce6040518060400160405280600981526020017f7468726573686f6c64000000000000000000000000000000000000000000000081525062009471565b620034fa836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c61737400000000000000000000000000000000000081525062009471565b6200353d8160646040518060400160405280600e81526020017f766f746572506f696e747350637400000000000000000000000000000000000081525062009471565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525062008560565b600080620035f873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602f5460405161afc8602482015292945090925062003665916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003cbb565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200367c579050509050604051806040016040528060018152602001606481525081600081518110620036d357620036d36200a58c565b6020026020010181905250600081604051602001620036f391906200a609565b604051602081830303815290604052905062003717601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200374692919062009fee565b600060405180830381600087803b1580156200376157600080fd5b505af115801562003776573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003803906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620037d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620037fc91906200a55d565b83620092e6565b60405163dc96ff2d60e01b81526001600482015262003836906001600160a01b0383169063dc96ff2d90602401620037b8565b604051806040016040528060018152602001606319815250846000815181106200386457620038646200a58c565b6020026020010181905250836040516020016200388291906200a609565b6040516020818303038152906040529250620038a6601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b8152600401620038d592919062009fee565b600060405180830381600087803b158015620038f057600080fd5b505af115801562003905573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620039be92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa1580156200395a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200398091906200a55d565b60006040518060400160405280600a81526020017f566f7465725374616b650000000000000000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b81526001600482015262003a6d906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003a09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2f91906200a55d565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e74000000000000000000000000000000000000000081525062009471565b62003b14816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003ab0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ad691906200a55d565b60006040518060400160405280600b81526020017f546f74616c5374616b656400000000000000000000000000000000000000000081525062009471565b602f546040516032602482015262003b45916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525062008560565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003c6057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003c215790505b5050505050815250508152602001906001019062003bb3565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525062008560565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003d41573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003d6791906200a55d565b6040518b63ffffffff1660e01b815260040162003d8e9a999897969594939291906200a78c565b600060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003dd691908101906200a839565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003e5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e8391906200a887565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003f3a908c908c908c90600090819081908190819081908d906065016200a8c6565b6020604051808303816000875af115801562003f5a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f8091906200a45e565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003fbb62001e66565b8160008151811062003fd15762003fd16200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62004d5b565b816001815181106200401157620040116200a58c565b6001600160a01b0390921660209283029190910190910152919050565b6000806200405373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200408c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260509160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620040a75790505090506040518060400160405280600181526020018381525081600081518110620040fd57620040fd6200a58c565b60200260200101819052506000816040516020016200411d91906200a609565b604051602081830303815290604052905062004141601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200417092919062009fee565b600060405180830381600087803b1580156200418b57600080fd5b505af1158015620041a0573d6000803e3d6000fd5b50505050620041ae62009253565b60006064620041bf6032866200a65a565b620041cb91906200a43b565b6020870151604051631c1ba58760e31b8152600160048201523060248201529192509062004288906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200424b91906200a55d565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65310000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620042bb906001600160a01b0383169063dc96ff2d90602401620037b8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620042df62005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200432157600080fd5b505af115801562004336573d6000803e3d6000fd5b5050505060006002905060006040518060c001604052808381526020018981526020016200436362005352565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620043a9918491016200a94d565b6040516020818303038152906040529050620043cd601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b8152600401620043fc92919062009fee565b6020604051808303816000875af11580156200441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200444291906200a53d565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa1580156200449a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620044c091906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200450c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200453291906200a45e565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200456f57600080fd5b505af115801562004584573d6000803e3d6000fd5b506000925060019150620045959050565b604051908082528060200260200182016040528015620045dc57816020015b6040805180820190915260008082526020820152815260200190600190039081620045b45790505b509050600060649050604051806040016040528086815260200182815250826000815181106200461057620046106200a58c565b6020026020010181905250816040516020016200462e91906200a609565b604051602081830303815290604052975062004652601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b81526004016200468192919062009fee565b600060405180830381600087803b1580156200469c57600080fd5b505af1158015620046b1573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200471457600080fd5b505af115801562004729573d6000803e3d6000fd5b50505050600060646032836200474091906200a65a565b6200474c91906200a43b565b90506200481a876001600160a01b031663e0dd2c38886200476c62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015620047b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047dd91906200a55d565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65320000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260048101879052620048c8906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa15801562004865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200488b91906200a55d565b826040518060400160405280600c81526020017f5374616b65644d6f756e7432000000000000000000000000000000000000000081525062009471565b620049096040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6200497f6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002fca573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b815260016004820152620049db91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002fac565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b15801562004a2957600080fd5b505af115801562004a3e573d6000803e3d6000fd5b5050505062004a836040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004acb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004af191906200a55d565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004b2a91815260200190565b61018060405180830381865afa15801562004b49573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004b6f91906200a69a565b9b509b50509a505050509750975050505062004bb86040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b62004bed604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b62004c1e6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b62004c5560405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b62004c966040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525062008560565b6040805160028082526060808301845292600092919060208301908036833701905050905062004d1b62000aed565b8160008151811062004d315762004d316200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62003c79565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525062008560565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462004e25906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462004e53906200a47e565b801562004ea45780601f1062004e785761010080835404028352916020019162004ea4565b820191906000526020600020905b81548152906001019060200180831162004e8657829003601f168201915b50505050508152602001906001019062004e03565b60008062004ede73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b9150915062004f176040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004f32579050509050604051806040016040528060018152602001838152508160008151811062004f885762004f886200a58c565b602002602001018190525062004fa6601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004fc891906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004ff692919062009fee565b600060405180830381600087803b1580156200501157600080fd5b505af115801562005026573d6000803e3d6000fd5b505050506200503462009253565b60006064620050456032856200a65a565b6200505191906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062005093906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260016004820152620050c6906001600160a01b0383169063dc96ff2d90602401620037b8565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620050ff91815260200190565b61018060405180830381865afa1580156200511e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200514491906200a69a565b509a505099509950505097509750509650506200518e6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620051c3604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620051f46040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620052356040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200526c60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620052a3908a620074b8565b9050620052b2816000620092e6565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b8152600401620052ef939291906200a9b6565b600060405180830381600087803b1580156200530a57600080fd5b505af11580156200531f573d6000803e3d6000fd5b50505050620053338f604001518a620074b8565b9050620053418189620092e6565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525062008560565b600080620053fb73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005427670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b81526004016200544691815260200190565b600060405180830381600087803b1580156200546157600080fd5b505af115801562005476573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200549c6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b8152600401620054bb91815260200190565b600060405180830381600087803b158015620054d657600080fd5b505af1158015620054eb573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200551066071afd498d0000620093fc565b6040518263ffffffff1660e01b81526004016200552f91815260200190565b600060405180830381600087803b1580156200554a57600080fd5b505af11580156200555f573d6000803e3d6000fd5b5050602f5460405161afc86024820181905293506200559a92506001600160a01b03909116906000906318fb0de560e11b906044016200362d565b620055cf6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055e65790505090506040518060400160405280600181526020016064815250816000815181106200563d576200563d6200a58c565b60200260200101819052506000816040516020016200565d91906200a609565b604051602081830303815290604052905062005681601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620056b092919062009fee565b600060405180830381600087803b158015620056cb57600080fd5b505af1158015620056e0573d6000803e3d6000fd5b50505050620056ee62009253565b604051631c1ba58760e31b8152600160048201523060248201526200576d906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa15801562005740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576691906200a55d565b84620092e6565b60405163dc96ff2d60e01b815260016004820152620057a0906001600160a01b0386169063dc96ff2d9060240162005722565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa158015620057fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200582091906200a55d565b9050620058536040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062005868600a6000856289544062007edf565b9050620058986040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b620058a48282620092e6565b620058b283613a98620092e6565b620058c08661afc8620092e6565b620058cf8262017da2620092e6565b602f546040516032602482015262005900916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050505050565b602654600090620059e057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200596b62005352565b6200597562004cec565b6040518563ffffffff1660e01b81526004016200599694939291906200a9ef565b6020604051808303816000875af1158015620059b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620059dc91906200a55d565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005ab957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162005a7a5790505b5050505050815250508152602001906001019062005a0c565b600062005af673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505060006040518060c001604052806001815260200183815260200162005b1d62005352565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005b7291906200a94d565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005c0b91906004016200a577565b600060405180830381600087803b15801562005c2657600080fd5b505af115801562005c3b573d6000803e3d6000fd5b5050505062005c52601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005c8192919062009fee565b6020604051808303816000875af115801562005ca1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005cc791906200a53d565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005cfc6200354f565b8160008151811062005d125762005d126200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62005394565b60008062005d6173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005d8d670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162005dac91815260200190565b600060405180830381600087803b15801562005dc757600080fd5b505af115801562005ddc573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005e026702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162005e2191815260200190565b600060405180830381600087803b15801562005e3c57600080fd5b505af115801562005e51573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005e7666071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162005e9591815260200190565b600060405180830381600087803b15801562005eb057600080fd5b505af115801562005ec5573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005efd93506001600160a01b0390911691506000906318fb0de560e11b906044016200362d565b62005f326040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005f4957905050905060405180604001604052806001815260200160648152508160008151811062005fa05762005fa06200a58c565b602002602001018190525060008160405160200162005fc091906200a609565b604051602081830303815290604052905062005fe4601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200601392919062009fee565b600060405180830381600087803b1580156200602e57600080fd5b505af115801562006043573d6000803e3d6000fd5b505050506200605162009253565b604051631c1ba58760e31b81526001600482015230602482015261afc8906200608e906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b815260016004820152620060c1906001600160a01b0386169063dc96ff2d90602401620029e3565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200614a91906200a55d565b90506200618d6040518060400160405280600c81526020017f7468726573686f6c642025730000000000000000000000000000000000000000815250826200940f565b6200619b8261afc8620092e6565b620061a98161c5c1620092e6565b602f5460405160326024820152620061da916001600160a01b0316906000906318fb0de560e11b906044016200362d565b50505050505050565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525062008560565b60408051608081018252600080825260208201819052918101829052606081018290526200625b670de0a46bc207d800620093fc565b6020820152620062736702c68af0bb140000620093fc565b60408201526200628a66038d7ea4c68000620093fc565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110620062d857620062d86200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200630f576200630f6200a58c565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615620063465750835b886001600160a01b031663e1007d4a62006360886200590b565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b8152600401620063d297969594939291906200aa77565b6020604051808303816000875af1158015620063f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200641891906200a55d565b9998505050505050505050565b6200642f62009d7c565b60008360000362006440576103e893505b826000036200644f57613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620064815750602d546001600160a01b03165b620064b26040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620064d662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200651857600080fd5b505af11580156200652d573d6000803e3d6000fd5b50505050600062006546601c546001600160a01b031690565b604051620065549062009de3565b6001600160a01b039091168152602001604051809103906000f08015801562006581573d6000803e3d6000fd5b509050620065c26200659b601c546001600160a01b031690565b82620065af602f546001600160a01b031690565b601d546001600160a01b03168662006225565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200662357600080fd5b505af115801562006638573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200667857600080fd5b505af11580156200668d573d6000803e3d6000fd5b50505050620066a4601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b8152600401620066d291815260200190565b600060405180830381865afa158015620066f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200671a91908101906200ac09565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b1580156200678a57600080fd5b505af11580156200679f573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200684a57601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200682a57600080fd5b505af11580156200683f573d6000803e3d6000fd5b5050505050620069ce565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620068ac57600080fd5b505af1158015620068c1573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b3620068e7601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af115801562006935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200695b91906200a45e565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620069b457600080fd5b505af1158015620069c9573d6000803e3d6000fd5b505050505b835162006a2890620069ec62000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c65494400000000000000000000000000000000000000815250620094be565b62006a596040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b60006040518060c001604052806001815260200185815260200162006a7d62005352565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006abc91906200a94d565b604051602081830303815290604052905062006ae0601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006b0f92919062009fee565b6020604051808303816000875af115801562006b2f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006b5591906200a53d565b5062006b6062009253565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462006bb2906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462006be0906200a47e565b801562006c315780601f1062006c055761010080835404028352916020019162006c31565b820191906000526020600020905b81548152906001019060200180831162006c1357829003601f168201915b50505050508152602001906001019062006b90565b600754600090610100900460ff161562006c695750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006d785760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006cfa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200acc9565b60408051601f198184030181529082905262006d16916200acfb565b6000604051808303816000865af19150503d806000811462006d55576040519150601f19603f3d011682016040523d82523d6000602084013e62006d5a565b606091505b509150508080602001905181019062006d7491906200a45e565b9150505b919050565b600062006da173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505062006dd96040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006df157905050905060405180604001604052806001815260200160508152508160008151811062006e485762006e486200a58c565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006e805762006e806200a58c565b602002602001018190525060008160405160200162006ea091906200a609565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006ed662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006f1857600080fd5b505af115801562006f2d573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006fb757600080fd5b505af115801562006fcc573d6000803e3d6000fd5b5050505062006fe3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200701292919062009fee565b600060405180830381600087803b1580156200702d57600080fd5b505af115801562007042573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620022ae57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525062008560565b6000806200714e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620071876040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200719e579050509050604051806040016040528060018152602001605081525081600081518110620071f557620071f56200a58c565b60200260200101819052506000816040516020016200721591906200a609565b604051602081830303815290604052905062007239601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200726892919062009fee565b600060405180830381600087803b1580156200728357600080fd5b505af115801562007298573d6000803e3d6000fd5b50505050620072a662009253565b60006064620072b8603260506200a65a565b620072c491906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062007306906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b81526001600482015262007339906001600160a01b0383169063dc96ff2d90602401620037b8565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007350579050509050604051806040016040528060018152602001601481525081600081518110620073a757620073a76200a58c565b602002602001018190525080604051602001620073c591906200a609565b6040516020818303038152906040529350620073e9601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200741892919062009fee565b600060405180830381600087803b1580156200743357600080fd5b505af115801562007448573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200748592506001600160a01b038516915063e0dd2c389060440162002540565b60405163dc96ff2d60e01b815260016004820152620061da906001600160a01b0384169063dc96ff2d9060240162002540565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620074fd57506001600160a01b0381163162007586565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156200755d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200758391906200a55d565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525062008560565b600080620075f373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200762c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007643579050509050604051806040016040528060018152602001606319815250816000815181106200769b576200769b6200a58c565b6020026020010181905250600081604051602001620076bb91906200a609565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200776391906004016200a577565b600060405180830381600087803b1580156200777e57600080fd5b505af115801562007793573d6000803e3d6000fd5b50505050620077aa601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620077d992919062009fee565b600060405180830381600087803b158015620077f457600080fd5b505af115801562007809573d6000803e3d6000fd5b505050506200781762009253565b6020840151604051631c1ba58760e31b815260016004820152306024820152620078d1906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa1580156200786d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200789391906200a55d565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e740000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa1580156200791c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200794291906200a55d565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c000000000081525062009471565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525062008560565b60008062007a2973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462007a55670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162007a7491815260200190565b600060405180830381600087803b15801562007a8f57600080fd5b505af115801562007aa4573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007aca6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162007ae991815260200190565b600060405180830381600087803b15801562007b0457600080fd5b505af115801562007b19573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007b3e66071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162007b5d91815260200190565b600060405180830381600087803b15801562007b7857600080fd5b505af115801562007b8d573d6000803e3d6000fd5b5050505062007bc66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007bdd57905050905060405180604001604052806001815260200160508152508160008151811062007c345762007c346200a58c565b602002602001018190525060008160405160200162007c5491906200a609565b604051602081830303815290604052905062007c78601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007ca792919062009fee565b600060405180830381600087803b15801562007cc257600080fd5b505af115801562007cd7573d6000803e3d6000fd5b5050505062007ce562009253565b6000606462007cf7603260506200a65a565b62007d0391906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062007d3f906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b81526001600482015262007d72906001600160a01b0386169063dc96ff2d90602401620029e3565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007dc9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007def91906200a55d565b905062007e226040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062007e37600a6000856289544062007edf565b905062007e676040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b62007e738282620092e6565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6000848162007f0162007efa62989680608087901b6200a43b565b836200950b565b905060806f8000000000000000000000000000000062007f2586629896806200ad19565b62007f3584600160801b6200ad19565b62007f44629896808a6200a65a565b62007f5091906200a65a565b62007f5c91906200a43b565b62007f6889856200a65a565b62007f7491906200a674565b62007f8091906200a674565b901c979650505050505050565b60008062007f9f600080600062006425565b9150915062007fd46040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a0830181905292519192916200801a918491016200a94d565b60405160208183030381529060405290506200803e601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b81526004016200806d92919062009fee565b6020604051808303816000875af11580156200808d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620080b391906200a53d565b50620080be62009253565b620080f36040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252606491600291600091816020015b604080518082019091526000808252602082015281526020019060019003908162008110579050509050604051806040016040528083815260200184815250816000815181106200816557620081656200a58c565b602002602001018190525062008183601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620081a591906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401620081d392919062009fee565b600060405180830381600087803b158015620081ee57600080fd5b505af115801562008203573d6000803e3d6000fd5b505050506200821162009253565b60006064620082226032866200a65a565b6200822e91906200a43b565b6020890151604051631c1ba58760e31b8152600481018690523060248201529192509062008270906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260048101859052620082a3906001600160a01b0383169063dc96ff2d90602401620037b8565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620082db91815260200190565b61018060405180830381865afa158015620082fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200832091906200a69a565b509a505099509950505097509750505050620083696040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b6200839e604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620083cf6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620084106040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200844760405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b6000896040516020016200845d91815260200190565b604051602081830303815290604052905062008481601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f6000604051908082528060200260200182016040528015620084bc578160200160208202803683370190505b50846040518463ffffffff1660e01b8152600401620084de939291906200a9b6565b600060405180830381600087803b158015620084f957600080fd5b505af11580156200850e573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200856d82620095c4565b5092915050565b6200857e620096f9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620085a262005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620085e457600080fd5b505af1158015620085f9573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200866762005352565b6200867162004cec565b6040518563ffffffff1660e01b81526004016200869294939291906200a9ef565b6020604051808303816000875af1158015620086b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620086d891906200a55d565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008725573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200874f91908101906200ad2f565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762008796620070e7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620087d857600080fd5b505af1158015620087ed573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65310000000000000000000000000000000000000000000000008152508152506200886c620070e7565b6200887662003f8c565b6040518563ffffffff1660e01b81526004016200889794939291906200ae05565b6020604051808303816000875af1158015620088b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620088dd91906200a55d565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200892a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200895491908101906200ad2f565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa76200899b62001e24565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620089dd57600080fd5b505af1158015620089f2573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653200000000000000000000000000000000000000000000000081525081525062008a7162001e24565b62008a7b62005ccd565b6040518563ffffffff1660e01b815260040162008a9c94939291906200ae77565b6020604051808303816000875af115801562008abc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ae291906200a55d565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008b2f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008b5991908101906200ad2f565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ba262004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008be457600080fd5b505af115801562008bf9573d6000803e3d6000fd5b5050505060405162008c0b9062009df1565b604051809103906000f08015801562008c28573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008c5762004d9d565b8362008c6262007980565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008cc857600080fd5b505af115801562008cdd573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008d4057600080fd5b505af1158015620025bf573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008dae9160040190815260200190565b602060405180830381865afa15801562008dcc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008df291906200a53d565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008e9357600080fd5b505af115801562008ea8573d6000803e3d6000fd5b505060295461010090046001600160a01b03169150620091ca905057600060405162008ed49062009d60565b604051809103906000f08015801562008ef1573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008f139062009d6e565b604051809103906000f08015801562008f30573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008f8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008fb391906200a53d565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a20257300000000000000000060208201529394506200903693920416620097aa565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620090c757600080fd5b505af1158015620090dc573d6000803e3d6000fd5b506000925060019150620090ed9050565b60405190808252806020026020018201604052801562009117578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200913e576200913e6200a58c565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d906200919290849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b158015620091ad57600080fd5b505af1158015620091c2573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200921c91906200aec6565b60405180910390a16200140483836200980c565b60295460ff1615620092505760276200924a82826200af59565b505a6028555b50565b60295460ff1615620092e45760005a905060006064826028546200927891906200ad19565b6200928491906200ad19565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a86027604051602001620092bb91906200b026565b60408051601f1981840301815290829052620092d99184906200b0c9565b60405180910390a150505b565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620093749060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620093ad91906200b0ed565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051620093e691906200b126565b60405180910390a1620093f86200999e565b5050565b60006200758664174876e800836200a43b565b620093f88282604051602401620094289291906200b0c9565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d00000000000000000000000000000000000000000000000000000000017905262009ab1565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094aa91906200aec6565b60405180910390a1620014048383620092e6565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094f791906200aec6565b60405180910390a162001404838362009ad2565b6000600160801b8310620095665760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095bc578060011660000362009599576200958e828362009bd2565b915060011c6200956f565b620095a5838362009bd2565b9250620095b46001826200ad19565b90506200956f565b505092915050565b60008082604051602001620095da91906200acfb565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200965c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200968291906200a53d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620096c090859087906004016200b151565b600060405180830381600087803b158015620096db57600080fd5b505af1158015620096f0573d6000803e3d6000fd5b50505050915091565b604051620097079062009dff565b604051809103906000f08015801562009724573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862009753620079c2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200979557600080fd5b505af115801562005cc7573d6000803e3d6000fd5b620093f88282604051602401620097c39291906200b175565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905262009ab1565b80151582151514620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516200989e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382620098f1576040518060400160405280600581526020016466616c736560d81b8152506200990f565b604051806040016040528060048152602001637472756560e01b8152505b6040516200991e91906200b1a2565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838162009971576040518060400160405280600581526020016466616c736560d81b8152506200998f565b604051806040016040528060048152602001637472756560e01b8152505b604051620093e691906200b1e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562009aa05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262009a3b92916020016200acc9565b60408051601f198184030181529082905262009a57916200acfb565b6000604051808303816000865af19150503d806000811462009a96576040519150601f19603f3d011682016040523d82523d6000602084013e62009a9b565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009b609060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009b9991906200b0ed565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051620093e691906200b126565b6000600160801b83111562009c505760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016200955d565b600160801b821062009ca55760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016200955d565b60806f8000000000000000000000000000000062009cc484866200a65a565b62009cd091906200a674565b901c9392505050565b610e67806200b20d83390190565b612768806200c07483390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009d53604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e7dc83390190565b613594806200f02e83390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009dcf604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61349180620125c283390190565b6135c18062015a5383390190565b612eb6806201901483390190565b6001600160a01b03811681146200925057600080fd5b60006020828403121562009e3657600080fd5b813562009e438162009e0d565b9392505050565b600081518084526020808501945080840160005b8381101562009e855781516001600160a01b03168752958201959082019060010162009e5e565b509495945050505050565b60208152600062009e43602083018462009e4a565b60005b8381101562009ec257818101518382015260200162009ea8565b50506000910152565b6000815180845262009ee581602086016020860162009ea5565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009faf57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009f9857605f1989850301835262009f8584865162009ecb565b948e01949350918d019160010162009f66565b505050978a01979450509188019160010162009f20565b50919a9950505050505050505050565b80151581146200925057600080fd5b60006020828403121562009fe157600080fd5b813562009e438162009fbf565b8281526040602082015260006200a009604083018462009ecb565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200a0b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200a0a35783516001600160e01b0319168252928b019260019290920191908b01906200a077565b50978a019795505050918701916001016200a039565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a104576200a1046200a0c8565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a136576200a1366200a0c8565b604052919050565b600067ffffffffffffffff8211156200a15b576200a15b6200a0c8565b50601f01601f191660200190565b6000806000606084860312156200a17f57600080fd5b83356200a18c8162009e0d565b925060208401359150604084013567ffffffffffffffff8111156200a1b057600080fd5b8401601f810186136200a1c257600080fd5b80356200a1d96200a1d3826200a13e565b6200a10a565b8181528760208385010111156200a1ef57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a26857603f198886030184526200a25585835162009ecb565b945092850192908501906001016200a236565b5092979650505050505050565b600080600080600060a086880312156200a28e57600080fd5b85356200a29b8162009e0d565b945060208601356200a2ad8162009e0d565b935060408601356200a2bf8162009e0d565b925060608601356200a2d18162009e0d565b915060808601356200a2e38162009e0d565b809150509295509295909350565b6000806000606084860312156200a30757600080fd5b83356200a3148162009e0d565b95602085013595506040909401359392505050565b8051825260006020820151604060208501526200a009604085018262009ecb565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a3966101008401826200a329565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a3c857600080fd5b82356200a3d58162009e0d565b915060208301356200a3e78162009e0d565b809150509250929050565b600080600080608085870312156200a40957600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a45957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a47157600080fd5b815162009e438162009fbf565b600181811c908216806200a49357607f821691505b6020821081036200a4b457634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a5176101008501826200a329565b90508160c08601511660e0850152809250505092915050565b805162006d788162009e0d565b6000602082840312156200a55057600080fd5b815162009e438162009e0d565b6000602082840312156200a57057600080fd5b5051919050565b60208152600062009e43602083018462009ecb565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a5b88184018b62009e4a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a64d578151805185528601518685015292840192908501906001016200a626565b5091979650505050505050565b80820281158282048414176200758657620075866200a425565b808201808211156200758657620075866200a425565b80516004811062006d7857600080fd5b6000806000806000806000806000806000806101808d8f0312156200a6be57600080fd5b8c516200a6cb8162009e0d565b60208e0151909c506200a6de8162009e0d565b60408e0151909b506200a6f18162009e0d565b809a505060608d0151985060808d0151975060a08d0151600381106200a71657600080fd5b96506200a72660c08e016200a68a565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a788576200a7886200a75f565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a7b88285018d62009ecb565b92506200a7c9606085018c6200a775565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a8146200a1d3846200a13e565b90508281528383830111156200a82957600080fd5b62009e4383602083018462009ea5565b6000602082840312156200a84c57600080fd5b815167ffffffffffffffff8111156200a86457600080fd5b8201601f810184136200a87657600080fd5b6200a009848251602084016200a803565b6000806000606084860312156200a89d57600080fd5b835160ff811681146200a8af57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8f28285018d62009ecb565b91506200a903606085018c6200a775565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a93c818562009ecb565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a992576200a9926200a75f565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a9d1606083018562009e4a565b82810360408401526200a9e5818562009ecb565b9695505050505050565b84815260a0602082015260006200aa3360a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200aa4781876200a329565b90506001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200aaa360e085018a62009ecb565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aada816200a47e565b806040870152868216600081146200aafb57600181146200ab16576200ab46565b60ff1983168787015281151560051b8701860193506200ab46565b846000528860002060005b838110156200ab3e578154898201890152908901908a016200ab21565b880187019450505b50505087810360c08901526200ab5d818a62009e4a565b9f9e505050505050505050505050505050565b600082601f8301126200ab8257600080fd5b62009e43838351602085016200a803565b6000604082840312156200aba657600080fd5b6040516040810167ffffffffffffffff82821081831117156200abcd576200abcd6200a0c8565b816040528293508451835260208501519150808211156200abed57600080fd5b506200abfc858286016200ab70565b6020830152505092915050565b6000602082840312156200ac1c57600080fd5b815167ffffffffffffffff808211156200ac3557600080fd5b9083019060c082860312156200ac4a57600080fd5b6200ac546200a0de565b8251815260208301516200ac688162009e0d565b602082015260408301516200ac7d8162009e0d565b60408201526060830151828111156200ac9557600080fd5b6200aca3878286016200ab93565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200aced81600485016020870162009ea5565b919091016004019392505050565b600082516200ad0f81846020870162009ea5565b9190910192915050565b818103818111156200758657620075866200a425565b6000602082840312156200ad4257600080fd5b815167ffffffffffffffff808211156200ad5b57600080fd5b9083019060c082860312156200ad7057600080fd5b6200ad7a6200a0de565b82518152602083015160208201526040830151828111156200ad9b57600080fd5b6200ada9878286016200ab70565b6040830152506060830151828111156200adc257600080fd5b6200add0878286016200ab93565b6060830152506200ade4608084016200a530565b60808201526200adf760a084016200a530565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b6001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009e43608083018462009ecb565b601f8211156200140457600081815260208120601f850160051c810160208610156200af385750805b601f850160051c820191505b8181101562003b45578281556001016200af44565b815167ffffffffffffffff8111156200af76576200af766200a0c8565b6200af8e816200af8784546200a47e565b846200af0f565b602080601f8311600181146200afc657600084156200afad5750858301515b600019600386901b1c1916600185901b17855562003b45565b600085815260208120601f198616915b828110156200aff7578886015182559484019460019091019084016200afd6565b50858210156200b0165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200b036816200a47e565b600182811680156200b05157600181146200b067576200b098565b60ff19841687528215158302870194506200b098565b8760005260208060002060005b858110156200b08f5781548a8201529084019082016200b074565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b0de604083018562009ecb565b90508260208301529392505050565b6040815260006200b11860408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b11860408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b03831681526040602082015260006200a009604083018462009ecb565b6040815260006200b18a604083018562009ecb565b90506001600160a01b03831660208301529392505050565b6040815260006200b1cd60408301600a8152690808080808081319599d60b21b602082015260400190565b82810360208401526200a009818562009ecb565b6040815260006200b1cd60408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a2646970667358221220e9eef85e86e96ebffc2eac9551e7b19974f3d9311ed2aefa40b9b3c28e297a2864736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:47;;;;;;;;;;1525:29417:94;534:52:93;;;1572:26:44;1525:29417:94;534:52:93;;;;;;-1:-1:-1;;;534:52:93;;;;;;507:79;;;;1525:29417:94;;507:79:93;;;;;;;:::i;:::-;-1:-1:-1;;194:1:95;158:37;;;;226:34;;;-1:-1:-1;;226:34:95;;;339::96;;-1:-1:-1;1700:5:94;1672:33;;1525:29417;;;;;;;;;;;;14:127:97;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:97;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:97;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:97;;;2580:26;2531:89;-1:-1:-1;;1335:1:97;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:97;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:97;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:97;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:97:o;:::-;1525:29417:94;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae620017d1565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009e23565b62001ad9565b6200064762001e24565b6200064762001e66565b6200072362001ea8565b6040516200065b919062009e90565b6200073c62001f0c565b6040516200065b919062009ef9565b620006ae6200075c36600462009fce565b6029805460ff1916911515919091179055565b620006ae6200205a565b6023546001600160a01b031662000647565b62000795620022d1565b6040516200065b92919062009fee565b620006ae62002370565b60205462000695565b62000723620025c6565b6200072362002628565b620007236200268a565b620006ae620026ad565b620006476200354f565b62000695602e5481565b6200064762003591565b620006ae620035d3565b6200064762003b4d565b6200081c62003b8f565b6040516200065b91906200a011565b6200064762003c79565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a169565b62003cbb565b6200072362003f8c565b620006ae6200402e565b6200064762004caa565b62000695602c5481565b6200072362004cec565b601d546001600160a01b031662000647565b6200064762004d5b565b6200064762004d9d565b620008c762004ddf565b6040516200065b91906200a20f565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004eb9565b6200064762005352565b6200064762005394565b6200069561afc881565b620006ae620053d6565b620006956200093736600462009e23565b6200590b565b6200081c620059e8565b620006ae62005ad2565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005ccd565b620006ae62005d3c565b62000647620061e3565b620006956200099c3660046200a275565b62006225565b620009b9620009b33660046200a2f1565b62006425565b6040516200065b9291906200a34a565b620008c762006b6c565b620009dd62006c46565b60405190151581526020016200065b565b620006ae62006d7d565b62000695613a9881565b6021546001600160a01b031662000647565b62000647620070a5565b62000647620070e7565b620006ae62007129565b6200069562000a433660046200a3b4565b620074b8565b620006476200758c565b601c546001600160a01b031662000647565b620006ae620075ce565b6200064762007980565b62000647620079c2565b620006ae62007a04565b6200072362007e7d565b6200069562000aa83660046200a3f2565b62007edf565b620006ae62007f8d565b6200064762008523565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525062008560565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525062008560565b62000bc262008574565b62000bdf62000bd9601d546001600160a01b031690565b62008b7e565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009cd9565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec762005352565b62000ed6600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a45e565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009ce7565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009cf5565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a47e565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008d55565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a4ba565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a53d565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a45e565b505050565b6000806200141b600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a577565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b5050602f546200160f92506001600160a01b0316905063a230c524305b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620015c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015e691906200a45e565b60006040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200163362005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ca57600080fd5b505af1158015620016df573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200171f57600080fd5b505af115801562001734573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200179757600080fd5b505af1158015620017ac573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200157b62005352565b600080620017e3600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200184c92016200a577565b600060405180830381600087803b1580156200186757600080fd5b505af11580156200187c573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018bc57600080fd5b505af1158015620018d1573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018fc905062005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200193e57600080fd5b505af115801562001953573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200199357600080fd5b505af1158015620019a8573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001a0b57600080fd5b505af115801562001a20573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c52462001a4562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801562001a8a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ab091906200a45e565b60016040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b602a546000906001600160a01b031662001e1357600060405162001afd9062009d60565b604051809103906000f08015801562001b1a573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001b3c9062009d6e565b604051809103906000f08015801562001b59573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001bb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bdc91906200a53d565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001c7f57600080fd5b505af115801562001c94573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001d2457600080fd5b505af115801562001d39573d6000803e3d6000fd5b50600092506001915062001d4a9050565b60405190808252806020026020018201604052801562001d74578160200160208202803683370190505b509050848160008151811062001d8e5762001d8e6200a58c565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001ddb90849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b15801562001df657600080fd5b505af115801562001e0b573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525062008560565b6060601480548060200260200160405190810160405280929190818152602001828054801562001f0257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001ee3575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200205157600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156200203957838290600052602060002001805462001fa5906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001fd3906200a47e565b8015620020245780601f1062001ff85761010080835404028352916020019162002024565b820191906000526020600020905b8154815290600101906020018083116200200657829003601f168201915b50505050508152602001906001019062001f83565b50505050815250508152602001906001019062001f30565b50505050905090565b60006200207e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915050620020b66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620020ce5790505090506040518060400160405280600181526020016050815250816000815181106200212557620021256200a58c565b60200260200101819052506040518060400160405280600181526020016014815250816001815181106200215d576200215d6200a58c565b60200260200101819052506000816040516020016200217d91906200a609565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200221d91906004016200a577565b600060405180830381600087803b1580156200223857600080fd5b505af11580156200224d573d6000803e3d6000fd5b5050505062002264601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200229392919062009fee565b600060405180830381600087803b158015620022ae57600080fd5b505af1158015620022c3573d6000803e3d6000fd5b505050506200140462009253565b6024805460258054919291620022e7906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462002315906200a47e565b8015620023665780601f106200233a5761010080835404028352916020019162002366565b820191906000526020600020905b8154815290600101906020018083116200234857829003601f168201915b5050505050905082565b6000806200239573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620023ce6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023e65790505090506040518060400160405280600181526020016064815250816000815181106200243d576200243d6200a58c565b6020026020010181905250806001815181106200245e576200245e6200a58c565b5050604051600090620024769083906020016200a609565b60405160208183030381529060405290506200249a601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620024c992919062009fee565b600060405180830381600087803b158015620024e457600080fd5b505af1158015620024f9573d6000803e3d6000fd5b505050506200250762009253565b6020840151604051631c1ba58760e31b8152600160048201523060248201526200258c906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa1580156200255e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200258491906200a55d565b6032620092e6565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d9060240162002540565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b600080620026d060006802b5e3af16b1880000683635c9adc5dea0000062006425565b602082015191935091506001600160a01b0381166369fa25c4620026fc670dd46c0831659000620093fc565b6040518263ffffffff1660e01b81526004016200271b91815260200190565b600060405180830381600087803b1580156200273657600080fd5b505af11580156200274b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200277167016345785d8a0000620093fc565b6040518263ffffffff1660e01b81526004016200279091815260200190565b600060405180830381600087803b158015620027ab57600080fd5b505af1158015620027c0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027e56601c6bf52634000620093fc565b6040518263ffffffff1660e01b81526004016200280491815260200190565b600060405180830381600087803b1580156200281f57600080fd5b505af115801562002834573d6000803e3d6000fd5b505050506200286d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620028885790505090506040518060400160405280600181526020018381525081600081518110620028de57620028de6200a58c565b6020026020010181905250600081604051602001620028fe91906200a609565b604051602081830303815290604052905062002922601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b81526004016200295192919062009fee565b600060405180830381600087803b1580156200296c57600080fd5b505af115801562002981573d6000803e3d6000fd5b505050506200298f62009253565b60006064620029a06032866200a65a565b620029ac91906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062002a2e906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002a01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a2791906200a55d565b82620092e6565b60405163dc96ff2d60e01b81526001600482015262002a61906001600160a01b0387169063dc96ff2d90602401620029e3565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662002a8562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002ac757600080fd5b505af115801562002adc573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b1c57600080fd5b505af115801562002b31573d6000803e3d6000fd5b50600092506001915062002b429050565b60405190808252806020026020018201604052801562002b8957816020015b604080518082019091526000808252602082015281526020019060019003908162002b615790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002bbe5762002bbe6200a58c565b60200260200101819052508160405160200162002bdc91906200a609565b604051602081830303815290604052935062002c00601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002c2f92919062009fee565b600060405180830381600087803b15801562002c4a57600080fd5b505af115801562002c5f573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002cc257600080fd5b505af115801562002cd7573d6000803e3d6000fd5b505050506000606460328362002cee91906200a65a565b62002cfa91906200a43b565b905062002d4e886001600160a01b031663e0dd2c38600162002d1b62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401620029e3565b60405163dc96ff2d60e01b81526001600482015262002dd1906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002d99573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dbf91906200a55d565b62002dcb83876200a674565b620092e6565b62002e126040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002e53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e7991906200a55d565b905062002ebc6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250826200940f565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002f5591906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002f29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f4f91906200a55d565b6200940f565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200300f91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002fca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ff091906200a55d565b6040518263ffffffff1660e01b815260040162002f0b91815260200190565b60405163950559d760e01b815260048101829052620030ae906001600160a01b038b169063950559d790602401602060405180830381865afa1580156200305a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200308091906200a55d565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b81525062009471565b60405163dc96ff2d60e01b815260016004820152620031b7906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200312791906200a55d565b6040518263ffffffff1660e01b81526004016200314691815260200190565b602060405180830381865afa15801562003164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200318a91906200a55d565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b81525062009471565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200320557600080fd5b505af11580156200321a573d6000803e3d6000fd5b505050506200325f6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620032a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620032cd91906200a55d565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200330691815260200190565b61018060405180830381865afa15801562003325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200334b91906200a69a565b9b509b50509a5050505097509750505050620033946040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620033c9604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620033fa6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b6200343160405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b620034726040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b620034b68261e1ce6040518060400160405280600981526020017f7468726573686f6c64000000000000000000000000000000000000000000000081525062009471565b620034fa836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c61737400000000000000000000000000000000000081525062009471565b6200353d8160646040518060400160405280600e81526020017f766f746572506f696e747350637400000000000000000000000000000000000081525062009471565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525062008560565b600080620035f873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602f5460405161afc8602482015292945090925062003665916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003cbb565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200367c579050509050604051806040016040528060018152602001606481525081600081518110620036d357620036d36200a58c565b6020026020010181905250600081604051602001620036f391906200a609565b604051602081830303815290604052905062003717601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200374692919062009fee565b600060405180830381600087803b1580156200376157600080fd5b505af115801562003776573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003803906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620037d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620037fc91906200a55d565b83620092e6565b60405163dc96ff2d60e01b81526001600482015262003836906001600160a01b0383169063dc96ff2d90602401620037b8565b604051806040016040528060018152602001606319815250846000815181106200386457620038646200a58c565b6020026020010181905250836040516020016200388291906200a609565b6040516020818303038152906040529250620038a6601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b8152600401620038d592919062009fee565b600060405180830381600087803b158015620038f057600080fd5b505af115801562003905573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620039be92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa1580156200395a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200398091906200a55d565b60006040518060400160405280600a81526020017f566f7465725374616b650000000000000000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b81526001600482015262003a6d906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003a09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2f91906200a55d565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e74000000000000000000000000000000000000000081525062009471565b62003b14816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003ab0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ad691906200a55d565b60006040518060400160405280600b81526020017f546f74616c5374616b656400000000000000000000000000000000000000000081525062009471565b602f546040516032602482015262003b45916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525062008560565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003c6057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003c215790505b5050505050815250508152602001906001019062003bb3565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525062008560565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003d41573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003d6791906200a55d565b6040518b63ffffffff1660e01b815260040162003d8e9a999897969594939291906200a78c565b600060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003dd691908101906200a839565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003e5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e8391906200a887565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003f3a908c908c908c90600090819081908190819081908d906065016200a8c6565b6020604051808303816000875af115801562003f5a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f8091906200a45e565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003fbb62001e66565b8160008151811062003fd15762003fd16200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62004d5b565b816001815181106200401157620040116200a58c565b6001600160a01b0390921660209283029190910190910152919050565b6000806200405373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200408c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260509160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620040a75790505090506040518060400160405280600181526020018381525081600081518110620040fd57620040fd6200a58c565b60200260200101819052506000816040516020016200411d91906200a609565b604051602081830303815290604052905062004141601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200417092919062009fee565b600060405180830381600087803b1580156200418b57600080fd5b505af1158015620041a0573d6000803e3d6000fd5b50505050620041ae62009253565b60006064620041bf6032866200a65a565b620041cb91906200a43b565b6020870151604051631c1ba58760e31b8152600160048201523060248201529192509062004288906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200424b91906200a55d565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65310000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620042bb906001600160a01b0383169063dc96ff2d90602401620037b8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620042df62005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200432157600080fd5b505af115801562004336573d6000803e3d6000fd5b5050505060006002905060006040518060c001604052808381526020018981526020016200436362005352565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620043a9918491016200a94d565b6040516020818303038152906040529050620043cd601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b8152600401620043fc92919062009fee565b6020604051808303816000875af11580156200441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200444291906200a53d565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa1580156200449a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620044c091906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200450c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200453291906200a45e565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200456f57600080fd5b505af115801562004584573d6000803e3d6000fd5b506000925060019150620045959050565b604051908082528060200260200182016040528015620045dc57816020015b6040805180820190915260008082526020820152815260200190600190039081620045b45790505b509050600060649050604051806040016040528086815260200182815250826000815181106200461057620046106200a58c565b6020026020010181905250816040516020016200462e91906200a609565b604051602081830303815290604052975062004652601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b81526004016200468192919062009fee565b600060405180830381600087803b1580156200469c57600080fd5b505af1158015620046b1573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200471457600080fd5b505af115801562004729573d6000803e3d6000fd5b50505050600060646032836200474091906200a65a565b6200474c91906200a43b565b90506200481a876001600160a01b031663e0dd2c38886200476c62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015620047b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047dd91906200a55d565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65320000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260048101879052620048c8906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa15801562004865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200488b91906200a55d565b826040518060400160405280600c81526020017f5374616b65644d6f756e7432000000000000000000000000000000000000000081525062009471565b620049096040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6200497f6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002fca573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b815260016004820152620049db91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002fac565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b15801562004a2957600080fd5b505af115801562004a3e573d6000803e3d6000fd5b5050505062004a836040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004acb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004af191906200a55d565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004b2a91815260200190565b61018060405180830381865afa15801562004b49573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004b6f91906200a69a565b9b509b50509a505050509750975050505062004bb86040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b62004bed604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b62004c1e6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b62004c5560405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b62004c966040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525062008560565b6040805160028082526060808301845292600092919060208301908036833701905050905062004d1b62000aed565b8160008151811062004d315762004d316200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62003c79565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525062008560565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462004e25906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462004e53906200a47e565b801562004ea45780601f1062004e785761010080835404028352916020019162004ea4565b820191906000526020600020905b81548152906001019060200180831162004e8657829003601f168201915b50505050508152602001906001019062004e03565b60008062004ede73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b9150915062004f176040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004f32579050509050604051806040016040528060018152602001838152508160008151811062004f885762004f886200a58c565b602002602001018190525062004fa6601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004fc891906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004ff692919062009fee565b600060405180830381600087803b1580156200501157600080fd5b505af115801562005026573d6000803e3d6000fd5b505050506200503462009253565b60006064620050456032856200a65a565b6200505191906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062005093906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260016004820152620050c6906001600160a01b0383169063dc96ff2d90602401620037b8565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620050ff91815260200190565b61018060405180830381865afa1580156200511e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200514491906200a69a565b509a505099509950505097509750509650506200518e6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620051c3604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620051f46040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620052356040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200526c60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620052a3908a620074b8565b9050620052b2816000620092e6565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b8152600401620052ef939291906200a9b6565b600060405180830381600087803b1580156200530a57600080fd5b505af11580156200531f573d6000803e3d6000fd5b50505050620053338f604001518a620074b8565b9050620053418189620092e6565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525062008560565b600080620053fb73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005427670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b81526004016200544691815260200190565b600060405180830381600087803b1580156200546157600080fd5b505af115801562005476573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200549c6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b8152600401620054bb91815260200190565b600060405180830381600087803b158015620054d657600080fd5b505af1158015620054eb573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200551066071afd498d0000620093fc565b6040518263ffffffff1660e01b81526004016200552f91815260200190565b600060405180830381600087803b1580156200554a57600080fd5b505af11580156200555f573d6000803e3d6000fd5b5050602f5460405161afc86024820181905293506200559a92506001600160a01b03909116906000906318fb0de560e11b906044016200362d565b620055cf6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055e65790505090506040518060400160405280600181526020016064815250816000815181106200563d576200563d6200a58c565b60200260200101819052506000816040516020016200565d91906200a609565b604051602081830303815290604052905062005681601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620056b092919062009fee565b600060405180830381600087803b158015620056cb57600080fd5b505af1158015620056e0573d6000803e3d6000fd5b50505050620056ee62009253565b604051631c1ba58760e31b8152600160048201523060248201526200576d906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa15801562005740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576691906200a55d565b84620092e6565b60405163dc96ff2d60e01b815260016004820152620057a0906001600160a01b0386169063dc96ff2d9060240162005722565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa158015620057fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200582091906200a55d565b9050620058536040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062005868600a6000856289544062007edf565b9050620058986040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b620058a48282620092e6565b620058b283613a98620092e6565b620058c08661afc8620092e6565b620058cf8262017da2620092e6565b602f546040516032602482015262005900916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050505050565b602654600090620059e057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200596b62005352565b6200597562004cec565b6040518563ffffffff1660e01b81526004016200599694939291906200a9ef565b6020604051808303816000875af1158015620059b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620059dc91906200a55d565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005ab957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162005a7a5790505b5050505050815250508152602001906001019062005a0c565b600062005af673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505060006040518060c001604052806001815260200183815260200162005b1d62005352565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005b7291906200a94d565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005c0b91906004016200a577565b600060405180830381600087803b15801562005c2657600080fd5b505af115801562005c3b573d6000803e3d6000fd5b5050505062005c52601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005c8192919062009fee565b6020604051808303816000875af115801562005ca1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005cc791906200a53d565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005cfc6200354f565b8160008151811062005d125762005d126200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62005394565b60008062005d6173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005d8d670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162005dac91815260200190565b600060405180830381600087803b15801562005dc757600080fd5b505af115801562005ddc573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005e026702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162005e2191815260200190565b600060405180830381600087803b15801562005e3c57600080fd5b505af115801562005e51573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005e7666071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162005e9591815260200190565b600060405180830381600087803b15801562005eb057600080fd5b505af115801562005ec5573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005efd93506001600160a01b0390911691506000906318fb0de560e11b906044016200362d565b62005f326040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005f4957905050905060405180604001604052806001815260200160648152508160008151811062005fa05762005fa06200a58c565b602002602001018190525060008160405160200162005fc091906200a609565b604051602081830303815290604052905062005fe4601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200601392919062009fee565b600060405180830381600087803b1580156200602e57600080fd5b505af115801562006043573d6000803e3d6000fd5b505050506200605162009253565b604051631c1ba58760e31b81526001600482015230602482015261afc8906200608e906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b815260016004820152620060c1906001600160a01b0386169063dc96ff2d90602401620029e3565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200614a91906200a55d565b90506200618d6040518060400160405280600c81526020017f7468726573686f6c642025730000000000000000000000000000000000000000815250826200940f565b6200619b8261afc8620092e6565b620061a98161c5c1620092e6565b602f5460405160326024820152620061da916001600160a01b0316906000906318fb0de560e11b906044016200362d565b50505050505050565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525062008560565b60408051608081018252600080825260208201819052918101829052606081018290526200625b670de0a46bc207d800620093fc565b6020820152620062736702c68af0bb140000620093fc565b60408201526200628a66038d7ea4c68000620093fc565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110620062d857620062d86200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200630f576200630f6200a58c565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615620063465750835b886001600160a01b031663e1007d4a62006360886200590b565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b8152600401620063d297969594939291906200aa77565b6020604051808303816000875af1158015620063f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200641891906200a55d565b9998505050505050505050565b6200642f62009d7c565b60008360000362006440576103e893505b826000036200644f57613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620064815750602d546001600160a01b03165b620064b26040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620064d662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200651857600080fd5b505af11580156200652d573d6000803e3d6000fd5b50505050600062006546601c546001600160a01b031690565b604051620065549062009de3565b6001600160a01b039091168152602001604051809103906000f08015801562006581573d6000803e3d6000fd5b509050620065c26200659b601c546001600160a01b031690565b82620065af602f546001600160a01b031690565b601d546001600160a01b03168662006225565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200662357600080fd5b505af115801562006638573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200667857600080fd5b505af11580156200668d573d6000803e3d6000fd5b50505050620066a4601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b8152600401620066d291815260200190565b600060405180830381865afa158015620066f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200671a91908101906200ac09565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b1580156200678a57600080fd5b505af11580156200679f573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200684a57601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200682a57600080fd5b505af11580156200683f573d6000803e3d6000fd5b5050505050620069ce565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620068ac57600080fd5b505af1158015620068c1573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b3620068e7601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af115801562006935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200695b91906200a45e565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620069b457600080fd5b505af1158015620069c9573d6000803e3d6000fd5b505050505b835162006a2890620069ec62000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c65494400000000000000000000000000000000000000815250620094be565b62006a596040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b60006040518060c001604052806001815260200185815260200162006a7d62005352565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006abc91906200a94d565b604051602081830303815290604052905062006ae0601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006b0f92919062009fee565b6020604051808303816000875af115801562006b2f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006b5591906200a53d565b5062006b6062009253565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462006bb2906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462006be0906200a47e565b801562006c315780601f1062006c055761010080835404028352916020019162006c31565b820191906000526020600020905b81548152906001019060200180831162006c1357829003601f168201915b50505050508152602001906001019062006b90565b600754600090610100900460ff161562006c695750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006d785760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006cfa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200acc9565b60408051601f198184030181529082905262006d16916200acfb565b6000604051808303816000865af19150503d806000811462006d55576040519150601f19603f3d011682016040523d82523d6000602084013e62006d5a565b606091505b509150508080602001905181019062006d7491906200a45e565b9150505b919050565b600062006da173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505062006dd96040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006df157905050905060405180604001604052806001815260200160508152508160008151811062006e485762006e486200a58c565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006e805762006e806200a58c565b602002602001018190525060008160405160200162006ea091906200a609565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006ed662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006f1857600080fd5b505af115801562006f2d573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006fb757600080fd5b505af115801562006fcc573d6000803e3d6000fd5b5050505062006fe3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200701292919062009fee565b600060405180830381600087803b1580156200702d57600080fd5b505af115801562007042573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620022ae57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525062008560565b6000806200714e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620071876040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200719e579050509050604051806040016040528060018152602001605081525081600081518110620071f557620071f56200a58c565b60200260200101819052506000816040516020016200721591906200a609565b604051602081830303815290604052905062007239601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200726892919062009fee565b600060405180830381600087803b1580156200728357600080fd5b505af115801562007298573d6000803e3d6000fd5b50505050620072a662009253565b60006064620072b8603260506200a65a565b620072c491906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062007306906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b81526001600482015262007339906001600160a01b0383169063dc96ff2d90602401620037b8565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007350579050509050604051806040016040528060018152602001601481525081600081518110620073a757620073a76200a58c565b602002602001018190525080604051602001620073c591906200a609565b6040516020818303038152906040529350620073e9601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200741892919062009fee565b600060405180830381600087803b1580156200743357600080fd5b505af115801562007448573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200748592506001600160a01b038516915063e0dd2c389060440162002540565b60405163dc96ff2d60e01b815260016004820152620061da906001600160a01b0384169063dc96ff2d9060240162002540565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620074fd57506001600160a01b0381163162007586565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156200755d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200758391906200a55d565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525062008560565b600080620075f373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200762c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007643579050509050604051806040016040528060018152602001606319815250816000815181106200769b576200769b6200a58c565b6020026020010181905250600081604051602001620076bb91906200a609565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200776391906004016200a577565b600060405180830381600087803b1580156200777e57600080fd5b505af115801562007793573d6000803e3d6000fd5b50505050620077aa601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620077d992919062009fee565b600060405180830381600087803b158015620077f457600080fd5b505af115801562007809573d6000803e3d6000fd5b505050506200781762009253565b6020840151604051631c1ba58760e31b815260016004820152306024820152620078d1906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa1580156200786d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200789391906200a55d565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e740000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa1580156200791c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200794291906200a55d565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c000000000081525062009471565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525062008560565b60008062007a2973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462007a55670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162007a7491815260200190565b600060405180830381600087803b15801562007a8f57600080fd5b505af115801562007aa4573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007aca6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162007ae991815260200190565b600060405180830381600087803b15801562007b0457600080fd5b505af115801562007b19573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007b3e66071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162007b5d91815260200190565b600060405180830381600087803b15801562007b7857600080fd5b505af115801562007b8d573d6000803e3d6000fd5b5050505062007bc66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007bdd57905050905060405180604001604052806001815260200160508152508160008151811062007c345762007c346200a58c565b602002602001018190525060008160405160200162007c5491906200a609565b604051602081830303815290604052905062007c78601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007ca792919062009fee565b600060405180830381600087803b15801562007cc257600080fd5b505af115801562007cd7573d6000803e3d6000fd5b5050505062007ce562009253565b6000606462007cf7603260506200a65a565b62007d0391906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062007d3f906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b81526001600482015262007d72906001600160a01b0386169063dc96ff2d90602401620029e3565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007dc9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007def91906200a55d565b905062007e226040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062007e37600a6000856289544062007edf565b905062007e676040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b62007e738282620092e6565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6000848162007f0162007efa62989680608087901b6200a43b565b836200950b565b905060806f8000000000000000000000000000000062007f2586629896806200ad19565b62007f3584600160801b6200ad19565b62007f44629896808a6200a65a565b62007f5091906200a65a565b62007f5c91906200a43b565b62007f6889856200a65a565b62007f7491906200a674565b62007f8091906200a674565b901c979650505050505050565b60008062007f9f600080600062006425565b9150915062007fd46040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a0830181905292519192916200801a918491016200a94d565b60405160208183030381529060405290506200803e601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b81526004016200806d92919062009fee565b6020604051808303816000875af11580156200808d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620080b391906200a53d565b50620080be62009253565b620080f36040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252606491600291600091816020015b604080518082019091526000808252602082015281526020019060019003908162008110579050509050604051806040016040528083815260200184815250816000815181106200816557620081656200a58c565b602002602001018190525062008183601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620081a591906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401620081d392919062009fee565b600060405180830381600087803b158015620081ee57600080fd5b505af115801562008203573d6000803e3d6000fd5b505050506200821162009253565b60006064620082226032866200a65a565b6200822e91906200a43b565b6020890151604051631c1ba58760e31b8152600481018690523060248201529192509062008270906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260048101859052620082a3906001600160a01b0383169063dc96ff2d90602401620037b8565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620082db91815260200190565b61018060405180830381865afa158015620082fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200832091906200a69a565b509a505099509950505097509750505050620083696040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b6200839e604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620083cf6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620084106040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200844760405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b6000896040516020016200845d91815260200190565b604051602081830303815290604052905062008481601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f6000604051908082528060200260200182016040528015620084bc578160200160208202803683370190505b50846040518463ffffffff1660e01b8152600401620084de939291906200a9b6565b600060405180830381600087803b158015620084f957600080fd5b505af11580156200850e573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200856d82620095c4565b5092915050565b6200857e620096f9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620085a262005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620085e457600080fd5b505af1158015620085f9573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200866762005352565b6200867162004cec565b6040518563ffffffff1660e01b81526004016200869294939291906200a9ef565b6020604051808303816000875af1158015620086b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620086d891906200a55d565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008725573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200874f91908101906200ad2f565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762008796620070e7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620087d857600080fd5b505af1158015620087ed573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65310000000000000000000000000000000000000000000000008152508152506200886c620070e7565b6200887662003f8c565b6040518563ffffffff1660e01b81526004016200889794939291906200ae05565b6020604051808303816000875af1158015620088b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620088dd91906200a55d565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200892a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200895491908101906200ad2f565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa76200899b62001e24565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620089dd57600080fd5b505af1158015620089f2573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653200000000000000000000000000000000000000000000000081525081525062008a7162001e24565b62008a7b62005ccd565b6040518563ffffffff1660e01b815260040162008a9c94939291906200ae77565b6020604051808303816000875af115801562008abc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ae291906200a55d565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008b2f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008b5991908101906200ad2f565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ba262004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008be457600080fd5b505af115801562008bf9573d6000803e3d6000fd5b5050505060405162008c0b9062009df1565b604051809103906000f08015801562008c28573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008c5762004d9d565b8362008c6262007980565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008cc857600080fd5b505af115801562008cdd573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008d4057600080fd5b505af1158015620025bf573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008dae9160040190815260200190565b602060405180830381865afa15801562008dcc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008df291906200a53d565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008e9357600080fd5b505af115801562008ea8573d6000803e3d6000fd5b505060295461010090046001600160a01b03169150620091ca905057600060405162008ed49062009d60565b604051809103906000f08015801562008ef1573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008f139062009d6e565b604051809103906000f08015801562008f30573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008f8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008fb391906200a53d565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a20257300000000000000000060208201529394506200903693920416620097aa565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620090c757600080fd5b505af1158015620090dc573d6000803e3d6000fd5b506000925060019150620090ed9050565b60405190808252806020026020018201604052801562009117578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200913e576200913e6200a58c565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d906200919290849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b158015620091ad57600080fd5b505af1158015620091c2573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200921c91906200aec6565b60405180910390a16200140483836200980c565b60295460ff1615620092505760276200924a82826200af59565b505a6028555b50565b60295460ff1615620092e45760005a905060006064826028546200927891906200ad19565b6200928491906200ad19565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a86027604051602001620092bb91906200b026565b60408051601f1981840301815290829052620092d99184906200b0c9565b60405180910390a150505b565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620093749060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620093ad91906200b0ed565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051620093e691906200b126565b60405180910390a1620093f86200999e565b5050565b60006200758664174876e800836200a43b565b620093f88282604051602401620094289291906200b0c9565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d00000000000000000000000000000000000000000000000000000000017905262009ab1565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094aa91906200aec6565b60405180910390a1620014048383620092e6565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094f791906200aec6565b60405180910390a162001404838362009ad2565b6000600160801b8310620095665760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095bc578060011660000362009599576200958e828362009bd2565b915060011c6200956f565b620095a5838362009bd2565b9250620095b46001826200ad19565b90506200956f565b505092915050565b60008082604051602001620095da91906200acfb565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200965c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200968291906200a53d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620096c090859087906004016200b151565b600060405180830381600087803b158015620096db57600080fd5b505af1158015620096f0573d6000803e3d6000fd5b50505050915091565b604051620097079062009dff565b604051809103906000f08015801562009724573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862009753620079c2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200979557600080fd5b505af115801562005cc7573d6000803e3d6000fd5b620093f88282604051602401620097c39291906200b175565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905262009ab1565b80151582151514620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516200989e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382620098f1576040518060400160405280600581526020016466616c736560d81b8152506200990f565b604051806040016040528060048152602001637472756560e01b8152505b6040516200991e91906200b1a2565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838162009971576040518060400160405280600581526020016466616c736560d81b8152506200998f565b604051806040016040528060048152602001637472756560e01b8152505b604051620093e691906200b1e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562009aa05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262009a3b92916020016200acc9565b60408051601f198184030181529082905262009a57916200acfb565b6000604051808303816000865af19150503d806000811462009a96576040519150601f19603f3d011682016040523d82523d6000602084013e62009a9b565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009b609060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009b9991906200b0ed565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051620093e691906200b126565b6000600160801b83111562009c505760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016200955d565b600160801b821062009ca55760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016200955d565b60806f8000000000000000000000000000000062009cc484866200a65a565b62009cd091906200a674565b901c9392505050565b610e67806200b20d83390190565b612768806200c07483390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009d53604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e7dc83390190565b613594806200f02e83390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009dcf604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61349180620125c283390190565b6135c18062015a5383390190565b612eb6806201901483390190565b6001600160a01b03811681146200925057600080fd5b60006020828403121562009e3657600080fd5b813562009e438162009e0d565b9392505050565b600081518084526020808501945080840160005b8381101562009e855781516001600160a01b03168752958201959082019060010162009e5e565b509495945050505050565b60208152600062009e43602083018462009e4a565b60005b8381101562009ec257818101518382015260200162009ea8565b50506000910152565b6000815180845262009ee581602086016020860162009ea5565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009faf57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009f9857605f1989850301835262009f8584865162009ecb565b948e01949350918d019160010162009f66565b505050978a01979450509188019160010162009f20565b50919a9950505050505050505050565b80151581146200925057600080fd5b60006020828403121562009fe157600080fd5b813562009e438162009fbf565b8281526040602082015260006200a009604083018462009ecb565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200a0b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200a0a35783516001600160e01b0319168252928b019260019290920191908b01906200a077565b50978a019795505050918701916001016200a039565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a104576200a1046200a0c8565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a136576200a1366200a0c8565b604052919050565b600067ffffffffffffffff8211156200a15b576200a15b6200a0c8565b50601f01601f191660200190565b6000806000606084860312156200a17f57600080fd5b83356200a18c8162009e0d565b925060208401359150604084013567ffffffffffffffff8111156200a1b057600080fd5b8401601f810186136200a1c257600080fd5b80356200a1d96200a1d3826200a13e565b6200a10a565b8181528760208385010111156200a1ef57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a26857603f198886030184526200a25585835162009ecb565b945092850192908501906001016200a236565b5092979650505050505050565b600080600080600060a086880312156200a28e57600080fd5b85356200a29b8162009e0d565b945060208601356200a2ad8162009e0d565b935060408601356200a2bf8162009e0d565b925060608601356200a2d18162009e0d565b915060808601356200a2e38162009e0d565b809150509295509295909350565b6000806000606084860312156200a30757600080fd5b83356200a3148162009e0d565b95602085013595506040909401359392505050565b8051825260006020820151604060208501526200a009604085018262009ecb565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a3966101008401826200a329565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a3c857600080fd5b82356200a3d58162009e0d565b915060208301356200a3e78162009e0d565b809150509250929050565b600080600080608085870312156200a40957600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a45957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a47157600080fd5b815162009e438162009fbf565b600181811c908216806200a49357607f821691505b6020821081036200a4b457634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a5176101008501826200a329565b90508160c08601511660e0850152809250505092915050565b805162006d788162009e0d565b6000602082840312156200a55057600080fd5b815162009e438162009e0d565b6000602082840312156200a57057600080fd5b5051919050565b60208152600062009e43602083018462009ecb565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a5b88184018b62009e4a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a64d578151805185528601518685015292840192908501906001016200a626565b5091979650505050505050565b80820281158282048414176200758657620075866200a425565b808201808211156200758657620075866200a425565b80516004811062006d7857600080fd5b6000806000806000806000806000806000806101808d8f0312156200a6be57600080fd5b8c516200a6cb8162009e0d565b60208e0151909c506200a6de8162009e0d565b60408e0151909b506200a6f18162009e0d565b809a505060608d0151985060808d0151975060a08d0151600381106200a71657600080fd5b96506200a72660c08e016200a68a565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a788576200a7886200a75f565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a7b88285018d62009ecb565b92506200a7c9606085018c6200a775565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a8146200a1d3846200a13e565b90508281528383830111156200a82957600080fd5b62009e4383602083018462009ea5565b6000602082840312156200a84c57600080fd5b815167ffffffffffffffff8111156200a86457600080fd5b8201601f810184136200a87657600080fd5b6200a009848251602084016200a803565b6000806000606084860312156200a89d57600080fd5b835160ff811681146200a8af57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8f28285018d62009ecb565b91506200a903606085018c6200a775565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a93c818562009ecb565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a992576200a9926200a75f565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a9d1606083018562009e4a565b82810360408401526200a9e5818562009ecb565b9695505050505050565b84815260a0602082015260006200aa3360a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200aa4781876200a329565b90506001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200aaa360e085018a62009ecb565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aada816200a47e565b806040870152868216600081146200aafb57600181146200ab16576200ab46565b60ff1983168787015281151560051b8701860193506200ab46565b846000528860002060005b838110156200ab3e578154898201890152908901908a016200ab21565b880187019450505b50505087810360c08901526200ab5d818a62009e4a565b9f9e505050505050505050505050505050565b600082601f8301126200ab8257600080fd5b62009e43838351602085016200a803565b6000604082840312156200aba657600080fd5b6040516040810167ffffffffffffffff82821081831117156200abcd576200abcd6200a0c8565b816040528293508451835260208501519150808211156200abed57600080fd5b506200abfc858286016200ab70565b6020830152505092915050565b6000602082840312156200ac1c57600080fd5b815167ffffffffffffffff808211156200ac3557600080fd5b9083019060c082860312156200ac4a57600080fd5b6200ac546200a0de565b8251815260208301516200ac688162009e0d565b602082015260408301516200ac7d8162009e0d565b60408201526060830151828111156200ac9557600080fd5b6200aca3878286016200ab93565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200aced81600485016020870162009ea5565b919091016004019392505050565b600082516200ad0f81846020870162009ea5565b9190910192915050565b818103818111156200758657620075866200a425565b6000602082840312156200ad4257600080fd5b815167ffffffffffffffff808211156200ad5b57600080fd5b9083019060c082860312156200ad7057600080fd5b6200ad7a6200a0de565b82518152602083015160208201526040830151828111156200ad9b57600080fd5b6200ada9878286016200ab70565b6040830152506060830151828111156200adc257600080fd5b6200add0878286016200ab93565b6060830152506200ade4608084016200a530565b60808201526200adf760a084016200a530565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b6001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009e43608083018462009ecb565b601f8211156200140457600081815260208120601f850160051c810160208610156200af385750805b601f850160051c820191505b8181101562003b45578281556001016200af44565b815167ffffffffffffffff8111156200af76576200af766200a0c8565b6200af8e816200af8784546200a47e565b846200af0f565b602080601f8311600181146200afc657600084156200afad5750858301515b600019600386901b1c1916600185901b17855562003b45565b600085815260208120601f198616915b828110156200aff7578886015182559484019460019091019084016200afd6565b50858210156200b0165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200b036816200a47e565b600182811680156200b05157600181146200b067576200b098565b60ff19841687528215158302870194506200b098565b8760005260208060002060005b858110156200b08f5781548a8201529084019082016200b074565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b0de604083018562009ecb565b90508260208301529392505050565b6040815260006200b11860408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b11860408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b03831681526040602082015260006200a009604083018462009ecb565b6040815260006200b18a604083018562009ecb565b90506001600160a01b03831660208301529392505050565b6040815260006200b1cd60408301600a8152690808080808081319599d60b21b602082015260400190565b82810360208401526200a009818562009ecb565b6040815260006200b1cd60408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a2646970667358221220e9eef85e86e96ebffc2eac9551e7b19974f3d9311ed2aefa40b9b3c28e297a2864736f6c63430008130033","sourceMap":"1525:29417:94:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:97;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:96:-;;;;;-1:-1:-1;;;;;269:28:96;;;4045:101:38;;;:::i;1810:42:94:-;;1850:2;1810:42;;;;;644:25:97;;;632:2;617:18;1810:42:94;498:177:97;1959:1152:94;;;:::i;:::-;;30306:634;;;:::i;226:92:38:-;306:4;226:92;;29804:496:94;;;:::i;905:138:38:-;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:96;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:50:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:95:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:95;;;;;;;;;;267:84;5385:977:94;;;:::i;2757:105:40:-;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;507:79:93;;;:::i;:::-;;;;;;;;:::i;16709:866:94:-;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:50;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;17581:3967:94:-;;;:::i;3366:113:38:-;;;:::i;1672:33:94:-;;;;;;4257:113:38;;;:::i;15181:1522:94:-;;;:::i;4152:99:38:-;;;:::i;2738:178:50:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:96:-;;;;;;;;-1:-1:-1;;;;;240:23:96;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;21554:3158:94:-;;;:::i;4376:105:38:-;;;:::i;339:34:96:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:50:-;;;:::i;:::-;;;;;;;:::i;1858:47:94:-;;1901:4;1858:47;;304:29:96;;;;;-1:-1:-1;;;;;304:29:96;;;24718:2468:94;;;:::i;1537:101:38:-;;;:::i;3485:113::-;;;:::i;1711:44:94:-;;1750:5;1711:44;;11645:1898;;;:::i;799:361:93:-;;;;;;:::i;:::-;;:::i;3069:146:50:-;;;:::i;8309:519:94:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;13549:1626:94:-;;;:::i;3938:101:38:-;;;:::i;1166:1463:93:-;;;;;;:::i;:::-;;:::i;3273:1814:94:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2157:141:50:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;12299:14:97;;12292:22;12274:41;;12262:2;12247:18;1819:584:44;12134:187:97;6368:1028:94;;;:::i;1761:43::-;;1799:5;1761:43;;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;8834:1541:94:-;;;:::i;5093:254::-;;;;;;:::i;:::-;;:::i;4571:105:38:-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;7402:901:94;;;:::i;546:124:38:-;;;:::i;324:109::-;;;:::i;10381:1258:94:-;;;:::i;2304:142:50:-;;;:::i;3483:378:93:-;;;;;;:::i;:::-;;:::i;27192:2606:94:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1644:22:94;;;;;-1:-1:-1;;;;;1644:22:94;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1959:1152:94:-;1993:21;:19;:21::i;:::-;2024:32;2044:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;2044:10:94;2024:11;:32::i;:::-;2067:13;;2081:12;:10;:12::i;:::-;2067:27;;-1:-1:-1;;;;;;2067:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2067:27:94;;;160:74:97;133:18;;2067:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2104:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2104:6:94;:23;;;;;2125:1;2104:23;;;644:25:97;-1:-1:-1;;;;;2104:20:94;;;;;;;617:18:97;;2104:23:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2137:6:94;:26;;;;;2161:1;2137:26;;;644:25:97;-1:-1:-1;;;;;2137:23:94;;;;;;;617:18:97;;2137:26:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2173:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2198:5:94;:23;;-1:-1:-1;;;;;;2198:23:94;-1:-1:-1;;;;;2198:23:94;;;;;;;;;2231:10;306:4:38;2251:16:94;2266:1;1750:5;2251:16;:::i;:::-;2231:37;;-1:-1:-1;;;;;;2231:37:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2231:37:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2231:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2278:5:94;;-1:-1:-1;;;;;2278:5:94;;-1:-1:-1;2278:10:94;;-1:-1:-1;2289:12:94;:10;:12::i;:::-;2303:16;2318:1;1750:5;2303:16;:::i;:::-;2278:42;;-1:-1:-1;;;;;;2278:42:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2278:42:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2278:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2330:5:94;;-1:-1:-1;;;;;2330:5:94;;-1:-1:-1;2330:13:94;;-1:-1:-1;2352:6:94;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2352:6:94;2361:10;;2330:42;;-1:-1:-1;;;;;;2330:42:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2330:42:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2330:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2383:13:94;;2397:12;:10;:12::i;:::-;2383:27;;-1:-1:-1;;;;;;2383:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2383:27:94;;;160:74:97;133:18;;2383:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2420:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2420:6:94;-1:-1:-1;;;;;2420:24:94;;306:4:38;2420:33:94;;-1:-1:-1;;;;;;2420:33:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2420:33:94;;;160:74:97;133:18;;2420:33:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2463:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:31;2574:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2540:55;;2605:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2661:30:94;;2738:5;;;2701:19;;;;:44;;;;1850:2;2755:26;;;;:42;;;;2829:1;2807:19;;;:23;2840:27;;;;;;;;2859:8;2840:27;;;;;;;;;2859:8;;2840:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2840:27:94;;;;-1:-1:-1;;;2840:16:94;;;:27;2915:14;:12;:14::i;:::-;-1:-1:-1;;;;;2877:54:94;;;:19;;;:54;2975:38;;;;;:30;;;;;;:38;;2877:6;;2975:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2941:15;:73;;-1:-1:-1;;;;;;2941:73:94;-1:-1:-1;;;;;2941:73:94;;;;;;;;;3025:5;;3065:38;;;-1:-1:-1;;;3065:38:94;;;;3025:5;;;;;:13;;2941:73;;;3065:36;;:38;;;;;;;;;;;;;;2941:73;3065:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3025:79;;-1:-1:-1;;;;;;3025:79:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;3025:79:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;3025:79:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1983:1128;;1959:1152::o;30306:634::-;30358:22;30382:14;30400:33;30424:1;30428;30431;30400:15;:33::i;:::-;30487:13;;;;;30530:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30530:69:94;-1:-1:-1;;;30530:69:94;;;30514:86;;-1:-1:-1;;;30514:86:94;;30357:76;;-1:-1:-1;30357:76:94;;-1:-1:-1;30487:13:94;30514:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30610:2;-1:-1:-1;;;;;30610:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30640:2;-1:-1:-1;;;;;30640:19:94;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30680:15:94;;30671:62;;-1:-1:-1;;;;;;30680:15:94;;-1:-1:-1;30680:24:94;306:4:38;30705:7:94;30680:33;;-1:-1:-1;;;;;;30680:33:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30680:33:94;;;160:74:97;133:18;;30680:33:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30715:5;30671:62;;;;;;;;;;;;;-1:-1:-1;;;30671:62:94;;;:8;:62::i;:::-;30744:13;;30758:12;:10;:12::i;:::-;30744:27;;-1:-1:-1;;;;;;30744:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30744:27:94;;;160:74:97;133:18;;30744:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30781:2;-1:-1:-1;;;;;30781:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30810:2;-1:-1:-1;;;;;30810:19:94;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30841:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30875:15:94;;30866:67;;-1:-1:-1;;;;;;30875:15:94;;-1:-1:-1;30875:24:94;30900:12;:10;:12::i;29804:496::-;29854:22;29878:14;29896:33;29920:1;29924;29927;29896:15;:33::i;:::-;29983:13;;;;;30026:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30026:69:94;-1:-1:-1;;;30026:69:94;;;30010:86;;-1:-1:-1;;;30010:86:94;;29853:76;;-1:-1:-1;29853:76:94;;-1:-1:-1;29983:13:94;30010:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30106:2;-1:-1:-1;;;;;30106:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30136:13:94;;-1:-1:-1;30136:13:94;;-1:-1:-1;30150:12:94;;-1:-1:-1;30150:10:94;:12::i;:::-;30136:27;;-1:-1:-1;;;;;;30136:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30136:27:94;;;160:74:97;133:18;;30136:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30173:2;-1:-1:-1;;;;;30173:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30202:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30236:15:94;;30227:66;;-1:-1:-1;;;;;;30236:15:94;;-1:-1:-1;30236:24:94;30261:12;:10;:12::i;:::-;30236:38;;-1:-1:-1;;;;;;30236:38:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30236:38:94;;;160:74:97;133:18;;30236:38:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30276:4;30227:66;;;;;;;;;;;;;-1:-1:-1;;;30227:66:94;;;:8;:66::i;380:708:96:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:96;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:96;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:96;;-1:-1:-1;;;;;;592:52:96;;;;;;;-1:-1:-1;;;;;17430:55:97;;;592:52:96;;;17412:74:97;17522:2;17502:18;;;17495:30;642:1:96;17541:18:97;;;17534:29;;;17615:18;;;17608:34;17580:19;;592:52:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:96;-1:-1:-1;;;;;658:45:96;;;;;;;;717:54;;;-1:-1:-1;;;717:54:96;;;;;18140:74:97;;;;18230:18;;;18223:30;18289:2;18269:18;;;18262:30;18328:17;18308:18;;;18301:45;658::96;;-1:-1:-1;717:8:96;;;;18363:19:97;;717:54:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:96;;;-1:-1:-1;;;785:45:96;;-1:-1:-1;;;;;18623:55:97;;785:45:96;;;18605:74:97;18695:18;;;18688:30;;;;18754:2;18734:18;;;18727:30;18793:18;18773;;;18766:46;785:8:96;;-1:-1:-1;785:8:96;;-1:-1:-1;18829:19:97;;785:45:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:96;;-1:-1:-1;884:1:96;;-1:-1:-1;870:16:96;;-1:-1:-1;870:16:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:96;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:96;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:96;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:96;;-1:-1:-1;;;;;1065:16:96;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:50:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:50;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;5385:977:94:-;5485:14;5503:29;4445:42:9;5527:1:94;5530;5503:15;:29::i;:::-;5454:78;;;5597:39;;;;;;;;;;;;;;-1:-1:-1;;;5597:39:94;;;:17;:39::i;:::-;5690:35;;;5723:1;5690:35;;;;;;;;;5646:41;;5690:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5690:35:94;;;;;;;;;;;;;;;5646:79;;5824:33;;;;;;;;5851:1;5824:33;;;;5854:2;5824:33;;;5813:5;5819:1;5813:8;;;;;;;;:::i;:::-;;;;;;:44;;;;5899:33;;;;;;;;5926:1;5899:33;;;;5929:2;5899:33;;;5888:5;5894:1;5888:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6074:17;6105:5;6094:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6094:17:94;;;;;;;;;6282:1;6212:75;;;21115:36:97;309:37:45;21167:18:97;;;;21160:45;;;;6212:75:94;;;;;;;;;;21088:18:97;;;;6212:75:94;;;;;;;-1:-1:-1;;;;;6212:75:94;6235:45;6212:75;;;6196:92;;-1:-1:-1;;;6196:92:94;;6094:17;;-1:-1:-1;6196:15:94;;;;:92;;6212:75;6196:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;6298:6:94;-1:-1:-1;;;;;6298:15:94;;6314:6;6322:4;6298:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6337:18;:16;:18::i;507:79:93:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16709:866:94:-;16780:22;16804:14;16822:29;4445:42:9;16846:1:94;16849;16822:15;:29::i;:::-;16779:72;;;;16916:39;;;;;;;;;;;;;;-1:-1:-1;;;16916:39:94;;;:17;:39::i;:::-;17009:35;;;17042:1;17009:35;;;;;;;;;16965:41;;17009:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;17009:35:94;;;;;;;;;;;;;;;16965:79;;17065:34;;;;;;;;17092:1;17065:34;;;;17095:3;17065:34;;;17054:5;17060:1;17054:8;;;;;;;;:::i;:::-;;;;;;:45;;;;17109:5;17115:1;17109:8;;;;;;;;:::i;:::-;-1:-1:-1;;17147:17:94;;17127;;17147;;17158:5;;17109:8;17147:17;;:::i;:::-;;;;;;;;;;;;;17127:37;;17280:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;17280:6:94;-1:-1:-1;;;;;17280:15:94;;17296:6;17304:4;17280:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17319:18;:16;:18::i;:::-;17391:13;;;;17427:42;;-1:-1:-1;;;17427:42:94;;17452:1;17427:42;;;21692:25:97;17463:4:94;21733:18:97;;;21726:83;17418:67:94;;-1:-1:-1;;;;;17427:24:94;;;;;21665:18:97;;17427:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1850:2;17418:8;:67::i;:::-;17523:29;;-1:-1:-1;;;17523:29:94;;17550:1;17523:29;;;644:25:97;17514:54:94;;-1:-1:-1;;;;;17523:26:94;;;;;617:18:97;;17523:29:94;498:177:97;17514:54:94;16769:806;;;;;16709:866::o;3221:133:50:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:50;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:50;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;17581:3967:94:-;17662:22;17686:14;17704:50;17728:1;17732:8;17742:11;17704:15;:50::i;:::-;17808:13;;;;17661:93;;-1:-1:-1;17661:93:94;-1:-1:-1;;;;;;18084:11:94;;;18096:30;18110:15;18096:13;:30::i;:::-;18084:43;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18084:43:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18154:2;-1:-1:-1;;;;;18154:14:94;;18169:24;18183:9;18169:13;:24::i;:::-;18154:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18154:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18223:2;-1:-1:-1;;;;;18223:12:94;;18236:27;18250:12;18236:13;:27::i;:::-;18223:41;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18223:41:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:39;;;;;;;;;;;;;;-1:-1:-1;;;18349:39:94;;;:17;:39::i;:::-;18476:35;;;18509:1;18476:35;;;;;;;;;18419:3;;18398:18;;18476:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;18476:35:94;;;;;;;;;;;;;;;18432:79;;18532:42;;;;;;;;18559:1;18532:42;;;;18562:11;18532:42;;;18521:5;18527:1;18521:8;;;;;;;;:::i;:::-;;;;;;:53;;;;18605:17;18636:5;18625:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;18605:37;;18652:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;18652:6:94;-1:-1:-1;;;;;18652:15:94;;18668:6;18676:4;18652:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18691:18;:16;:18::i;:::-;18720:21;18783:3;18744:36;1850:2;18752:11;18744:36;:::i;:::-;:42;;;;:::i;:::-;18805;;-1:-1:-1;;;18805:42:94;;18830:1;18805:42;;;21692:25:97;18841:4:94;21733:18:97;;;21726:83;18720:66:94;;-1:-1:-1;18796:67:94;;-1:-1:-1;;;;;18805:24:94;;;;;21665:18:97;;18805:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18849:13;18796:8;:67::i;:::-;18900:29;;-1:-1:-1;;;18900:29:94;;18927:1;18900:29;;;644:25:97;18891:54:94;;-1:-1:-1;;;;;18900:26:94;;;;;617:18:97;;18900:29:94;498:177:97;18891:54:94;19028:13;;19042:12;:10;:12::i;:::-;19028:27;;-1:-1:-1;;;;;;19028:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;19028:27:94;;;160:74:97;133:18;;19028:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19158:2;-1:-1:-1;;;;;19158:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19188:42:94;;-1:-1:-1;19266:1:94;;-1:-1:-1;19233:35:94;;-1:-1:-1;19233:35:94;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;19233:35:94;;;;;;;;;;;;;;;;19188:80;;19278:19;19300:3;19278:25;;19325:43;;;;;;;;19352:1;19325:43;;;;19355:12;19325:43;;;19313:6;19320:1;19313:9;;;;;;;;:::i;:::-;;;;;;:55;;;;19396:6;19385:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;19378:25;;19464:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;19464:6:94;-1:-1:-1;;;;;19464:15:94;;19480:6;19488:4;19464:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;19503:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:22;19593:3;1850:2;19561:12;19553:37;;;;:::i;:::-;:43;;;;:::i;:::-;19528:68;;19607:76;19616:2;-1:-1:-1;;;;;19616:24:94;;19641:1;19652:12;:10;:12::i;:::-;19616:50;;-1:-1:-1;;;;;;19616:50:94;;;;;;;;;;21692:25:97;;;;-1:-1:-1;;;;;21753:55:97;21733:18;;;21726:83;21665:18;;19616:50:94;21510:305:97;19607:76:94;19721:29;;-1:-1:-1;;;19721:29:94;;19748:1;19721:29;;;644:25:97;19712:71:94;;-1:-1:-1;;;;;19721:26:94;;;;;617:18:97;;19721:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19752:30;19768:14;19752:13;:30;:::i;:::-;19712:8;:71::i;:::-;19848:48;;;;;;;;;;;;;;;;;;19883:12;19848:11;:48::i;:::-;19906:34;19943:2;-1:-1:-1;;;;;19943:29:94;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19906:68;;19984:69;;;;;;;;;;;;;;;;;;20026:26;19984:11;:69::i;:::-;20063:75;;;;;;;;;;;-1:-1:-1;;;20063:75:94;;;;20090:47;;-1:-1:-1;;;20090:47:94;;;;;644:25:97;;;20063:75:94;;;-1:-1:-1;;;;;20090:19:94;;;;;617:18:97;;20090:47:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20063:11;:75::i;:::-;20148:78;;;;;;;;;;;-1:-1:-1;;;20148:78:94;;;;20195:29;;-1:-1:-1;;;20195:29:94;;20222:1;20195:29;;;644:25:97;20148:78:94;;;-1:-1:-1;;;;;20175:19:94;;;;;;;20195:26;;617:18:97;;20195:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20175:50;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;20148:78:94;20246:47;;-1:-1:-1;;;20246:47:94;;;;;644:25:97;;;20237:80:94;;-1:-1:-1;;;;;20246:19:94;;;;;617:18:97;;20246:47:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20295:6;20237:80;;;;;;;;;;;;;-1:-1:-1;;;20237:80:94;;;:8;:80::i;:::-;20356:29;;-1:-1:-1;;;20356:29:94;;20383:1;20356:29;;;644:25:97;20327:82:94;;-1:-1:-1;;;;;20336:19:94;;;;;;;20356:26;;617:18:97;;20356:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20336:50;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;20336:50:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20388:5;20327:82;;;;;;;;;;;;;-1:-1:-1;;;20327:82:94;;;:8;:82::i;:::-;20420:12;;-1:-1:-1;;;20420:12:94;;20428:3;20420:12;;;644:25:97;20420:7:94;;;;617:18:97;;20420:12:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:47;;;;;;;;;;;;;;;;;;20476:12;20442:11;:47::i;:::-;20746:30;;-1:-1:-1;;;20746:30:94;;20774:1;20746:30;;;644:25:97;-1:-1:-1;;;;;20746:27:94;;;;;617:18:97;;20746:30:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20843:23;20880:20;20956:22;21006:17;21037:22;21072:2;-1:-1:-1;;;;;21072:14:94;;21087:1;21072:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;21072:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20787:302;;;;;;;;;;;;;;;;;21100:52;;;;;;;;;;;;;;-1:-1:-1;;;21100:52:94;;;21136:15;21100:11;:52::i;:::-;21162:46;;;;;;;;;;;;;;-1:-1:-1;;;21162:46:94;;;21195:12;21162:11;:46::i;:::-;21218:39;;;;;;;;;;;;;;-1:-1:-1;;;21218:39:94;;;21247:9;21218:11;:39::i;:::-;21267:50;;;;;;;;;;;;;;-1:-1:-1;;;21267:50:94;;;21302:14;21267:11;:50::i;:::-;21327;;;;;;;;;;;;;;;;;;21362:14;21327:11;:50::i;:::-;21387:39;21396:9;21407:5;21387:39;;;;;;;;;;;;;;;;;:8;:39::i;:::-;21436:48;21445:14;21461:4;21436:48;;;;;;;;;;;;;;;;;:8;:48::i;:::-;21494:47;21503:14;21519:3;21494:47;;;;;;;;;;;;;;;;;:8;:47::i;:::-;17651:3897;;;;;;;;;;;;;;;;17581:3967::o;3366:113:38:-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;15181:1522:94:-;15235:22;15259:14;15277:29;4445:42:9;15301:1:94;15304;15277:15;:29::i;:::-;15404:15;;15425:76;;15495:5;15425:76;;;24068:38:97;15234:72:94;;-1:-1:-1;15234:72:94;;-1:-1:-1;15372:139:94;;-1:-1:-1;;;;;15404:15:94;;;;;;-1:-1:-1;;;15448:45:94;24041:18:97;;15425:76:94;;;;-1:-1:-1;;15425:76:94;;;;;;;;;;;;;;-1:-1:-1;;;;;15425:76:94;-1:-1:-1;;;;;;15425:76:94;;;;;;;;;;15372:10;:139::i;:::-;15660:35;;;15693:1;15660:35;;;;;;;;;15616:41;;15660:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;15660:35:94;;;;;;;;;;;;;;;15616:79;;15716:34;;;;;;;;15743:1;15716:34;;;;15746:3;15716:34;;;15705:5;15711:1;15705:8;;;;;;;;:::i;:::-;;;;;;:45;;;;15760:17;15791:5;15780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;15760:37;;15807:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;15807:6:94;-1:-1:-1;;;;;15807:15:94;;15823:6;15831:4;15807:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;15960:13:94;;;;15995:42;;-1:-1:-1;;;15995:42:94;;16020:1;15995:42;;;21692:25:97;16031:4:94;21733:18:97;;;21726:83;15902:5:94;;15960:13;15986:67;;-1:-1:-1;;;;;15995:24:94;;;;;21665:18:97;;15995:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16039:13;15986:8;:67::i;:::-;16072:29;;-1:-1:-1;;;16072:29:94;;16099:1;16072:29;;;644:25:97;16063:54:94;;-1:-1:-1;;;;;16072:26:94;;;;;617:18:97;;16072:29:94;498:177:97;16063:54:94;16139:35;;;;;;;;16166:1;16139:35;;;;-1:-1:-1;;16139:35:94;;;16128:5;16134:1;16128:8;;;;;;;;:::i;:::-;;;;;;:46;;;;16202:5;16191:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;16184:24;;16218:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;16218:6:94;-1:-1:-1;;;;;16218:15:94;;16234:6;16242:4;16218:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16267:42:94;;-1:-1:-1;;;16267:42:94;;16292:1;16267:42;;;21692:25:97;16303:4:94;21733:18:97;;;21726:83;16258:69:94;;-1:-1:-1;;;;;;16267:24:94;;;-1:-1:-1;16267:24:94;;21665:18:97;;16267:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16311:1;16258:69;;;;;;;;;;;;;;;;;:8;:69::i;:::-;16346:29;;-1:-1:-1;;;16346:29:94;;16373:1;16346:29;;;644:25:97;16337:58:94;;-1:-1:-1;;;;;16346:26:94;;;;;617:18:97;;16346:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16377:1;16337:58;;;;;;;;;;;;;;;;;:8;:58::i;:::-;16406:44;16415:2;-1:-1:-1;;;;;16415:14:94;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16433:1;16406:44;;;;;;;;;;;;;;;;;:8;:44::i;:::-;16557:15;;16602:84;;1850:2;16602:84;;;644:25:97;16525:171:94;;-1:-1:-1;;;;;16557:15:94;;;;-1:-1:-1;;;16625:45:94;617:18:97;;16602:84:94;498:177:97;16525:171:94;15224:1479;;;;;;15181:1522::o;4152:99:38:-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:50:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:96:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:96;-1:-1:-1;;;;;1993:33:96;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:96;-1:-1:-1;;;;;2240:17:96;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:96;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;26454:25:97;;;;26495:18;;;26488:34;;;2301:17:96;;-1:-1:-1;2301:17:96;2280:18;;;;;;2363:7;;;;26427:18:97;;2363:36:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;27114:19:97;;;27149:12;;;27142:28;;;27222:66;27208:3;27204:16;;;27200:89;27186:12;;;27179:111;2435:25:96;;;;;;;;;27306:12:97;;;2435:25:96;;;;2489:11;;:152;;;;27204:16:97;;-1:-1:-1;27114:19:97;;-1:-1:-1;27142:28:97;;-1:-1:-1;2489:11:96;;;-1:-1:-1;;;;;2489:11:96;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:96;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;21554:3158:94:-;21608:22;21632:14;21650:29;4445:42:9;21674:1:94;21677;21650:15;:29::i;:::-;21607:72;;;;21744:39;;;;;;;;;;;;;;-1:-1:-1;;;21744:39:94;;;:17;:39::i;:::-;21870:35;;;21903:1;21870:35;;;;;;;;;21814:2;;21793:18;;21870:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;21870:35:94;;;;;;;;;;;;;;;21826:79;;21926:42;;;;;;;;21953:1;21926:42;;;;21956:11;21926:42;;;21915:5;21921:1;21915:8;;;;;;;;:::i;:::-;;;;;;:53;;;;21999:17;22030:5;22019:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;21999:37;;22046:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22046:6:94;-1:-1:-1;;;;;22046:15:94;;22062:6;22070:4;22046:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22085:18;:16;:18::i;:::-;22114:21;22177:3;22138:36;1850:2;22146:11;22138:36;:::i;:::-;:42;;;;:::i;:::-;22233:13;;;;22268:42;;-1:-1:-1;;;22268:42:94;;22293:1;22268:42;;;21692:25:97;22304:4:94;21733:18:97;;;21726:83;22114:66:94;;-1:-1:-1;22233:13:94;22259:90;;-1:-1:-1;;;;;22268:24:94;;;;;21665:18:97;;22268:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22312:13;22259:90;;;;;;;;;;;;;;;;;:8;:90::i;:::-;22386:29;;-1:-1:-1;;;22386:29:94;;22413:1;22386:29;;;644:25:97;22377:54:94;;-1:-1:-1;;;;;22386:26:94;;;;;617:18:97;;22386:29:94;498:177:97;22377:54:94;22514:13;;22528:12;:10;:12::i;:::-;22514:27;;-1:-1:-1;;;;;;22514:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;22514:27:94;;;160:74:97;133:18;;22514:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22552:19;22574:1;22552:23;;22585:41;22629:149;;;;;;;;22668:11;22629:149;;;;22681:6;22629:149;;;;22689:12;:10;:12::i;:::-;-1:-1:-1;;;;;22629:149:94;;;;;22703:31;22629:149;;1901:4;22629:149;;;;;;;;22762:5;;-1:-1:-1;;;;;22762:5:94;22629:149;;;;;22809:20;;22585:193;;-1:-1:-1;;;22809:20:94;;22585:193;;22809:20;;:::i;:::-;;;;;;;;;;;;;22788:41;;22839:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22839:6:94;-1:-1:-1;;;;;22839:24:94;;22864:6;22872:5;22839:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22889:5:94;;22911:15;;22929:38;;;-1:-1:-1;;;22929:38:94;;;;-1:-1:-1;;;;;22889:5:94;;;;:13;;22911:15;;;;22929:36;;:38;;;;;;;;;;;;;;;22911:15;22929:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22889:79;;-1:-1:-1;;;;;;22889:79:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;22889:79:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;22889:79:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23031:2;-1:-1:-1;;;;;23031:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23061:42:94;;-1:-1:-1;23139:1:94;;-1:-1:-1;23106:35:94;;-1:-1:-1;23106:35:94;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;23106:35:94;;;;;;;;;;;;;;;;23061:80;;23151:19;23173:3;23151:25;;23198:53;;;;;;;;23225:11;23198:53;;;;23238:12;23198:53;;;23186:6;23193:1;23186:9;;;;;;;;:::i;:::-;;;;;;:65;;;;23279:6;23268:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;23261:25;;23347:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;23347:6:94;-1:-1:-1;;;;;23347:15:94;;23363:6;23371:4;23347:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;23386:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23411:22;23476:3;1850:2;23444:12;23436:37;;;;:::i;:::-;:43;;;;:::i;:::-;23411:68;;23490:109;23499:2;-1:-1:-1;;;;;23499:24:94;;23524:11;23545:12;:10;:12::i;:::-;23499:60;;-1:-1:-1;;;;;;23499:60:94;;;;;;;;;;21692:25:97;;;;-1:-1:-1;;;;;21753:55:97;21733:18;;;21726:83;21665:18;;23499:60:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23561:14;23490:109;;;;;;;;;;;;;;;;;:8;:109::i;:::-;23637:39;;-1:-1:-1;;;23637:39:94;;;;;644:25:97;;;23628:81:94;;-1:-1:-1;;;;;23637:26:94;;;;;617:18:97;;23637:39:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23678:14;23628:81;;;;;;;;;;;;;;;;;:8;:81::i;:::-;23774:48;;;;;;;;;;;;;;;;;;23809:12;23774:11;:48::i;:::-;23832:65;;;;;;;;;;;;;;-1:-1:-1;;;23832:65:94;;;23859:2;-1:-1:-1;;;;;23859:19:94;;23879:2;-1:-1:-1;;;;;23879:14:94;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23832:65;23907:78;;;;;;;;;;;-1:-1:-1;;;23907:78:94;;;;23954:29;;-1:-1:-1;;;23954:29:94;;23981:1;23954:29;;;644:25:97;23907:78:94;;;-1:-1:-1;;;;;23934:19:94;;;;;;;23954:26;;617:18:97;;23954:29:94;498:177:97;23907:78:94;23995:11;;-1:-1:-1;;;23995:11:94;;24003:2;23995:11;;;644:25:97;23995:7:94;;;;617:18:97;;23995:11:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24016:47;;;;;;;;;;;;;;;;;;24050:12;24016:11;:47::i;:::-;24074:30;;-1:-1:-1;;;24074:30:94;;24102:1;24074:30;;;644:25:97;-1:-1:-1;;;;;24074:27:94;;;;;617:18:97;;24074:30:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24171:23;24208:20;24284:22;24334:17;24365:22;24400:2;-1:-1:-1;;;;;24400:14:94;;24415:1;24400:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;24400:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24115:302;;;;;;;;;;;;;;;;;24428:52;;;;;;;;;;;;;;-1:-1:-1;;;24428:52:94;;;24464:15;24428:11;:52::i;:::-;24490:46;;;;;;;;;;;;;;-1:-1:-1;;;24490:46:94;;;24523:12;24490:11;:46::i;:::-;24546:39;;;;;;;;;;;;;;-1:-1:-1;;;24546:39:94;;;24575:9;24546:11;:39::i;:::-;24595:50;;;;;;;;;;;;;;-1:-1:-1;;;24595:50:94;;;24630:14;24595:11;:50::i;:::-;24655;;;;;;;;;;;;;;;;;;24690:14;24655:11;:50::i;:::-;21597:3115;;;;;;;;;;;;;;;;;;21554:3158::o;4376:105:38:-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:50:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24718:2468:94;24776:22;24800:14;24818:29;4445:42:9;24842:1:94;24845;24818:15;:29::i;:::-;24775:72;;;;24912:39;;;;;;;;;;;;;;-1:-1:-1;;;24912:39:94;;;:17;:39::i;:::-;25039:35;;;25072:1;25039:35;;;;;;;;;24982:3;;24961:18;;25039:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;25039:35:94;;;;;;;;;;;;;;;24995:79;;25095:42;;;;;;;;25122:1;25095:42;;;;25125:11;25095:42;;;25084:5;25090:1;25084:8;;;;;;;;:::i;:::-;;;;;;:53;;;;25201:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;25201:6:94;-1:-1:-1;;;;;25201:15:94;;25217:6;25236:5;25225:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;25201:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25253:18;:16;:18::i;:::-;25282:21;25345:3;25306:36;1850:2;25314:11;25306:36;:::i;:::-;:42;;;;:::i;:::-;25401:13;;;;25436:42;;-1:-1:-1;;;25436:42:94;;25461:1;25436:42;;;21692:25:97;25472:4:94;21733:18:97;;;21726:83;25282:66:94;;-1:-1:-1;25401:13:94;25427:67;;-1:-1:-1;;;;;25436:24:94;;;;;21665:18:97;;25436:42:94;21510:305:97;25427:67:94;25531:29;;-1:-1:-1;;;25531:29:94;;25558:1;25531:29;;;644:25:97;25522:54:94;;-1:-1:-1;;;;;25531:26:94;;;;;617:18:97;;25531:29:94;498:177:97;25522:54:94;25633:19;25680:23;25717:20;25779:17;25810:22;25860:17;25929:2;-1:-1:-1;;;;;25929:14:94;;25944:1;25929:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;25929:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25605:341;;;;;;;;;;;;;;;;;;26142:52;;;;;;;;;;;;;;-1:-1:-1;;;26142:52:94;;;26178:15;26142:11;:52::i;:::-;26204:46;;;;;;;;;;;;;;-1:-1:-1;;;26204:46:94;;;26237:12;26204:11;:46::i;:::-;26260:39;;;;;;;;;;;;;;-1:-1:-1;;;26260:39:94;;;26289:9;26260:11;:39::i;:::-;26379:40;;;;;;;;;;;;;;;;;;26409:9;26379:11;:40::i;:::-;26429:50;;;;;;;;;;;;;;-1:-1:-1;;;26429:50:94;;;26464:14;26429:11;:50::i;:::-;26690:16;;;26660:27;26690:16;;;;;;;;26794:1;26783:13;;;29914:36:97;26783:13:94;;;;;;;;;29887:18:97;;;26783:13:94;;26835:10;;;;26690:16;;26783:13;26824:35;;26847:11;26824:10;:35::i;:::-;26807:52;;26936:19;26945:6;26953:1;26936:8;:19::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;-1:-1:-1;;;;;26966:17:94;;26984:6;26992:10;27004:12;26966:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27036:35;27047:4;:10;;;27059:11;27036:10;:35::i;:::-;27027:44;;27146:33;27155:6;27163:15;27146:8;:33::i;:::-;24765:2421;;;;;;;;;;;;;;;24718:2468::o;1537:101:38:-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;11645:1898:94:-;11707:22;11731:14;11749:29;4445:42:9;11773:1:94;11776;11749:15;:29::i;:::-;11832:13;;;;11706:72;;-1:-1:-1;11706:72:94;-1:-1:-1;;;;;;11859:11:94;;;11871:24;11885:9;11871:13;:24::i;:::-;11859:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11859:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11923:2;-1:-1:-1;;;;;11923:14:94;;11938:24;11952:9;11938:13;:24::i;:::-;11923:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11923:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11992:2;-1:-1:-1;;;;;11992:12:94;;12005:26;12019:11;12005:13;:26::i;:::-;11992:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11992:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12199:15:94;;12244:84;;12087:5;12244:84;;;644:25:97;;;12087:5:94;-1:-1:-1;12167:171:94;;-1:-1:-1;;;;;;12199:15:94;;;;12063:21;;-1:-1:-1;;;12267:45:94;617:18:97;;12244:84:94;498:177:97;12167:171:94;12391:39;;;;;;;;;;;;;;-1:-1:-1;;;12391:39:94;;;:17;:39::i;:::-;12484:35;;;12517:1;12484:35;;;;;;;;;12440:41;;12484:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;12484:35:94;;;;;;;;;;;;;;;12440:79;;12540:34;;;;;;;;12567:1;12540:34;;;;12570:3;12540:34;;;12529:5;12535:1;12529:8;;;;;;;;:::i;:::-;;;;;;:45;;;;12584:17;12615:5;12604:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;12584:37;;12631:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;12631:6:94;-1:-1:-1;;;;;12631:15:94;;12647:6;12655:4;12631:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12670:18;:16;:18::i;:::-;12708:42;;-1:-1:-1;;;12708:42:94;;12733:1;12708:42;;;21692:25:97;12744:4:94;21733:18:97;;;21726:83;12699:67:94;;-1:-1:-1;;;;;12708:24:94;;;;;21665:18:97;;12708:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12752:13;12699:8;:67::i;:::-;12785:29;;-1:-1:-1;;;12785:29:94;;12812:1;12785:29;;;644:25:97;12776:54:94;;-1:-1:-1;;;;;12785:26:94;;;;;617:18:97;;12785:29:94;498:177:97;12776:54:94;12902:46;;-1:-1:-1;;;12902:46:94;;12925:2;12902:46;;;30678:25:97;12841:23:94;30719:18:97;;;30712:34;;;12867:5:94;30762:18:97;;;30755:34;;;12867:5:94;-1:-1:-1;;;;;12902:22:94;;;;;30651:18:97;;12902:46:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12882:66;;12959:39;;;;;;;;;;;;;;-1:-1:-1;;;12959:39:94;;;12988:9;12959:11;:39::i;:::-;13008:14;13025:66;13046:2;13050:1;13053:15;13070:20;13025;:66::i;:::-;13008:83;;13101:33;;;;;;;;;;;;;;-1:-1:-1;;;13101:33:94;;;13127:6;13101:11;:33::i;:::-;13145:27;13154:9;13165:6;13145:8;:27::i;:::-;13182:32;13191:15;13208:5;13182:8;:32::i;:::-;13224:30;13233:13;13248:5;13224:8;:30::i;:::-;13264:26;13273:9;13284:5;13264:8;:26::i;:::-;13397:15;;13442:84;;1850:2;13442:84;;;644:25:97;13365:171:94;;-1:-1:-1;;;;;13397:15:94;;;;-1:-1:-1;;;13465:45:94;617:18:97;;13442:84:94;498:177:97;13365:171:94;11696:1847;;;;;;;;;11645:1898::o;799:361:93:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:93;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1017:48:93;;;;;;1067:12;:10;:12::i;:::-;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:93;;;799:361::o;3069:146:50:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8309:519:94;8392:14;8410:29;4445:42:9;8434:1:94;8437;8410:15;:29::i;:::-;8389:50;;;8450:41;8494:133;;;;;;;;8533:1;8494:133;;;;8536:6;8494:133;;;;8544:12;:10;:12::i;:::-;-1:-1:-1;;;;;8494:133:94;;;;;8558:33;8494:133;;;;1901:4;8494:133;;;;4445:42:9;-1:-1:-1;;;;;8494:133:94;;;;8450:177;;8637:17;8668:8;8657:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8657:20:94;;;;;;;;;8770:1;8703:69;;;;29914:36:97;;;;8703:69:94;;;;;;;;;;29887:18:97;;;;8703:69:94;;;;;;;-1:-1:-1;;;;;8703:69:94;8726:42;8703:69;;;8687:86;;-1:-1:-1;;;8687:86:94;;8657:20;;-1:-1:-1;8687:15:94;;;;:86;;8703:69;8687:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8783:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;8783:6:94;-1:-1:-1;;;;;8783:24:94;;8808:6;8816:4;8783:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8379:449;;;8309:519::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;13549:1626:94:-;13619:22;13643:14;13661:29;4445:42:9;13685:1:94;13688;13661:15;:29::i;:::-;13744:13;;;;13618:72;;-1:-1:-1;13618:72:94;-1:-1:-1;;;;;;13771:11:94;;;13783:24;13797:9;13783:13;:24::i;:::-;13771:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13771:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13835:2;-1:-1:-1;;;;;13835:14:94;;13850:24;13864:9;13850:13;:24::i;:::-;13835:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13835:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13904:2;-1:-1:-1;;;;;13904:12:94;;13917:26;13931:11;13917:13;:26::i;:::-;13904:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13904:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14063:15:94;;14084:76;;14154:5;14084:76;;;24068:38:97;14031:139:94;;-1:-1:-1;;;;;;14063:15:94;;;;-1:-1:-1;14063:15:94;;-1:-1:-1;;;14107:45:94;24041:18:97;;14084:76:94;23911:201:97;14031:139:94;14223:39;;;;;;;;;;;;;;-1:-1:-1;;;14223:39:94;;;:17;:39::i;:::-;14316:35;;;14349:1;14316:35;;;;;;;;;14272:41;;14316:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;14316:35:94;;;;;;;;;;;;;;;14272:79;;14372:34;;;;;;;;14399:1;14372:34;;;;14402:3;14372:34;;;14361:5;14367:1;14361:8;;;;;;;;:::i;:::-;;;;;;:45;;;;14437:17;14468:5;14457:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;14437:37;;14484:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;14484:6:94;-1:-1:-1;;;;;14484:15:94;;14500:6;14508:4;14484:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14523:18;:16;:18::i;:::-;14600:42;;-1:-1:-1;;;14600:42:94;;14625:1;14600:42;;;21692:25:97;14636:4:94;21733:18:97;;;21726:83;14576:5:94;;14591:67;;-1:-1:-1;;;;;14600:24:94;;;;;21665:18:97;;14600:42:94;21510:305:97;14591:67:94;14695:29;;-1:-1:-1;;;14695:29:94;;14722:1;14695:29;;;644:25:97;14686:54:94;;-1:-1:-1;;;;;14695:26:94;;;;;617:18:97;;14695:29:94;498:177:97;14686:54:94;14783:27;;;;;14805:4;14783:27;;;644:25:97;14769:11:94;;-1:-1:-1;;;;;14783:21:94;;;;;617:18:97;;14783:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14769:41;;14820:32;;;;;;;;;;;;;;;;;;14848:3;14820:11;:32::i;:::-;14862:30;14871:13;14886:5;14862:8;:30::i;:::-;14902:20;14911:3;14916:5;14902:8;:20::i;:::-;15029:15;;15074:84;;1850:2;15074:84;;;644:25:97;14997:171:94;;-1:-1:-1;;;;;15029:15:94;;;;-1:-1:-1;;;15097:45:94;617:18:97;;15074:84:94;498:177:97;14997:171:94;13608:1567;;;;;;;13549:1626::o;3938:101:38:-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:93:-;-1:-1:-1;;;;;;;;1307:14:93;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:93;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:93;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:93;;;;;;;;;;;;-1:-1:-1;1878:16:93;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:93;;;-1:-1:-1;;;;;1904:33:93;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:93;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:93;;;2269:64;;-1:-1:-1;2317:5:93;2269:64;2351:4;-1:-1:-1;;;;;2351:33:93;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;32481:13:97;;-1:-1:-1;;;;;32477:62:97;2509:18:93;;;;32459:81:97;;;;32584:17;;32578:24;32556:20;;;32549:54;32647:17;;;32641:24;32619:20;;;;32612:54;;;;32710:17;;32704:24;32682:20;;;32675:54;2486:8:93;;32431:19:97;;2509:18:93;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:93:o;3273:1814:94:-;3393:22;;:::i;:::-;3417:14;3451:13;3468:1;3451:18;3447:81;;1901:4;3485:32;;3447:81;3542:10;3556:1;3542:15;3538:70;;1799:5;3573:24;;3538:70;4445:42:9;-1:-1:-1;;;;;3660:24:94;;3656:84;;-1:-1:-1;3723:5:94;;-1:-1:-1;;;;;3723:5:94;3656:84;3750:35;;;;;;;;;;;;;;-1:-1:-1;;;3750:35:94;;;:17;:35::i;:::-;3859:13;;3873:12;:10;:12::i;:::-;3859:27;;-1:-1:-1;;;;;;3859:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;3859:27:94;;;160:74:97;133:18;;3859:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3897:19;3942:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3942:6:94;3919:31;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:97;;;160:74;;148:2;133:18;3919:31:94;;;;;;;;;;;;;;;;;;;;;;;3897:53;;3970:101;3981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3981:6:94;3997:8;4016:18;3202:15;;-1:-1:-1;;;;;3202:15:94;;3117:107;4016:18;678:10:40;;-1:-1:-1;;;;;678:10:40;4057:12:94;3970:10;:101::i;:::-;3961:110;;317:28:45;309:37;;-1:-1:-1;;;;;4082:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:8;-1:-1:-1;;;;;4107:23:94;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4150:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4150:6:94;-1:-1:-1;;;;;4150:14:94;;4165:6;4150:22;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;4150:22:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4150:22:94;;;;;;;;;;;;:::i;:::-;4183:34;;;;;4199:4;4183:34;;;14681:74:97;14771:18;;;14764:34;;;4143:29:94;;-1:-1:-1;4183:7:94;;;;14654:18:97;;4183:34:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;-1:-1:-1;;;;;4231:22:94;:12;-1:-1:-1;;;;;4231:22:94;;4227:316;;707:6:39;;-1:-1:-1;;;;;707:6:39;4269:54:94;;-1:-1:-1;;;4269:54:94;;;;;26454:25:97;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4269:15:94;;;;;;;4292:10;;26427:18:97;;4269:54:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;;;4354:55;;;;;4391:4;4354:55;;;14681:74:97;14771:18;;;14764:34;;;-1:-1:-1;;;;;4354:28:94;;;;;14654:18:97;;4354:55:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4433:12;-1:-1:-1;;;;;4423:31:94;;4463:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4463:6:94;4423:60;;-1:-1:-1;;;;;;4423:60:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;4423:60:94;;;14681:74:97;14771:18;;;14764:34;;;14654:18;;4423:60:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;4497:35:94;;-1:-1:-1;;;4497:35:94;;;;;26454:25:97;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4497:15:94;;;;;;;26427:18:97;;4497:35:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;4562:14;;4553:70;;4578:27;4594:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;4578:27:94;4553:70;;;;;;;;;;;;;;;;;:8;:70::i;:::-;4720:35;;;;;;;;;;;;;;-1:-1:-1;;;4720:35:94;;;:17;:35::i;:::-;4766:41;4810:143;;;;;;;;4849:1;4810:143;;;;4852:6;4810:143;;;;4860:12;:10;:12::i;:::-;-1:-1:-1;;;;;4810:143:94;;;;;4874:31;4810:143;;;;4907:13;4810:143;;;;4930:12;-1:-1:-1;;;;;4810:143:94;;;;4766:187;;4963:17;4994:8;4983:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;4963:40;;5013:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;5013:6:94;-1:-1:-1;;;;;5013:24:94;;5038:6;5046:4;5013:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5062:18;:16;:18::i;:::-;3437:1650;;;;3273:1814;;;;;;:::o;2157:141:50:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14681:74:97;;;-1:-1:-1;;;14771:18:97;;;14764:34;2196:43:44;;;;;;;;;14654:18:97;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;6368:1028:94:-;6465:14;6483:29;4445:42:9;6507:1:94;6510;6483:15;:29::i;:::-;6434:78;;;6577:39;;;;;;;;;;;;;;-1:-1:-1;;;6577:39:94;;;:17;:39::i;:::-;6670:35;;;6703:1;6670:35;;;;;;;;;6626:41;;6670:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6670:35:94;;;;;;;;;;;;;;;6626:79;;6804:33;;;;;;;;6831:1;6804:33;;;;6834:2;6804:33;;;6793:5;6799:1;6793:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6879:33;;;;;;;;6906:1;6879:33;;;;6909:2;6879:33;;;6868:5;6874:1;6868:8;;;;;;;;:::i;:::-;;;;;;:44;;;;7054:17;7085:5;7074:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7074:17:94;;;;;;;;;;-1:-1:-1;7101:13:94;;7115:12;:10;:12::i;:::-;7101:27;;-1:-1:-1;;;;;;7101:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;7101:27:94;;;160:74:97;133:18;;7101:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7138:54:94;;;;;7154:37;7138:54;;;38028:98:97;7138:15:94;;-1:-1:-1;7138:15:94;;-1:-1:-1;38001:18:97;;7138:54:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7307:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7307:6:94;-1:-1:-1;;;;;7307:15:94;;7323:6;7331:4;7307:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;7347:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:113:38;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;8834:1541:94:-;8901:22;8925:14;8943:29;4445:42:9;8967:1:94;8970;8943:15;:29::i;:::-;8900:72;;;;9026:39;;;;;;;;;;;;;;-1:-1:-1;;;9026:39:94;;;:17;:39::i;:::-;9119:35;;;9152:1;9119:35;;;;;;;;;9075:41;;9119:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9119:35:94;;;;;;;;;;;;;;;9075:79;;9175:33;;;;;;;;9202:1;9175:33;;;;9205:2;9175:33;;;9164:5;9170:1;9164:8;;;;;;;;:::i;:::-;;;;;;:44;;;;9258:17;9289:5;9278:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;9258:37;;9306:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;9306:6:94;-1:-1:-1;;;;;9306:15:94;;9322:6;9330:4;9306:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:18;:16;:18::i;:::-;9374:21;9419:3;9398:18;1850:2;9398;:18;:::i;:::-;:24;;;;:::i;:::-;9475:13;;;;9510:42;;-1:-1:-1;;;9510:42:94;;9535:1;9510:42;;;21692:25:97;9546:4:94;21733:18:97;;;21726:83;9374:48:94;;-1:-1:-1;9475:13:94;9501:67;;-1:-1:-1;;;;;9510:24:94;;;;;21665:18:97;;9510:42:94;21510:305:97;9501:67:94;9605:29;;-1:-1:-1;;;9605:29:94;;9632:1;9605:29;;;644:25:97;9596:54:94;;-1:-1:-1;;;;;9605:26:94;;;;;617:18:97;;9605:29:94;498:177:97;9596:54:94;9965:35;;;9998:1;9965:35;;;;;;;;;9920:42;;9965:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9965:35:94;;;;;;;;;;;;;;;9920:80;;10022:33;;;;;;;;10049:1;10022:33;;;;10052:2;10022:33;;;10010:6;10017:1;10010:9;;;;;;;;:::i;:::-;;;;;;:45;;;;10083:6;10072:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;10065:25;;10151:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;10151:6:94;-1:-1:-1;;;;;10151:15:94;;10167:6;10175:4;10151:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10227:42:94;;-1:-1:-1;;;10227:42:94;;10252:1;10227:42;;;21692:25:97;10263:4:94;21733:18:97;;;21726:83;10218:67:94;;-1:-1:-1;;;;;;10227:24:94;;;-1:-1:-1;10227:24:94;;21665:18:97;;10227:42:94;21510:305:97;10218:67:94;10323:29;;-1:-1:-1;;;10323:29:94;;10350:1;10323:29;;;644:25:97;10314:54:94;;-1:-1:-1;;;;;10323:26:94;;;;;617:18:97;;10323:29:94;498:177:97;5093:254:94;5166:7;5189:16;-1:-1:-1;;;;;5189:16:94;;;5185:156;;-1:-1:-1;;;;;;5228:23:94;;;5221:30;;5185:156;5289:41;;;;;-1:-1:-1;;;;;178:55:97;;;5289:41:94;;;160:74:97;5289:24:94;;;;;133:18:97;;5289:41:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5282:48;;5185:156;5093:254;;;;:::o;4571:105:38:-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;7402:901:94:-;7501:22;7525:14;7543:29;4445:42:9;7567:1:94;7570;7543:15;:29::i;:::-;7500:72;;;;7637:39;;;;;;;;;;;;;;-1:-1:-1;;;7637:39:94;;;:17;:39::i;:::-;7730:35;;;7763:1;7730:35;;;;;;;;;7686:41;;7730:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;7730:35:94;;;;;;;;;;;;;;;7686:79;;7786:35;;;;;;;;7813:1;7786:35;;;;-1:-1:-1;;7786:35:94;;;7775:5;7781:1;7775:8;;;;;;;;:::i;:::-;;;;;;:46;;;;7831:17;7862:5;7851:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7851:17:94;;;;;;;;;309:37:45;7895:75:94;;;38371:36:97;-1:-1:-1;;38423:18:97;;;38416:49;;;38481:18;;;;38474:49;;;;7895:75:94;;;;;;;;;;38344:18:97;;;;7895:75:94;;;;;;;-1:-1:-1;;;;;7895:75:94;7918:36;7895:75;;;7879:92;;-1:-1:-1;;;7879:92:94;;7851:17;;-1:-1:-1;7879:15:94;;;;:92;;7895:75;7879:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7981:6:94;-1:-1:-1;;;;;7981:15:94;;7997:6;8005:4;7981:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8020:18;:16;:18::i;:::-;8092:13;;;;8128:42;;-1:-1:-1;;;8128:42:94;;8153:1;8128:42;;;21692:25:97;8164:4:94;21733:18:97;;;21726:83;8119:75:94;;-1:-1:-1;;;;;8128:24:94;;;;;21665:18:97;;8128:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8172:1;8119:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;8232:29;;-1:-1:-1;;;8232:29:94;;8259:1;8232:29;;;644:25:97;8223:73:94;;-1:-1:-1;;;;;8232:26:94;;;;;617:18:97;;8232:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8263:1;8223:73;;;;;;;;;;;;;;;;;:8;:73::i;546:124:38:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;10381:1258:94:-;10441:22;10465:14;10483:29;4445:42:9;10507:1:94;10510;10483:15;:29::i;:::-;10566:13;;;;10440:72;;-1:-1:-1;10440:72:94;-1:-1:-1;;;;;;10593:11:94;;;10605:24;10619:9;10605:13;:24::i;:::-;10593:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10593:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10657:2;-1:-1:-1;;;;;10657:14:94;;10672:24;10686:9;10672:13;:24::i;:::-;10657:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10657:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:2;-1:-1:-1;;;;;10726:12:94;;10739:26;10753:11;10739:13;:26::i;:::-;10726:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10726:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:39;;;;;;;;;;;;;;-1:-1:-1;;;10841:39:94;;;:17;:39::i;:::-;10934:35;;;10967:1;10934:35;;;;;;;;;10890:41;;10934:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;10934:35:94;;;;;;;;;;;;;;;10890:79;;10990:33;;;;;;;;11017:1;10990:33;;;;11020:2;10990:33;;;10979:5;10985:1;10979:8;;;;;;;;:::i;:::-;;;;;;:44;;;;11033:17;11064:5;11053:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;11033:37;;11080:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;11080:6:94;-1:-1:-1;;;;;11080:15:94;;11096:6;11104:4;11080:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11119:18;:16;:18::i;:::-;11148:21;11193:3;11172:18;1850:2;11172;:18;:::i;:::-;:24;;;;:::i;:::-;11215:42;;-1:-1:-1;;;11215:42:94;;11240:1;11215:42;;;21692:25:97;11251:4:94;21733:18:97;;;21726:83;11148:48:94;;-1:-1:-1;11206:67:94;;-1:-1:-1;;;;;11215:24:94;;;;;21665:18:97;;11215:42:94;21510:305:97;11206:67:94;11292:29;;-1:-1:-1;;;11292:29:94;;11319:1;11292:29;;;644:25:97;11283:54:94;;-1:-1:-1;;;;;11292:26:94;;;;;617:18:97;;11292:29:94;498:177:97;11283:54:94;11368:44;;-1:-1:-1;;;11368:44:94;;11391:2;11368:44;;;30678:25:97;11348:17:94;30719:18:97;;;30712:34;;;30762:18;;;30755:34;;;11348:17:94;-1:-1:-1;;;;;11368:22:94;;;;;30651:18:97;;11368:44:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11348:64;;11422:39;;;;;;;;;;;;;;-1:-1:-1;;;11422:39:94;;;11451:9;11422:11;:39::i;:::-;11471:14;11488:64;11509:2;11513:1;11516:13;11531:20;11488;:64::i;:::-;11471:81;;11562:33;;;;;;;;;;;;;;-1:-1:-1;;;11562:33:94;;;11588:6;11562:11;:33::i;:::-;11605:27;11614:9;11625:6;11605:8;:27::i;:::-;10430:1209;;;;;;;;10381:1258::o;2304:142:50:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:50;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:93:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:93;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:93;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:93:o;27192:2606:94:-;27256:22;27280:14;27298:33;27322:1;27326;27329;27298:15;:33::i;:::-;27255:76;;;;27342:35;;;;;;;;;;;;;;-1:-1:-1;;;27342:35:94;;;:17;:35::i;:::-;27444:98;;;;;;;;27470:1;27444:98;;;;;;;;;-1:-1:-1;27444:98:94;;;;;;;;;;;;;;;;;;;;;;;;27572:20;;27444:98;;-1:-1:-1;27572:20:94;;27444:98;;27572:20;;:::i;:::-;;;;;;;;;;;;;27552:40;;27602:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;27602:6:94;-1:-1:-1;;;;;27602:24:94;;27627:6;27635:4;27602:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27651:18;:16;:18::i;:::-;27733:39;;;;;;;;;;;;;;-1:-1:-1;;;27733:39:94;;;:17;:39::i;:::-;27893:35;;;27926:1;27893:35;;;;;;;;;27803:3;;27838:1;;27782:18;;27893:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;27893:35:94;;;;;;;;;;;;;;;27849:79;;27949:52;;;;;;;;27976:11;27949:52;;;;27989:11;27949:52;;;27938:5;27944:1;27938:8;;;;;;;;:::i;:::-;;;;;;:63;;;;28065:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;28065:6:94;-1:-1:-1;;;;;28065:15:94;;28081:6;28100:5;28089:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;28065:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28117:18;:16;:18::i;:::-;28146:21;28209:3;28170:36;1850:2;28178:11;28170:36;:::i;:::-;:42;;;;:::i;:::-;28265:13;;;;28300:52;;-1:-1:-1;;;28300:52:94;;;;;21692:25:97;;;28346:4:94;21733:18:97;;;21726:83;28146:66:94;;-1:-1:-1;28265:13:94;28291:77;;-1:-1:-1;;;;;28300:24:94;;;;;21665:18:97;;28300:52:94;21510:305:97;28291:77:94;28405:39;;-1:-1:-1;;;28405:39:94;;;;;644:25:97;;;28396:64:94;;-1:-1:-1;;;;;28405:26:94;;;;;617:18:97;;28405:39:94;498:177:97;28396:64:94;28545:23;28582:20;28644:17;28675:22;28725:17;28794:2;-1:-1:-1;;;;;28794:14:94;;28809:1;28794:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;28794:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28489:322;;;;;;;;;;;;;;;;;29007:52;;;;;;;;;;;;;;-1:-1:-1;;;29007:52:94;;;29043:15;29007:11;:52::i;:::-;29069:46;;;;;;;;;;;;;;-1:-1:-1;;;29069:46:94;;;29102:12;29069:11;:46::i;:::-;29125:39;;;;;;;;;;;;;;-1:-1:-1;;;29125:39:94;;;29154:9;29125:11;:39::i;:::-;29244:40;;;;;;;;;;;;;;;;;;29274:9;29244:11;:40::i;:::-;29294:50;;;;;;;;;;;;;;-1:-1:-1;;;29294:50:94;;;29329:14;29294:11;:50::i;:::-;29607:25;29646:11;29635:23;;;;;;644:25:97;;632:2;617:18;;498:177;29635:23:94;;;;;;;;;;;;;29607:51;;29669:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;29669:6:94;-1:-1:-1;;;;;29669:17:94;;29687:6;29709:1;29695:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29695:16:94;;29713:12;29669:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27245:2553;;;;;;;;;;;;;;;27192:2606::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:48;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:48;20439:125;-1:-1:-1;;20439:125:48:o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1192:22:40;;;160:74:97;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:40;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:97;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1482:26:40;;;160:74:97;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:97;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1765:26:40;;;160:74:97;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:97;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:97;;;342:27:39;;;160:74:97;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;42811:15:97;;;409:201:39;;;42793:34:97;42863:15;;;42843:18;;;42836:43;42915:15;;;42895:18;;;42888:43;554:4:39;42947:18:97;;;42940:34;-1:-1:-1;42990:19:97;;;42983:35;42704:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1094:785:96;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:97;;;632:2;617:18;;498:177;1169:24:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:96;-1:-1:-1;;;;;1152:41:96;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:96;;;;;43241:74:97;;;;43331:18;;;43324:30;43390:2;43370:18;;;43363:30;43429:16;43409:18;;;43402:44;1203:8:96;;;;43463:19:97;;1203:42:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:96;;;;;-1:-1:-1;;;;;1268:11:96;;-1:-1:-1;1256:589:96;;-1:-1:-1;1256:589:96;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:96;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:96;;-1:-1:-1;;;;;;1384:52:96;;;;;;;-1:-1:-1;;;;;17430:55:97;;;1384:52:96;;;17412:74:97;17522:2;17502:18;;;17495:30;1434:1:96;17541:18:97;;;17534:29;;;17615:18;;;17608:34;17580:19;;1384:52:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:96;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:96;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:96;;1595:11;;;;-1:-1:-1;;;;;1595:11:96;1578:45;;;43705:74:97;43795:18;;;43788:30;43854:2;43834:18;;;43827:30;43893:13;43873:18;;;43866:41;1578:8:96;;;;43924:19:97;;1578:45:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:96;;-1:-1:-1;1677:1:96;;-1:-1:-1;1663:16:96;;-1:-1:-1;1663:16:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:96;-1:-1:-1;1713:14:96;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:96;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:96;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:96;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:96;;;;;-1:-1:-1;;;;;1861:11:96;;1094:785::o;1107:186:46:-;1196:1;1191:6;;:1;:6;;;1187:100;;1218:30;1244:3;1218:30;;;;;;:::i;:::-;;;;;;;;1262:14;1271:1;1274;1262:8;:14::i;357:192:95:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:95;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;610:335;555:396::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;47965:2:97;47947:21;;;48004:2;47984:18;;;47977:30;48043:34;48038:2;48023:18;;48016:62;48114:4;48109:2;48094:18;;48087:32;48151:3;48136:19;;47763:398;5293:41:44;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2635:114:93:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;6548:139:58:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:58;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:58;;;;;6612:15;:68::i;5476:178:44:-;5557:1;5552;:6;5548:100;;5579:30;5605:3;5579:30;;;;;;:::i;:::-;;;;;;;;5623:14;5632:1;5635;5623:8;:14::i;4377:185::-;4464:1;4459;:6;4455:101;;4486:31;4513:3;4486:31;;;;;;:::i;:::-;;;;;;;;4531:14;4540:1;4543;4531:8;:14::i;3030:447:93:-;3091:15;-1:-1:-1;;;3126:2:93;:12;3118:53;;;;-1:-1:-1;;;3118:53:93;;49402:2:97;3118:53:93;;;49384:21:97;49441:2;49421:18;;;49414:30;49480;49460:18;;;49453:58;49528:18;;3118:53:93;;;;;;;;;-1:-1:-1;;;;3193:2:93;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:93;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:93;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:48:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:48;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:97;;;20293:33:48;-1:-1:-1;20344:7:48;;;;617:18:97;;20344:19:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:48;;20337:26;;-1:-1:-1;20373:8:48;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;558:39:40;;;160:74:97;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6994:145:58;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:58;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:58;;;;;7061:15;:71::i;789:312:46:-;859:1;854:6;;:1;:6;;;850:245;;881:41;;;;;50743:2:97;50725:21;;;50782:2;50762:18;;;50755:30;50821:34;50816:2;50801:18;;50794:62;50892:4;50887:2;50872:18;;50865:32;50929:3;50914:19;;50541:398;881:41:46;;;;;;;;941:52;972:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:46;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:46;;;;941:52;;;;;;:::i;:::-;;;;;;;;1012;1043:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:46;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:46;;;;1012:52;;;;;;:::i;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;52036:74:97;;;-1:-1:-1;;;52126:18:97;;;52119:34;;;;2712:4:44;52169:18:97;;;52162:34;2489:11:44;;1671:64;2586:43;;52009:18:97;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;181:376:58:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;4095:277:44:-;4163:1;4158;:6;4154:212;;4185:44;;;;;52409:2:97;52391:21;;;52448:2;52428:18;;;52421:30;52487:34;52482:2;52467:18;;52460:62;52558:7;52553:2;52538:18;;52531:35;52598:3;52583:19;;52207:401;4185:44:44;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;2755:269:93:-;2816:15;-1:-1:-1;;;2851:2:93;:13;;2843:66;;;;-1:-1:-1;;;2843:66:93;;53521:2:97;2843:66:93;;;53503:21:97;53560:2;53540:18;;;53533:30;53599:34;53579:18;;;53572:62;53670:10;53650:18;;;53643:38;53698:19;;2843:66:93;53319:404:97;2843:66:93;-1:-1:-1;;;2927:2:93;:12;2919:53;;;;-1:-1:-1;;;2919:53:93;;53930:2:97;2919:53:93;;;53912:21:97;53969:2;53949:18;;;53942:30;54008;53988:18;;;53981:58;54056:18;;2919:53:93;53728:352:97;2919:53:93;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:93:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:97:-;-1:-1:-1;;;;;941:5:97;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:97:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:97;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:97;;1273:484;-1:-1:-1;;;;;1273:484:97:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:97;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:97;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:97:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:97;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:97;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:97;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:97;;;;4211:6;-1:-1:-1;;4240:15:97;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:97;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:97:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:97:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:97;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:97;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:97;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:97;;;;6520:5;-1:-1:-1;;;6548:15:97;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:97;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:97:o;6639:184::-;-1:-1:-1;;;6688:1:97;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:97;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:97:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:97;7514:15;-1:-1:-1;;7510:29:97;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:97;7873:18;;7860:32;;-1:-1:-1;7943:2:97;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:97;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:97;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:97;;8684:803;-1:-1:-1;;;;;;;8684:803:97:o;9762:844::-;9888:6;9896;9904;9912;9920;9973:3;9961:9;9952:7;9948:23;9944:33;9941:53;;;9990:1;9987;9980:12;9941:53;10029:9;10016:23;10048:31;10073:5;10048:31;:::i;:::-;10098:5;-1:-1:-1;10155:2:97;10140:18;;10127:32;10168:33;10127:32;10168:33;:::i;:::-;10220:7;-1:-1:-1;10279:2:97;10264:18;;10251:32;10292:33;10251:32;10292:33;:::i;:::-;10344:7;-1:-1:-1;10403:2:97;10388:18;;10375:32;10416:33;10375:32;10416:33;:::i;:::-;10468:7;-1:-1:-1;10527:3:97;10512:19;;10499:33;10541;10499;10541;:::i;:::-;10593:7;10583:17;;;9762:844;;;;;;;;:::o;10611:383::-;10688:6;10696;10704;10757:2;10745:9;10736:7;10732:23;10728:32;10725:52;;;10773:1;10770;10763:12;10725:52;10812:9;10799:23;10831:31;10856:5;10831:31;:::i;:::-;10881:5;10933:2;10918:18;;10905:32;;-1:-1:-1;10984:2:97;10969:18;;;10956:32;;10611:383;-1:-1:-1;;;10611:383:97:o;10999:252::-;11086:5;11080:12;11075:3;11068:25;11050:3;11139:4;11132:5;11128:16;11122:23;11177:4;11170;11165:3;11161:14;11154:28;11198:47;11239:4;11234:3;11230:14;11216:12;11198:47;:::i;11256:873::-;11457:2;11446:9;11439:21;11502:6;11496:13;11491:2;11480:9;11476:18;11469:41;11420:4;11557;11549:6;11545:17;11539:24;-1:-1:-1;;;;;11678:2:97;11664:12;11660:21;11655:2;11644:9;11640:18;11633:49;11747:2;11741;11733:6;11729:15;11723:22;11719:31;11713:3;11702:9;11698:19;11691:60;;;11800:2;11792:6;11788:15;11782:22;11841:4;11835:3;11824:9;11820:19;11813:33;11869:63;11927:3;11916:9;11912:19;11896:14;11869:63;:::i;:::-;11988:3;11976:16;;11970:23;11963:4;11948:20;;11941:53;12049:3;12037:16;;;12031:23;12025:3;12010:19;;12003:52;-1:-1:-1;;12109:4:97;12094:20;12087:36;11855:77;11256:873::o;12326:388::-;12394:6;12402;12455:2;12443:9;12434:7;12430:23;12426:32;12423:52;;;12471:1;12468;12461:12;12423:52;12510:9;12497:23;12529:31;12554:5;12529:31;:::i;:::-;12579:5;-1:-1:-1;12636:2:97;12621:18;;12608:32;12649:33;12608:32;12649:33;:::i;:::-;12701:7;12691:17;;;12326:388;;;;;:::o;13210:385::-;13296:6;13304;13312;13320;13373:3;13361:9;13352:7;13348:23;13344:33;13341:53;;;13390:1;13387;13380:12;13341:53;-1:-1:-1;;13413:23:97;;;13483:2;13468:18;;13455:32;;-1:-1:-1;13534:2:97;13519:18;;13506:32;;13585:2;13570:18;13557:32;;-1:-1:-1;13210:385:97;-1:-1:-1;13210:385:97:o;14039:184::-;-1:-1:-1;;;14088:1:97;14081:88;14188:4;14185:1;14178:15;14212:4;14209:1;14202:15;14228:274;14268:1;14294;14284:189;;-1:-1:-1;;;14326:1:97;14319:88;14430:4;14427:1;14420:15;14458:4;14455:1;14448:15;14284:189;-1:-1:-1;14487:9:97;;14228:274::o;14809:245::-;14876:6;14929:2;14917:9;14908:7;14904:23;14900:32;14897:52;;;14945:1;14942;14935:12;14897:52;14977:9;14971:16;14996:28;15018:5;14996:28;:::i;15059:437::-;15138:1;15134:12;;;;15181;;;15202:61;;15256:4;15248:6;15244:17;15234:27;;15202:61;15309:2;15301:6;15298:14;15278:18;15275:38;15272:218;;-1:-1:-1;;;15343:1:97;15336:88;15447:4;15444:1;15437:15;15475:4;15472:1;15465:15;15272:218;;15059:437;;;:::o;15501:848::-;15700:2;15689:9;15682:21;15663:4;-1:-1:-1;;;;;15819:2:97;15810:6;15804:13;15800:22;15795:2;15784:9;15780:18;15773:50;15887:2;15881;15873:6;15869:15;15863:22;15859:31;15854:2;15843:9;15839:18;15832:59;15945:2;15937:6;15933:15;15927:22;15922:2;15911:9;15907:18;15900:50;16005:2;15997:6;15993:15;15987:22;15981:3;15970:9;15966:19;15959:51;16065:3;16057:6;16053:16;16047:23;16041:3;16030:9;16026:19;16019:52;16118:3;16110:6;16106:16;16100:23;16160:4;16154:3;16143:9;16139:19;16132:33;16188:61;16244:3;16233:9;16229:19;16215:12;16188:61;:::i;:::-;16174:75;;16316:2;16309:3;16301:6;16297:16;16291:23;16287:32;16280:4;16269:9;16265:20;16258:62;16337:6;16329:14;;;;15501:848;;;;:::o;16354:138::-;16433:13;;16455:31;16433:13;16455:31;:::i;16497:251::-;16567:6;16620:2;16608:9;16599:7;16595:23;16591:32;16588:52;;;16636:1;16633;16626:12;16588:52;16668:9;16662:16;16687:31;16712:5;16687:31;:::i;16753:184::-;16823:6;16876:2;16864:9;16855:7;16851:23;16847:32;16844:52;;;16892:1;16889;16882:12;16844:52;-1:-1:-1;16915:16:97;;16753:184;-1:-1:-1;16753:184:97:o;16942:218::-;17089:2;17078:9;17071:21;17052:4;17109:45;17150:2;17139:9;17135:18;17127:6;17109:45;:::i;18859:184::-;-1:-1:-1;;;18908:1:97;18901:88;19008:4;19005:1;18998:15;19032:4;19029:1;19022:15;19048:1065;19490:4;19519:3;19549:2;19538:9;19531:21;19575:56;19627:2;19616:9;19612:18;19604:6;19575:56;:::i;:::-;19662:2;19647:18;;;19640:34;;;;-1:-1:-1;;;;;19771:15:97;;;19766:2;19751:18;;19744:43;19823:22;;;19818:2;19803:18;;19796:50;-1:-1:-1;19855:17:97;;19941:15;;;19935:3;19920:19;;19913:44;-1:-1:-1;;19994:15:97;;;19988:3;19973:19;;19966:44;20041:3;20026:19;;20019:35;;;;20091:15;;;20085:3;20070:19;;;20063:44;;;;19889:15;;19048:1065;-1:-1:-1;19048:1065:97:o;20118:806::-;20357:2;20409:21;;;20479:13;;20382:18;;;20501:22;;;20328:4;;20357:2;20542;;20560:18;;;;20601:15;;;20328:4;20644:254;20658:6;20655:1;20652:13;20644:254;;;20717:13;;20755:9;;20743:22;;20805:11;;20799:18;20785:12;;;20778:40;20838:12;;;;20873:15;;;;20680:1;20673:9;20644:254;;;-1:-1:-1;20915:3:97;;20118:806;-1:-1:-1;;;;;;;20118:806:97:o;22010:168::-;22083:9;;;22114;;22131:15;;;22125:22;;22111:37;22101:71;;22152:18;;:::i;22183:125::-;22248:9;;;22269:10;;;22266:36;;;22282:18;;:::i;22505:159::-;22596:13;;22638:1;22628:12;;22618:40;;22654:1;22651;22644:12;22669:1237;22876:6;22884;22892;22900;22908;22916;22924;22932;22940;22948;22956:7;22965;23019:3;23007:9;22998:7;22994:23;22990:33;22987:53;;;23036:1;23033;23026:12;22987:53;23068:9;23062:16;23087:31;23112:5;23087:31;:::i;:::-;23187:2;23172:18;;23166:25;23137:5;;-1:-1:-1;23200:33:97;23166:25;23200:33;:::i;:::-;23304:2;23289:18;;23283:25;23252:7;;-1:-1:-1;23317:33:97;23283:25;23317:33;:::i;:::-;23369:7;23359:17;;;23416:2;23405:9;23401:18;23395:25;23385:35;;23460:3;23449:9;23445:19;23439:26;23429:36;;23510:3;23499:9;23495:19;23489:26;23546:1;23537:7;23534:14;23524:42;;23562:1;23559;23552:12;23524:42;23585:7;-1:-1:-1;23611:62:97;23668:3;23653:19;;23611:62;:::i;:::-;23601:72;;23713:3;23702:9;23698:19;23692:26;23682:36;;23758:3;23747:9;23743:19;23737:26;23727:36;;23803:3;23792:9;23788:19;23782:26;23772:36;;23849:3;23838:9;23834:19;23828:26;23817:37;;23895:3;23884:9;23880:19;23874:26;23863:37;;22669:1237;;;;;;;;;;;;;;:::o;24117:184::-;-1:-1:-1;;;24166:1:97;24159:88;24266:4;24263:1;24256:15;24290:4;24287:1;24280:15;24306:140;24387:1;24380:5;24377:12;24367:46;;24393:18;;:::i;:::-;24422;;24306:140::o;24451:1037::-;24858:4;24887:3;-1:-1:-1;;;;;24990:2:97;24982:6;24978:15;24967:9;24960:34;25030:6;25025:2;25014:9;25010:18;25003:34;25073:2;25068;25057:9;25053:18;25046:30;25093:45;25134:2;25123:9;25119:18;25111:6;25093:45;:::i;:::-;25085:53;;25147;25196:2;25185:9;25181:18;25173:6;25147:53;:::i;:::-;25231:3;25216:19;;25209:35;;;;-1:-1:-1;25275:3:97;25260:19;;25253:35;;;;25319:3;25304:19;;25297:35;;;;25369:15;;;25363:3;25348:19;;25341:44;25422:15;;;25416:3;25401:19;;25394:44;25469:3;25454:19;25447:35;;;;24451:1037;;-1:-1:-1;;;;24451:1037:97:o;25493:320::-;25568:5;25597:52;25613:35;25641:6;25613:35;:::i;25597:52::-;25588:61;;25672:6;25665:5;25658:21;25712:3;25703:6;25698:3;25694:16;25691:25;25688:45;;;25729:1;25726;25719:12;25688:45;25742:65;25800:6;25793:4;25786:5;25782:16;25777:3;25742:65;:::i;25818:457::-;25897:6;25950:2;25938:9;25929:7;25925:23;25921:32;25918:52;;;25966:1;25963;25956:12;25918:52;25999:9;25993:16;26032:18;26024:6;26021:30;26018:50;;;26064:1;26061;26054:12;26018:50;26087:22;;26140:4;26132:13;;26128:27;-1:-1:-1;26118:55:97;;26169:1;26166;26159:12;26118:55;26192:77;26261:7;26256:2;26250:9;26245:2;26241;26237:11;26192:77;:::i;26533:395::-;26619:6;26627;26635;26688:2;26676:9;26667:7;26663:23;26659:32;26656:52;;;26704:1;26701;26694:12;26656:52;26736:9;26730:16;26786:4;26779:5;26775:16;26768:5;26765:27;26755:55;;26806:1;26803;26796:12;26755:55;26874:2;26859:18;;26853:25;26918:2;26903:18;;;26897:25;26829:5;;26853:25;;-1:-1:-1;26897:25:97;26533:395;-1:-1:-1;;;26533:395:97:o;27329:1135::-;27762:4;27791:3;-1:-1:-1;;;;;27894:2:97;27886:6;27882:15;27871:9;27864:34;27934:6;27929:2;27918:9;27914:18;27907:34;27977:2;27972;27961:9;27957:18;27950:30;28003:45;28044:2;28033:9;28029:18;28021:6;28003:45;:::i;:::-;27989:59;;28057:53;28106:2;28095:9;28091:18;28083:6;28057:53;:::i;:::-;28147:6;28141:3;28130:9;28126:19;28119:35;28191:6;28185:3;28174:9;28170:19;28163:35;28235:6;28229:3;28218:9;28214:19;28207:35;28291:2;28283:6;28279:15;28273:3;28262:9;28258:19;28251:44;28344:2;28336:6;28332:15;28326:3;28315:9;28311:19;28304:44;;28397:9;28389:6;28385:22;28379:3;28368:9;28364:19;28357:51;28425:33;28451:6;28443;28425:33;:::i;:::-;28417:41;27329:1135;-1:-1:-1;;;;;;;;;;;;;27329:1135:97:o;28469:795::-;28627:4;28669:3;28658:9;28654:19;28646:27;;28706:6;28700:13;28689:9;28682:32;28770:4;28762:6;28758:17;28752:24;28745:4;28734:9;28730:20;28723:54;28824:4;28816:6;28812:17;28806:24;-1:-1:-1;;;;;28947:2:97;28933:12;28929:21;28922:4;28911:9;28907:20;28900:51;29000:4;28992:6;28988:17;28982:24;28960:46;;29044:1;29028:14;29025:21;29015:55;;29050:18;;:::i;:::-;29108:14;29101:4;29090:9;29086:20;29079:44;29179:4;29171:6;29167:17;29161:24;29154:4;29143:9;29139:20;29132:54;29254:2;29246:4;29238:6;29234:17;29228:24;29224:33;29217:4;29206:9;29202:20;29195:63;;;28469:795;;;;:::o;29961:493::-;30214:6;30203:9;30196:25;30257:2;30252;30241:9;30237:18;30230:30;30177:4;30283:56;30335:2;30324:9;30320:18;30312:6;30283:56;:::i;:::-;30387:9;30379:6;30375:22;30370:2;30359:9;30355:18;30348:50;30415:33;30441:6;30433;30415:33;:::i;:::-;30407:41;29961:493;-1:-1:-1;;;;;;29961:493:97:o;30968:887::-;31392:6;31381:9;31374:25;31435:3;31430:2;31419:9;31415:18;31408:31;31355:4;31462:50;31507:3;31496:9;31492:19;30877:2;30865:15;;30912:16;30905:4;30896:14;;30889:40;30954:2;30945:12;;30800:163;31462:50;31560:9;31552:6;31548:22;31543:2;31532:9;31528:18;31521:50;31594:42;31629:6;31621;31594:42;:::i;:::-;31580:56;;-1:-1:-1;;;;;31676:6:97;31672:55;31667:2;31656:9;31652:18;31645:83;31777:9;31769:6;31765:22;31759:3;31748:9;31744:19;31737:51;31805:44;31842:6;31834;31805:44;:::i;:::-;31797:52;30968:887;-1:-1:-1;;;;;;;30968:887:97:o;32866:1834::-;33288:6;33277:9;33270:25;33251:4;33314:2;-1:-1:-1;;;;;33425:2:97;33417:6;33413:15;33408:2;33397:9;33393:18;33386:43;33465:3;33460:2;33449:9;33445:18;33438:31;33492:46;33533:3;33522:9;33518:19;33510:6;33492:46;:::i;:::-;33557:2;33607;33599:6;33595:15;33590:2;33579:9;33575:18;33568:43;33648:6;33642:3;33631:9;33627:19;33620:35;33704:9;33696:6;33692:22;33686:3;33675:9;33671:19;33664:51;33745:6;33739:13;33731:6;33724:29;33772:4;33762:14;;33817:2;33809:6;33805:15;33853:2;33848;33840:6;33836:15;33829:27;33876:1;33909:12;33903:19;33945:36;33971:9;33945:36;:::i;:::-;34014:6;34009:2;34001:6;33997:15;33990:31;34052:2;34041:9;34037:18;34069:1;34064:152;;;;34230:1;34225:354;;;;34030:549;;34064:152;-1:-1:-1;;34109:24:97;;34092:15;;;34085:49;34184:14;;34177:22;34174:1;34170:30;34158:43;;34154:52;;;-1:-1:-1;34064:152:97;;34225:354;34256:12;34253:1;34246:23;34310:2;34307:1;34297:16;34335:1;34349:177;34363:6;34360:1;34357:13;34349:177;;;34453:14;;34432;;;34428:23;;34421:47;34496:16;;;;34378:10;;34349:177;;;34550:14;;34546:23;;;-1:-1:-1;;34030:549:97;;;;34625:9;34620:3;34616:19;34610:3;34599:9;34595:19;34588:48;34653:41;34690:3;34682:6;34653:41;:::i;:::-;34645:49;32866:1834;-1:-1:-1;;;;;;;;;;;;;;;32866:1834:97:o;34705:236::-;34759:5;34812:3;34805:4;34797:6;34793:17;34789:27;34779:55;;34830:1;34827;34820:12;34779:55;34852:83;34931:3;34922:6;34916:13;34909:4;34901:6;34897:17;34852:83;:::i;34946:618::-;35012:5;35060:4;35048:9;35043:3;35039:19;35035:30;35032:50;;;35078:1;35075;35068:12;35032:50;35111:4;35105:11;35155:4;35147:6;35143:17;35179:18;35247:6;35235:10;35232:22;35227:2;35215:10;35212:18;35209:46;35206:72;;;35258:18;;:::i;:::-;35300:10;35294:4;35287:24;35329:6;35320:15;;35365:9;35359:16;35351:6;35344:32;35420:2;35409:9;35405:18;35399:25;35385:39;;35447:2;35439:6;35436:14;35433:34;;;35463:1;35460;35453:12;35433:34;;35500:57;35553:3;35544:6;35533:9;35529:22;35500:57;:::i;:::-;35495:2;35487:6;35483:15;35476:82;;;34946:618;;;;:::o;35569:1028::-;35661:6;35714:2;35702:9;35693:7;35689:23;35685:32;35682:52;;;35730:1;35727;35720:12;35682:52;35763:9;35757:16;35792:18;35833:2;35825:6;35822:14;35819:34;;;35849:1;35846;35839:12;35819:34;35872:22;;;;35928:4;35910:16;;;35906:27;35903:47;;;35946:1;35943;35936:12;35903:47;35972:22;;:::i;:::-;36023:2;36017:9;36010:5;36003:24;36065:2;36061;36057:11;36051:18;36078:33;36103:7;36078:33;:::i;:::-;36138:2;36127:14;;36120:31;36189:2;36181:11;;36175:18;36202:33;36175:18;36202:33;:::i;:::-;36262:2;36251:14;;36244:31;36314:2;36306:11;;36300:18;36330:16;;;36327:36;;;36359:1;36356;36349:12;36327:36;36395:65;36452:7;36441:8;36437:2;36433:17;36395:65;:::i;:::-;36390:2;36383:5;36379:14;36372:89;;36508:3;36504:2;36500:12;36494:19;36488:3;36481:5;36477:15;36470:44;36561:3;36557:2;36553:12;36547:19;36541:3;36534:5;36530:15;36523:44;36586:5;36576:15;;;;;35569:1028;;;;:::o;37157:430::-;-1:-1:-1;;;;;;37346:6:97;37342:79;37337:3;37330:92;37312:3;37451:6;37445:13;37467:74;37534:6;37530:1;37525:3;37521:11;37514:4;37506:6;37502:17;37467:74;:::i;:::-;37561:16;;;;37579:1;37557:24;;37157:430;-1:-1:-1;;;37157:430:97:o;37592:287::-;37721:3;37759:6;37753:13;37775:66;37834:6;37829:3;37822:4;37814:6;37810:17;37775:66;:::i;:::-;37857:16;;;;;37592:287;-1:-1:-1;;37592:287:97:o;38534:128::-;38601:9;;;38622:11;;;38619:37;;;38636:18;;:::i;39559:1059::-;39654:6;39707:2;39695:9;39686:7;39682:23;39678:32;39675:52;;;39723:1;39720;39713:12;39675:52;39756:9;39750:16;39785:18;39826:2;39818:6;39815:14;39812:34;;;39842:1;39839;39832:12;39812:34;39865:22;;;;39921:4;39903:16;;;39899:27;39896:47;;;39939:1;39936;39929:12;39896:47;39965:22;;:::i;:::-;40016:2;40010:9;40003:5;39996:24;40066:2;40062;40058:11;40052:18;40047:2;40040:5;40036:14;40029:42;40110:2;40106;40102:11;40096:18;40139:2;40129:8;40126:16;40123:36;;;40155:1;40152;40145:12;40123:36;40191:56;40239:7;40228:8;40224:2;40220:17;40191:56;:::i;:::-;40186:2;40179:5;40175:14;40168:80;;40287:2;40283;40279:11;40273:18;40316:2;40306:8;40303:16;40300:36;;;40332:1;40329;40322:12;40300:36;40368:65;40425:7;40414:8;40410:2;40406:17;40368:65;:::i;:::-;40363:2;40356:5;40352:14;40345:89;;40467:43;40505:3;40501:2;40497:12;40467:43;:::i;:::-;40461:3;40454:5;40450:15;40443:68;40544:43;40582:3;40578:2;40574:12;40544:43;:::i;:::-;40538:3;40527:15;;40520:68;40531:5;39559:1059;-1:-1:-1;;;;;39559:1059:97:o;40623:896::-;41047:6;41036:9;41029:25;41090:3;41085:2;41074:9;41070:18;41063:31;41131:1;41125:3;41114:9;41110:19;41103:30;41170:11;41164:3;41153:9;41149:19;41142:40;41218:3;41213:2;41202:9;41198:18;41191:31;41010:4;41245:55;41295:3;41284:9;41280:19;41272:6;41245:55;:::i;:::-;-1:-1:-1;;;;;41340:6:97;41336:55;41331:2;41320:9;41316:18;41309:83;41441:9;41433:6;41429:22;41423:3;41412:9;41408:19;41401:51;41469:44;41506:6;41498;41469:44;:::i;41524:896::-;41948:6;41937:9;41930:25;41991:3;41986:2;41975:9;41971:18;41964:31;42032:1;42026:3;42015:9;42011:19;42004:30;42071:11;42065:3;42054:9;42050:19;42043:40;42119:3;42114:2;42103:9;42099:18;42092:31;41911:4;42146:55;42196:3;42185:9;42181:19;42173:6;42146:55;:::i;43954:446::-;44204:2;44193:9;44186:21;44243:1;44238:2;44227:9;44223:18;44216:29;44281:7;44276:2;44265:9;44261:18;44254:35;44327:3;44320:4;44309:9;44305:20;44298:33;44167:4;44348:46;44389:3;44378:9;44374:19;44366:6;44348:46;:::i;44405:545::-;44507:2;44502:3;44499:11;44496:448;;;44543:1;44568:5;44564:2;44557:17;44613:4;44609:2;44599:19;44683:2;44671:10;44667:19;44664:1;44660:27;44654:4;44650:38;44719:4;44707:10;44704:20;44701:47;;;-1:-1:-1;44742:4:97;44701:47;44797:2;44792:3;44788:12;44785:1;44781:20;44775:4;44771:31;44761:41;;44852:82;44870:2;44863:5;44860:13;44852:82;;;44915:17;;;44896:1;44885:13;44852:82;;45126:1352;45252:3;45246:10;45279:18;45271:6;45268:30;45265:56;;;45301:18;;:::i;:::-;45330:97;45420:6;45380:38;45412:4;45406:11;45380:38;:::i;:::-;45374:4;45330:97;:::i;:::-;45482:4;;45546:2;45535:14;;45563:1;45558:663;;;;46265:1;46282:6;46279:89;;;-1:-1:-1;46334:19:97;;;46328:26;46279:89;-1:-1:-1;;45083:1:97;45079:11;;;45075:24;45071:29;45061:40;45107:1;45103:11;;;45058:57;46381:81;;45528:944;;45558:663;32813:1;32806:14;;;32850:4;32837:18;;-1:-1:-1;;45594:20:97;;;45712:236;45726:7;45723:1;45720:14;45712:236;;;45815:19;;;45809:26;45794:42;;45907:27;;;;45875:1;45863:14;;;;45742:19;;45712:236;;;45716:3;45976:6;45967:7;45964:19;45961:201;;;46037:19;;;46031:26;-1:-1:-1;;46120:1:97;46116:14;;;46132:3;46112:24;46108:37;46104:42;46089:58;46074:74;;45961:201;-1:-1:-1;;;;;46208:1:97;46192:14;;;46188:22;46175:36;;-1:-1:-1;45126:1352:97:o;46483:979::-;46712:3;46741:1;46774:6;46768:13;46804:36;46830:9;46804:36;:::i;:::-;46859:1;46876:18;;;46903:133;;;;47050:1;47045:356;;;;46869:532;;46903:133;-1:-1:-1;;46936:24:97;;46924:37;;47009:14;;47002:22;46990:35;;46981:45;;;-1:-1:-1;46903:133:97;;47045:356;47076:6;47073:1;47066:17;47106:4;47151:2;47148:1;47138:16;47176:1;47190:165;47204:6;47201:1;47198:13;47190:165;;;47282:14;;47269:11;;;47262:35;47325:16;;;;47219:10;;47190:165;;;47194:3;;;47384:6;47379:3;47375:16;47368:23;;46869:532;-1:-1:-1;;47422:6:97;47410:19;;-1:-1:-1;;47454:1:97;47445:11;;46483:979;-1:-1:-1;;;46483:979:97:o;47467:291::-;47644:2;47633:9;47626:21;47607:4;47664:45;47705:2;47694:9;47690:18;47682:6;47664:45;:::i;:::-;47656:53;;47745:6;47740:2;47729:9;47725:18;47718:34;47467:291;;;;;:::o;48330:348::-;48560:2;48549:9;48542:21;48523:4;48580:49;48625:2;48614:9;48610:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:97;48262:14;;48255:36;48316:2;48307:12;;48166:159;48580:49;48572:57;;48665:6;48660:2;48649:9;48645:18;48638:34;48330:348;;;;:::o;48847:::-;49077:2;49066:9;49059:21;49040:4;49097:49;49142:2;49131:9;49127:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:97;48779:14;;48772:36;48833:2;48824:12;;48683:159;49851:340;-1:-1:-1;;;;;50032:6:97;50028:55;50017:9;50010:74;50120:2;50115;50104:9;50100:18;50093:30;49991:4;50140:45;50181:2;50170:9;50166:18;50158:6;50140:45;:::i;50196:340::-;50373:2;50362:9;50355:21;50336:4;50393:45;50434:2;50423:9;50419:18;50411:6;50393:45;:::i;:::-;50385:53;;-1:-1:-1;;;;;50478:6:97;50474:55;50469:2;50458:9;50454:18;50447:83;50196:340;;;;;:::o;50944:440::-;51194:2;51183:9;51176:21;51157:4;51220:49;51265:2;51254:9;51250:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:97;48262:14;;48255:36;48316:2;48307:12;;48166:159;51220:49;51317:9;51309:6;51305:22;51300:2;51289:9;51285:18;51278:50;51345:33;51371:6;51363;51345:33;:::i;51389:440::-;51639:2;51628:9;51621:21;51602:4;51665:49;51710:2;51699:9;51695:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:97;48779:14;;48772:36;48833:2;48824:12;;48683:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","POOL_AMOUNT()":"beda3db3","REQUESTED_AMOUNT()":"879ee88c","TOTAL_SUPPLY()":"902d55a5","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","_createProposal(address,uint256,uint256)":"b188bdc4","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","disabled_test_threshold_check_as_js_test()":"a6f2b82f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getBalance(address,address)":"d4fac45d","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testRevert_allocate_ProposalIdDuplicated()":"2da49647","testRevert_allocate_UserNotInRegistry()":"bc1687c0","testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW()":"d97d0578","testRevert_registerRecipient_ProposalIdAlreadyExist()":"9a45ff89","test_1_proposalSupported()":"757e122d","test_activate_points()":"136994c0","test_allocate_proposalSupport_empty_array()":"39b7e525","test_conviction_check_as_js_test()":"90ff95a4","test_conviction_check_function()":"de8a1354","test_deactivate_points()":"0ef639f6","test_distribute_native_token()":"8cf86e50","test_distribute_signaling_proposal()":"eaeb7195","test_proposalSupported_change_support()":"d25bba07","test_proposalSupported_conviction_threshold_2_users()":"503c712e","test_total_staked_amount()":"61164d4e","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTED_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"poolAmount\",\"type\":\"uint256\"}],\"name\":\"_createProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"pool\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled_test_threshold_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_ProposalIdDuplicated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_UserNotInRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_registerRecipient_ProposalIdAlreadyExist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_1_proposalSupported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_activate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_allocate_proposalSupport_empty_array\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_function\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_deactivate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_native_token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_signaling_proposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_change_support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_conviction_threshold_2_users\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_total_staked_amount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"_createProposal(address,uint256,uint256)\":{\"notice\":\"HELPERS FUNCTIONS\"},\"testRevert_allocate_ProposalIdDuplicated()\":{\"notice\":\"TESTS\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyTest.t.sol\":\"CVStrategyTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/CVStrategyTest.t.sol\":{\"keccak256\":\"0x7e865446db48b61d72c2fe1c7992cf2dd13ee4a0db0fec988343e2a9b845fae8\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://447621470dc57903eec8cd30eb0aae6ee08e89b50d894df453454aeedc159f78\",\"dweb:/ipfs/QmbusjBMCVv1yx9qy5UeA89YmJBHdRdXqBKj18iD1gQ2zg\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUESTED_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_tokenPool","type":"address"},{"internalType":"uint256","name":"requestAmount","type":"uint256"},{"internalType":"uint256","name":"poolAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"_createProposal","outputs":[{"internalType":"struct IAllo.Pool","name":"pool","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]},{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disabled_test_threshold_check_as_js_test"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_ProposalIdDuplicated"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_UserNotInRegistry"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_1_proposalSupported"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_activate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_allocate_proposalSupport_empty_array"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_as_js_test"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_function"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_deactivate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_native_token"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_signaling_proposal"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_change_support"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_conviction_threshold_2_users"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_total_staked_amount"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"_createProposal(address,uint256,uint256)":{"notice":"HELPERS FUNCTIONS"},"testRevert_allocate_ProposalIdDuplicated()":{"notice":"TESTS"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyTest.t.sol":"CVStrategyTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/CVStrategyTest.t.sol":{"keccak256":"0x7e865446db48b61d72c2fe1c7992cf2dd13ee4a0db0fec988343e2a9b845fae8","urls":["bzz-raw://447621470dc57903eec8cd30eb0aae6ee08e89b50d894df453454aeedc159f78","dweb:/ipfs/QmbusjBMCVv1yx9qy5UeA89YmJBHdRdXqBKj18iD1gQ2zg"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyTest.t.sol","id":64040,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[59653],"CVStrategyHelpers":[60835],"CVStrategyTest":[64039],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[64113],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[59700],"RegistryGardens":[60468],"RegistrySetupFull":[9534],"SafeSetup":[64494],"StdAssertions":[14008],"StdChains":[14772],"StdCheats":[17625],"StdInvariant":[17950],"StdStorage":[18716],"StdStyle":[21566],"StdUtils":[22352],"Test":[22403],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24254],"console":[32318],"console2":[40443],"safeconsole":[54783],"stdError":[17691],"stdJson":[18542],"stdMath":[18684],"stdStorage":[20355]},"nodeType":"SourceUnit","src":"39:30904:94","nodes":[{"id":60837,"nodeType":"PragmaDirective","src":"39:24:94","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":60838,"nodeType":"ImportDirective","src":"65:28:94","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":22404,"symbolAliases":[],"unitAlias":""},{"id":60839,"nodeType":"ImportDirective","src":"94:31:94","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":32319,"symbolAliases":[],"unitAlias":""},{"id":60840,"nodeType":"ImportDirective","src":"126:56:94","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":60842,"nodeType":"ImportDirective","src":"184:66:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":60841,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"192:5:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60844,"nodeType":"ImportDirective","src":"251:74:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":60843,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"259:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60846,"nodeType":"ImportDirective","src":"344:53:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":60845,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"352:4:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60848,"nodeType":"ImportDirective","src":"398:61:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":60847,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"406:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60850,"nodeType":"ImportDirective","src":"482:67:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":60849,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"490:6:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60852,"nodeType":"ImportDirective","src":"550:71:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":60851,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"558:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60854,"nodeType":"ImportDirective","src":"622:67:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":60853,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"630:6:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60856,"nodeType":"ImportDirective","src":"708:68:94","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":60855,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"716:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60858,"nodeType":"ImportDirective","src":"777:80:94","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":60857,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"785:17:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60860,"nodeType":"ImportDirective","src":"858:65:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":60859,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"866:12:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60862,"nodeType":"ImportDirective","src":"924:65:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":60861,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"932:12:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60864,"nodeType":"ImportDirective","src":"990:59:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":60863,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"998:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60866,"nodeType":"ImportDirective","src":"1051:49:94","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":59654,"symbolAliases":[{"foreign":{"id":60865,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"1059:10:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60868,"nodeType":"ImportDirective","src":"1101:59:94","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":60469,"symbolAliases":[{"foreign":{"id":60867,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"1109:15:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60870,"nodeType":"ImportDirective","src":"1161:59:94","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":59701,"symbolAliases":[{"foreign":{"id":60869,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59700,"src":"1169:15:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60872,"nodeType":"ImportDirective","src":"1222:53:94","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":64114,"symbolAliases":[{"foreign":{"id":60871,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64113,"src":"1230:11:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60874,"nodeType":"ImportDirective","src":"1276:49:94","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":64495,"symbolAliases":[{"foreign":{"id":60873,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64494,"src":"1284:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60876,"nodeType":"ImportDirective","src":"1326:58:94","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":60836,"symbolAliases":[{"foreign":{"id":60875,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60835,"src":"1334:17:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64039,"nodeType":"ContractDefinition","src":"1525:29417:94","nodes":[{"id":60893,"nodeType":"VariableDeclaration","src":"1644:22:94","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1661:5:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":60892,"nodeType":"UserDefinedTypeName","pathNode":{"id":60891,"name":"MockERC20","nameLocations":["1644:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1644:9:94"},"referencedDeclaration":9751,"src":"1644:9:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":60896,"nodeType":"VariableDeclaration","src":"1672:33:94","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1687:10:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60894,"name":"uint256","nodeType":"ElementaryTypeName","src":"1672:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":60895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":60899,"nodeType":"VariableDeclaration","src":"1711:44:94","nodes":[],"constant":true,"functionSelector":"902d55a5","mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1735:12:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60897,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3435303030","id":60898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1750:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"visibility":"public"},{"id":60902,"nodeType":"VariableDeclaration","src":"1761:43:94","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1785:11:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60900,"name":"uint256","nodeType":"ElementaryTypeName","src":"1761:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":60901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":60905,"nodeType":"VariableDeclaration","src":"1810:42:94","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1834:13:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60903,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":60904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1850:2:94","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":60908,"nodeType":"VariableDeclaration","src":"1858:47:94","nodes":[],"constant":true,"functionSelector":"879ee88c","mutability":"constant","name":"REQUESTED_AMOUNT","nameLocation":"1882:16:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60906,"name":"uint256","nodeType":"ElementaryTypeName","src":"1858:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":60907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1901:4:94","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":60911,"nodeType":"VariableDeclaration","src":"1912:40:94","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1937:15:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"},"typeName":{"id":60910,"nodeType":"UserDefinedTypeName","pathNode":{"id":60909,"name":"RegistryGardens","nameLocations":["1912:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":60468,"src":"1912:15:94"},"referencedDeclaration":60468,"src":"1912:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":61094,"nodeType":"FunctionDefinition","src":"1959:1152:94","nodes":[],"body":{"id":61093,"nodeType":"Block","src":"1983:1128:94","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60914,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1993:19:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":60915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60916,"nodeType":"ExpressionStatement","src":"1993:21:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60920,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"2044:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":60921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":60919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2036:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60918,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:94","typeDescriptions":{}}},"id":60922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2036:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60917,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"2024:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2024:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60924,"nodeType":"ExpressionStatement","src":"2024:32:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60928,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2081:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2081:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2067:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2070:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"2067:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2067:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60931,"nodeType":"ExpressionStatement","src":"2067:27:94"},{"expression":{"arguments":[{"hexValue":"30","id":60935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60932,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2104:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2111:13:94","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2104:20:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60937,"nodeType":"ExpressionStatement","src":"2104:23:94"},{"expression":{"arguments":[{"hexValue":"30","id":60941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60938,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2137:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:16:94","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2137:23:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60943,"nodeType":"ExpressionStatement","src":"2137:26:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2173:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"2173:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":60947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60948,"nodeType":"ExpressionStatement","src":"2173:14:94"},{"expression":{"id":60954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60949,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2198:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":60952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2206:13:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":60951,"nodeType":"UserDefinedTypeName","pathNode":{"id":60950,"name":"MockERC20","nameLocations":["2210:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2210:9:94"},"referencedDeclaration":9751,"src":"2210:9:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":60953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2206:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2198:23:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60955,"nodeType":"ExpressionStatement","src":"2198:23:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60959,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2242:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":60961,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60899,"src":"2251:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":60962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2251:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60956,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2231:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2231:10:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60965,"nodeType":"ExpressionStatement","src":"2231:37:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60969,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2289:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":60971,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60899,"src":"2303:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":60972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2318:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2303:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60966,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2278:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2278:10:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60975,"nodeType":"ExpressionStatement","src":"2278:42:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60981,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2352:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":60980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2344:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60979,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:94","typeDescriptions":{}}},"id":60983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60984,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60896,"src":"2361:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60976,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2330:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2336:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2330:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":60985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2330:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60986,"nodeType":"ExpressionStatement","src":"2330:42:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60990,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2397:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2397:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60987,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2383:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2386:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"2383:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2383:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60993,"nodeType":"ExpressionStatement","src":"2383:27:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60997,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2445:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60994,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2420:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2427:17:94","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2420:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":60999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61000,"nodeType":"ExpressionStatement","src":"2420:33:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2463:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"2463:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2463:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61005,"nodeType":"ExpressionStatement","src":"2463:14:94"},{"assignments":[61008],"declarations":[{"constant":false,"id":61008,"mutability":"mutable","name":"registryFactory","nameLocation":"2556:15:94","nodeType":"VariableDeclaration","scope":61093,"src":"2540:31:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"},"typeName":{"id":61007,"nodeType":"UserDefinedTypeName","pathNode":{"id":61006,"name":"RegistryFactory","nameLocations":["2540:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":59700,"src":"2540:15:94"},"referencedDeclaration":59700,"src":"2540:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":61013,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":61011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2574:19:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$59700_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":61010,"nodeType":"UserDefinedTypeName","pathNode":{"id":61009,"name":"RegistryFactory","nameLocations":["2578:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":59700,"src":"2578:15:94"},"referencedDeclaration":59700,"src":"2578:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}}},"id":61012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2574:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2540:55:94"},{"assignments":[61018],"declarations":[{"constant":false,"id":61018,"mutability":"mutable","name":"params","nameLocation":"2645:6:94","nodeType":"VariableDeclaration","scope":61093,"src":"2605:46:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":61017,"nodeType":"UserDefinedTypeName","pathNode":{"id":61016,"name":"RegistryGardens.InitializeParams","nameLocations":["2605:15:94","2621:16:94"],"nodeType":"IdentifierPath","referencedDeclaration":59873,"src":"2605:32:94"},"referencedDeclaration":59873,"src":"2605:32:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":61019,"nodeType":"VariableDeclarationStatement","src":"2605:46:94"},{"expression":{"id":61028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61020,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2661:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2668:5:94","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":59858,"src":"2661:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61025,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2684:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2684:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2676:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61023,"name":"address","nodeType":"ElementaryTypeName","src":"2676:7:94","typeDescriptions":{}}},"id":61027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2676:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2661:30:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61029,"nodeType":"ExpressionStatement","src":"2661:30:94"},{"expression":{"id":61039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61030,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2701:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2708:12:94","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":59861,"src":"2701:19:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61036,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2738:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":61035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2730:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61034,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:94","typeDescriptions":{}}},"id":61037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61033,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2723:6:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":61038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2723:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2701:44:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":61040,"nodeType":"ExpressionStatement","src":"2701:44:94"},{"expression":{"id":61045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61041,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2755:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:19:94","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":59863,"src":"2755:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61044,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"2784:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2755:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61046,"nodeType":"ExpressionStatement","src":"2755:42:94"},{"expression":{"id":61051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61047,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2807:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2814:12:94","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":59865,"src":"2807:19:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":61050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2829:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2807:23:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61052,"nodeType":"ExpressionStatement","src":"2807:23:94"},{"expression":{"id":61057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61053,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2840:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2847:9:94","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":59870,"src":"2840:16:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61056,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60493,"src":"2859:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2840:27:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":61058,"nodeType":"ExpressionStatement","src":"2840:27:94"},{"expression":{"id":61070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61059,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2877:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2884:12:94","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":59872,"src":"2877:19:94","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61066,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64395,"src":"2915:12:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55905_$","typeString":"function () returns (contract Safe)"}},"id":61067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55905","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55905","typeString":"contract Safe"}],"id":61065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2907:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61064,"name":"address","nodeType":"ElementaryTypeName","src":"2907:7:94","typeDescriptions":{}}},"id":61068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2907:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2899:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61062,"name":"address","nodeType":"ElementaryTypeName","src":"2899:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2877:54:94","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61071,"nodeType":"ExpressionStatement","src":"2877:54:94"},{"expression":{"id":61079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61072,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"2941:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61076,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"3006:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":61074,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61008,"src":"2975:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"id":61075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:14:94","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":59699,"src":"2975:30:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$59873_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":61077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2975:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61073,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"2959:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":61078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2959:55:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"src":"2941:73:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":61080,"nodeType":"ExpressionStatement","src":"2941:73:94"},{"expression":{"arguments":[{"arguments":[{"id":61086,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3047:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":61085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3039:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61084,"name":"address","nodeType":"ElementaryTypeName","src":"3039:7:94","typeDescriptions":{}}},"id":61087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3039:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61088,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3065:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":61089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:20:94","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60385,"src":"3065:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":61090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61081,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"3025:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3031:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3025:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:79:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61092,"nodeType":"ExpressionStatement","src":"3025:79:94"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1968:5:94","parameters":{"id":60912,"nodeType":"ParameterList","parameters":[],"src":"1973:2:94"},"returnParameters":{"id":60913,"nodeType":"ParameterList","parameters":[],"src":"1983:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61103,"nodeType":"FunctionDefinition","src":"3117:107:94","nodes":[],"body":{"id":61102,"nodeType":"Block","src":"3185:39:94","nodes":[],"statements":[{"expression":{"id":61100,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3202:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"functionReturnParameters":61099,"id":61101,"nodeType":"Return","src":"3195:22:94"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3126:16:94","parameters":{"id":61095,"nodeType":"ParameterList","parameters":[],"src":"3142:2:94"},"returnParameters":{"id":61099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61103,"src":"3168:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"},"typeName":{"id":61097,"nodeType":"UserDefinedTypeName","pathNode":{"id":61096,"name":"RegistryGardens","nameLocations":["3168:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":60468,"src":"3168:15:94"},"referencedDeclaration":60468,"src":"3168:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3167:17:94"},"scope":64039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":61327,"nodeType":"FunctionDefinition","src":"3273:1814:94","nodes":[],"body":{"id":61326,"nodeType":"Block","src":"3437:1650:94","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61118,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"3451:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":61119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3468:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3451:18:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61126,"nodeType":"IfStatement","src":"3447:81:94","trueBody":{"id":61125,"nodeType":"Block","src":"3471:57:94","statements":[{"expression":{"id":61123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61121,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"3485:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61122,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"3501:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3485:32:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61124,"nodeType":"ExpressionStatement","src":"3485:32:94"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61127,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"3542:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":61128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3556:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3542:15:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61135,"nodeType":"IfStatement","src":"3538:70:94","trueBody":{"id":61134,"nodeType":"Block","src":"3559:49:94","statements":[{"expression":{"id":61132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61130,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"3573:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61131,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60902,"src":"3586:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61133,"nodeType":"ExpressionStatement","src":"3573:24:94"}]}},{"assignments":[61137],"declarations":[{"constant":false,"id":61137,"mutability":"mutable","name":"useTokenPool","nameLocation":"3625:12:94","nodeType":"VariableDeclaration","scope":61326,"src":"3617:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61136,"name":"address","nodeType":"ElementaryTypeName","src":"3617:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":61139,"initialValue":{"id":61138,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3640:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3617:29:94"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61140,"name":"_tokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61106,"src":"3660:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":61143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3682:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3674:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61141,"name":"address","nodeType":"ElementaryTypeName","src":"3674:7:94","typeDescriptions":{}}},"id":61144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3660:24:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61154,"nodeType":"IfStatement","src":"3656:84:94","trueBody":{"id":61153,"nodeType":"Block","src":"3686:54:94","statements":[{"expression":{"id":61151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61146,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"3700:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61149,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"3723:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":61148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3715:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61147,"name":"address","nodeType":"ElementaryTypeName","src":"3715:7:94","typeDescriptions":{}}},"id":61150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3700:29:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61152,"nodeType":"ExpressionStatement","src":"3700:29:94"}]}},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":61156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3768:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":61155,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"3750:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61158,"nodeType":"ExpressionStatement","src":"3750:35:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61162,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"3873:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61159,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3862:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"3859:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61165,"nodeType":"ExpressionStatement","src":"3859:27:94"},{"assignments":[61168],"declarations":[{"constant":false,"id":61168,"mutability":"mutable","name":"strategy","nameLocation":"3908:8:94","nodeType":"VariableDeclaration","scope":61326,"src":"3897:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61167,"nodeType":"UserDefinedTypeName","pathNode":{"id":61166,"name":"CVStrategy","nameLocations":["3897:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"3897:10:94"},"referencedDeclaration":59653,"src":"3897:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61178,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61174,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3942:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3942:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3934:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61172,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:94","typeDescriptions":{}}},"id":61176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3919:14:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$59653_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":61170,"nodeType":"UserDefinedTypeName","pathNode":{"id":61169,"name":"CVStrategy","nameLocations":["3923:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"3923:10:94"},"referencedDeclaration":59653,"src":"3923:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}}},"id":61177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3919:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"3897:53:94"},{"expression":{"id":61199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61179,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"3961:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61181,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3981:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3981:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":61185,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"3997:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}],"id":61184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3989:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61183,"name":"address","nodeType":"ElementaryTypeName","src":"3989:7:94","typeDescriptions":{}}},"id":61186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61189,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61103,"src":"4016:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$60468_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":61190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4016:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":61188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4008:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61187,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:94","typeDescriptions":{}}},"id":61191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61192,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4037:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":61193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},{"arguments":[{"id":61196,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4057:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61194,"name":"address","nodeType":"ElementaryTypeName","src":"4049:7:94","typeDescriptions":{}}},"id":61197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4049:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61180,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60666,"src":"3970:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":61198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3970:101:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3961:110:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61200,"nodeType":"ExpressionStatement","src":"3961:110:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61201,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4082:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4085:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"4082:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4082:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61205,"nodeType":"ExpressionStatement","src":"4082:14:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61206,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"4107:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4116:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"4107:23:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:25:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61210,"nodeType":"ExpressionStatement","src":"4107:25:94"},{"expression":{"id":61217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61211,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61114,"src":"4143:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61215,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4165:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61212,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4150:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4157:7:94","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":1389,"src":"4150:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":61216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"4143:29:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61218,"nodeType":"ExpressionStatement","src":"4143:29:94"},{"expression":{"arguments":[{"arguments":[{"id":61224,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4199:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4191:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61222,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:94","typeDescriptions":{}}},"id":61225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61226,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4206:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61219,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4183:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4186:4:94","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":23827,"src":"4183:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61228,"nodeType":"ExpressionStatement","src":"4183:34:94"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61229,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4231:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":61230,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4247:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4231:22:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61272,"nodeType":"Block","src":"4340:203:94","statements":[{"expression":{"arguments":[{"arguments":[{"id":61248,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4391:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4383:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61246,"name":"address","nodeType":"ElementaryTypeName","src":"4383:7:94","typeDescriptions":{}}},"id":61249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61250,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4398:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":61243,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4364:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61242,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4354:9:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":61244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4378:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"4354:28:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:55:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61252,"nodeType":"ExpressionStatement","src":"4354:55:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61259,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4463:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4463:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4455:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61257,"name":"address","nodeType":"ElementaryTypeName","src":"4455:7:94","typeDescriptions":{}}},"id":61261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4455:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61262,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4472:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":61254,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4433:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61253,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4423:9:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":61255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4447:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4423:31:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:60:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61264,"nodeType":"ExpressionStatement","src":"4423:60:94"},{"expression":{"arguments":[{"id":61268,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4513:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61269,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4521:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61265,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4497:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:8:94","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4497:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":61270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61271,"nodeType":"ExpressionStatement","src":"4497:35:94"}]},"id":61273,"nodeType":"IfStatement","src":"4227:316:94","trueBody":{"id":61241,"nodeType":"Block","src":"4255:79:94","statements":[{"expression":{"arguments":[{"id":61237,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4304:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61238,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4312:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61232,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4269:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4276:8:94","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4269:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":61236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":61235,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4292:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4269:34:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":61239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61240,"nodeType":"ExpressionStatement","src":"4269:54:94"}]}},{"expression":{"arguments":[{"expression":{"id":61275,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61114,"src":"4562:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4567:9:94","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"4562:14:94","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61278,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4594:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":61279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":61277,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60545,"src":"4578:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":61280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"706f6f6c50726f66696c654944","id":61281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4607:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""},"value":"poolProfileID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""}],"id":61274,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10624,"src":"4553:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":61282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:70:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61283,"nodeType":"ExpressionStatement","src":"4553:70:94"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":61285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4738:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":61284,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"4720:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61287,"nodeType":"ExpressionStatement","src":"4720:35:94"},{"assignments":[61292],"declarations":[{"constant":false,"id":61292,"mutability":"mutable","name":"proposal","nameLocation":"4799:8:94","nodeType":"VariableDeclaration","scope":61326,"src":"4766:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":61291,"nodeType":"UserDefinedTypeName","pathNode":{"id":61290,"name":"CVStrategy.CreateProposal","nameLocations":["4766:10:94","4777:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"4766:25:94"},"referencedDeclaration":57786,"src":"4766:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":61308,"initialValue":{"arguments":[{"hexValue":"31","id":61295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4849:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61296,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4852:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61297,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"4860:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":61299,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"4874:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4885:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"4874:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":61301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4898:7:94","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57770,"src":"4874:31:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":61302,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"4907:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":61305,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4930:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4922:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61303,"name":"address","nodeType":"ElementaryTypeName","src":"4922:7:94","typeDescriptions":{}}},"id":61306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61293,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"4810:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"4810:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":61307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:143:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4766:187:94"},{"assignments":[61310],"declarations":[{"constant":false,"id":61310,"mutability":"mutable","name":"data","nameLocation":"4976:4:94","nodeType":"VariableDeclaration","scope":61326,"src":"4963:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61309,"name":"bytes","nodeType":"ElementaryTypeName","src":"4963:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61315,"initialValue":{"arguments":[{"id":61313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61292,"src":"4994:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":61311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4983:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4987:6:94","memberName":"encode","nodeType":"MemberAccess","src":"4983:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4983:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4963:40:94"},{"expression":{"arguments":[{"id":61319,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"5038:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61320,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61310,"src":"5046:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61316,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"5013:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5020:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5013:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":61321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61322,"nodeType":"ExpressionStatement","src":"5013:38:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61323,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"5062:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5062:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61325,"nodeType":"ExpressionStatement","src":"5062:18:94"}]},"documentation":{"id":61104,"nodeType":"StructuredDocumentation","src":"3230:38:94","text":" HELPERS FUNCTIONS"},"functionSelector":"b188bdc4","implemented":true,"kind":"function","modifiers":[],"name":"_createProposal","nameLocation":"3282:15:94","parameters":{"id":61111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61106,"mutability":"mutable","name":"_tokenPool","nameLocation":"3306:10:94","nodeType":"VariableDeclaration","scope":61327,"src":"3298:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61105,"name":"address","nodeType":"ElementaryTypeName","src":"3298:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61108,"mutability":"mutable","name":"requestAmount","nameLocation":"3326:13:94","nodeType":"VariableDeclaration","scope":61327,"src":"3318:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61107,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61110,"mutability":"mutable","name":"poolAmount","nameLocation":"3349:10:94","nodeType":"VariableDeclaration","scope":61327,"src":"3341:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61109,"name":"uint256","nodeType":"ElementaryTypeName","src":"3341:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3297:63:94"},"returnParameters":{"id":61117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61114,"mutability":"mutable","name":"pool","nameLocation":"3411:4:94","nodeType":"VariableDeclaration","scope":61327,"src":"3393:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61113,"nodeType":"UserDefinedTypeName","pathNode":{"id":61112,"name":"IAllo.Pool","nameLocations":["3393:5:94","3399:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"3393:10:94"},"referencedDeclaration":2319,"src":"3393:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61116,"mutability":"mutable","name":"poolId","nameLocation":"3425:6:94","nodeType":"VariableDeclaration","scope":61327,"src":"3417:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61115,"name":"uint256","nodeType":"ElementaryTypeName","src":"3417:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3392:40:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61359,"nodeType":"FunctionDefinition","src":"5093:254:94","nodes":[],"body":{"id":61358,"nodeType":"Block","src":"5175:172:94","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61336,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"5189:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":61337,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5199:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5189:16:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61356,"nodeType":"Block","src":"5268:73:94","statements":[{"expression":{"arguments":[{"arguments":[{"id":61352,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"5322:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5314:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61350,"name":"address","nodeType":"ElementaryTypeName","src":"5314:7:94","typeDescriptions":{}}},"id":61353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5314:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":61347,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"5296:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61346,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"5289:6:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":61348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":61349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5304:9:94","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":6860,"src":"5289:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":61354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:41:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61335,"id":61355,"nodeType":"Return","src":"5282:48:94"}]},"id":61357,"nodeType":"IfStatement","src":"5185:156:94","trueBody":{"id":61345,"nodeType":"Block","src":"5207:55:94","statements":[{"expression":{"expression":{"arguments":[{"id":61341,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"5236:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5228:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61339,"name":"address","nodeType":"ElementaryTypeName","src":"5228:7:94","typeDescriptions":{}}},"id":61342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5228:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5244:7:94","memberName":"balance","nodeType":"MemberAccess","src":"5228:23:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61335,"id":61344,"nodeType":"Return","src":"5221:30:94"}]}}]},"functionSelector":"d4fac45d","implemented":true,"kind":"function","modifiers":[],"name":"getBalance","nameLocation":"5102:10:94","parameters":{"id":61332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61329,"mutability":"mutable","name":"_token","nameLocation":"5121:6:94","nodeType":"VariableDeclaration","scope":61359,"src":"5113:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61328,"name":"address","nodeType":"ElementaryTypeName","src":"5113:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61331,"mutability":"mutable","name":"holder","nameLocation":"5137:6:94","nodeType":"VariableDeclaration","scope":61359,"src":"5129:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61330,"name":"address","nodeType":"ElementaryTypeName","src":"5129:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5112:32:94"},"returnParameters":{"id":61335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61359,"src":"5166:7:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61333,"name":"uint256","nodeType":"ElementaryTypeName","src":"5166:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5165:9:94"},"scope":64039,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":61439,"nodeType":"FunctionDefinition","src":"5385:977:94","nodes":[],"body":{"id":61438,"nodeType":"Block","src":"5444:918:94","nodes":[],"statements":[{"assignments":[null,61364],"declarations":[null,{"constant":false,"id":61364,"mutability":"mutable","name":"poolId","nameLocation":"5493:6:94","nodeType":"VariableDeclaration","scope":61438,"src":"5485:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61363,"name":"uint256","nodeType":"ElementaryTypeName","src":"5485:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61370,"initialValue":{"arguments":[{"id":61366,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5519:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5527:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61365,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"5503:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5454:78:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5615:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61371,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"5597:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5597:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61374,"nodeType":"ExpressionStatement","src":"5597:39:94"},{"assignments":[61380],"declarations":[{"constant":false,"id":61380,"mutability":"mutable","name":"votes","nameLocation":"5682:5:94","nodeType":"VariableDeclaration","scope":61438,"src":"5646:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61378,"nodeType":"UserDefinedTypeName","pathNode":{"id":61377,"name":"CVStrategy.ProposalSupport","nameLocations":["5646:10:94","5657:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"5646:26:94"},"referencedDeclaration":57829,"src":"5646:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61379,"nodeType":"ArrayTypeName","src":"5646:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61387,"initialValue":{"arguments":[{"hexValue":"32","id":61385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5723:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5690:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61382,"nodeType":"UserDefinedTypeName","pathNode":{"id":61381,"name":"CVStrategy.ProposalSupport","nameLocations":["5694:10:94","5705:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"5694:26:94"},"referencedDeclaration":57829,"src":"5694:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61383,"nodeType":"ArrayTypeName","src":"5694:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5646:79:94"},{"expression":{"id":61396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61388,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"5813:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61390,"indexExpression":{"hexValue":"30","id":61389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5819:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5813:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5851:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5854:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61391,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"5824:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"5824:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5813:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61397,"nodeType":"ExpressionStatement","src":"5813:44:94"},{"expression":{"id":61406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61398,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"5888:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61400,"indexExpression":{"hexValue":"31","id":61399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5894:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5888:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5926:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5929:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61401,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"5899:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"5899:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5888:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61407,"nodeType":"ExpressionStatement","src":"5888:44:94"},{"assignments":[61409],"declarations":[{"constant":false,"id":61409,"mutability":"mutable","name":"data","nameLocation":"6087:4:94","nodeType":"VariableDeclaration","scope":61438,"src":"6074:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61408,"name":"bytes","nodeType":"ElementaryTypeName","src":"6074:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61414,"initialValue":{"arguments":[{"id":61412,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"6105:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6094:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6098:6:94","memberName":"encode","nodeType":"MemberAccess","src":"6094:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6094:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6074:37:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61420,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6235:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6246:25:94","memberName":"ProposalSupportDuplicated","nodeType":"MemberAccess","referencedDeclaration":57746,"src":"6235:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6272:8:94","memberName":"selector","nodeType":"MemberAccess","src":"6235:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":61423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":61424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6285:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":61418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6212:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6216:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6212:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6212:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61415,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"6196:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6199:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"6196:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:92:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61427,"nodeType":"ExpressionStatement","src":"6196:92:94"},{"expression":{"arguments":[{"id":61431,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61364,"src":"6314:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61432,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61409,"src":"6322:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61428,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"6298:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"6298:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61434,"nodeType":"ExpressionStatement","src":"6298:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61435,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"6337:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61437,"nodeType":"ExpressionStatement","src":"6337:18:94"}]},"documentation":{"id":61360,"nodeType":"StructuredDocumentation","src":"5352:27:94","text":" TESTS"},"functionSelector":"2da49647","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_ProposalIdDuplicated","nameLocation":"5394:40:94","parameters":{"id":61361,"nodeType":"ParameterList","parameters":[],"src":"5434:2:94"},"returnParameters":{"id":61362,"nodeType":"ParameterList","parameters":[],"src":"5444:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61525,"nodeType":"FunctionDefinition","src":"6368:1028:94","nodes":[],"body":{"id":61524,"nodeType":"Block","src":"6424:972:94","nodes":[],"statements":[{"assignments":[null,61443],"declarations":[null,{"constant":false,"id":61443,"mutability":"mutable","name":"poolId","nameLocation":"6473:6:94","nodeType":"VariableDeclaration","scope":61524,"src":"6465:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61442,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61449,"initialValue":{"arguments":[{"id":61445,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"6499:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6507:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6510:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61444,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"6483:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6434:78:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61450,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"6577:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61453,"nodeType":"ExpressionStatement","src":"6577:39:94"},{"assignments":[61459],"declarations":[{"constant":false,"id":61459,"mutability":"mutable","name":"votes","nameLocation":"6662:5:94","nodeType":"VariableDeclaration","scope":61524,"src":"6626:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61457,"nodeType":"UserDefinedTypeName","pathNode":{"id":61456,"name":"CVStrategy.ProposalSupport","nameLocations":["6626:10:94","6637:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"6626:26:94"},"referencedDeclaration":57829,"src":"6626:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61458,"nodeType":"ArrayTypeName","src":"6626:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61466,"initialValue":{"arguments":[{"hexValue":"32","id":61464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6703:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6670:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61461,"nodeType":"UserDefinedTypeName","pathNode":{"id":61460,"name":"CVStrategy.ProposalSupport","nameLocations":["6674:10:94","6685:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"6674:26:94"},"referencedDeclaration":57829,"src":"6674:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61462,"nodeType":"ArrayTypeName","src":"6674:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6626:79:94"},{"expression":{"id":61475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61467,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"6793:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61469,"indexExpression":{"hexValue":"30","id":61468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6799:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6793:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6831:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6834:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61470,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6804:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"6804:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6793:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61476,"nodeType":"ExpressionStatement","src":"6793:44:94"},{"expression":{"id":61485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61477,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"6868:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61479,"indexExpression":{"hexValue":"31","id":61478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6874:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6868:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6906:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6909:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61480,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6879:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"6879:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6879:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6868:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61486,"nodeType":"ExpressionStatement","src":"6868:44:94"},{"assignments":[61488],"declarations":[{"constant":false,"id":61488,"mutability":"mutable","name":"data","nameLocation":"7067:4:94","nodeType":"VariableDeclaration","scope":61524,"src":"7054:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61487,"name":"bytes","nodeType":"ElementaryTypeName","src":"7054:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61493,"initialValue":{"arguments":[{"id":61491,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"7085:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7074:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7078:6:94","memberName":"encode","nodeType":"MemberAccess","src":"7074:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7054:37:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61497,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"7115:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7115:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61494,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7101:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7104:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"7101:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61500,"nodeType":"ExpressionStatement","src":"7101:27:94"},{"expression":{"arguments":[{"expression":{"expression":{"id":61504,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7154:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7165:17:94","memberName":"UserNotInRegistry","nodeType":"MemberAccess","referencedDeclaration":57694,"src":"7154:28:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":61506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7183:8:94","memberName":"selector","nodeType":"MemberAccess","src":"7154:37:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61501,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7138:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7141:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24231,"src":"7138:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7138:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61508,"nodeType":"ExpressionStatement","src":"7138:54:94"},{"expression":{"arguments":[{"id":61512,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61443,"src":"7323:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61513,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61488,"src":"7331:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61509,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7307:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7314:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7307:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61515,"nodeType":"ExpressionStatement","src":"7307:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7347:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7350:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"7347:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61520,"nodeType":"ExpressionStatement","src":"7347:14:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61521,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"7371:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7371:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61523,"nodeType":"ExpressionStatement","src":"7371:18:94"}]},"functionSelector":"bc1687c0","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_UserNotInRegistry","nameLocation":"6377:37:94","parameters":{"id":61440,"nodeType":"ParameterList","parameters":[],"src":"6414:2:94"},"returnParameters":{"id":61441,"nodeType":"ParameterList","parameters":[],"src":"6424:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61639,"nodeType":"FunctionDefinition","src":"7402:901:94","nodes":[],"body":{"id":61638,"nodeType":"Block","src":"7490:813:94","nodes":[],"statements":[{"assignments":[61532,61534],"declarations":[{"constant":false,"id":61532,"mutability":"mutable","name":"pool","nameLocation":"7519:4:94","nodeType":"VariableDeclaration","scope":61638,"src":"7501:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61531,"nodeType":"UserDefinedTypeName","pathNode":{"id":61530,"name":"IAllo.Pool","nameLocations":["7501:5:94","7507:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"7501:10:94"},"referencedDeclaration":2319,"src":"7501:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61534,"mutability":"mutable","name":"poolId","nameLocation":"7533:6:94","nodeType":"VariableDeclaration","scope":61638,"src":"7525:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61533,"name":"uint256","nodeType":"ElementaryTypeName","src":"7525:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61540,"initialValue":{"arguments":[{"id":61536,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"7559:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7567:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7570:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61535,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"7543:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7543:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7500:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7655:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61541,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"7637:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7637:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61544,"nodeType":"ExpressionStatement","src":"7637:39:94"},{"assignments":[61550],"declarations":[{"constant":false,"id":61550,"mutability":"mutable","name":"votes","nameLocation":"7722:5:94","nodeType":"VariableDeclaration","scope":61638,"src":"7686:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61548,"nodeType":"UserDefinedTypeName","pathNode":{"id":61547,"name":"CVStrategy.ProposalSupport","nameLocations":["7686:10:94","7697:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"7686:26:94"},"referencedDeclaration":57829,"src":"7686:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61549,"nodeType":"ArrayTypeName","src":"7686:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61557,"initialValue":{"arguments":[{"hexValue":"31","id":61555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7763:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7730:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61552,"nodeType":"UserDefinedTypeName","pathNode":{"id":61551,"name":"CVStrategy.ProposalSupport","nameLocations":["7734:10:94","7745:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"7734:26:94"},"referencedDeclaration":57829,"src":"7734:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61553,"nodeType":"ArrayTypeName","src":"7734:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7730:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7686:79:94"},{"expression":{"id":61567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61558,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61550,"src":"7775:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61560,"indexExpression":{"hexValue":"30","id":61559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7781:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7775:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7813:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7816:4:94","subExpression":{"hexValue":"313030","id":61564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7817:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":61561,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7786:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7797:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"7786:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7786:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"7775:46:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61568,"nodeType":"ExpressionStatement","src":"7775:46:94"},{"assignments":[61570],"declarations":[{"constant":false,"id":61570,"mutability":"mutable","name":"data","nameLocation":"7844:4:94","nodeType":"VariableDeclaration","scope":61638,"src":"7831:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61569,"name":"bytes","nodeType":"ElementaryTypeName","src":"7831:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61575,"initialValue":{"arguments":[{"id":61573,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61550,"src":"7862:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61571,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7851:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7855:6:94","memberName":"encode","nodeType":"MemberAccess","src":"7851:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:37:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61581,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7918:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7929:16:94","memberName":"SupportUnderflow","nodeType":"MemberAccess","referencedDeclaration":57718,"src":"7918:27:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":61583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7946:8:94","memberName":"selector","nodeType":"MemberAccess","src":"7918:36:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":61584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7956:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7959:4:94","subExpression":{"hexValue":"313030","id":61585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7960:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"id":61588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7965:4:94","subExpression":{"hexValue":"313030","id":61587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7966:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":61579,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7895:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7899:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7895:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61576,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7879:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7882:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"7879:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7879:92:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61591,"nodeType":"ExpressionStatement","src":"7879:92:94"},{"expression":{"arguments":[{"id":61595,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61534,"src":"7997:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61570,"src":"8005:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61592,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7981:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7988:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7981:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61598,"nodeType":"ExpressionStatement","src":"7981:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61599,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"8020:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8020:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61601,"nodeType":"ExpressionStatement","src":"8020:18:94"},{"assignments":[61604],"declarations":[{"constant":false,"id":61604,"mutability":"mutable","name":"cv","nameLocation":"8060:2:94","nodeType":"VariableDeclaration","scope":61638,"src":"8049:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61603,"nodeType":"UserDefinedTypeName","pathNode":{"id":61602,"name":"CVStrategy","nameLocations":["8049:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"8049:10:94"},"referencedDeclaration":59653,"src":"8049:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61615,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61610,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61532,"src":"8092:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8097:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"8092:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8084:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61608,"name":"address","nodeType":"ElementaryTypeName","src":"8084:7:94","typeDescriptions":{}}},"id":61612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8084:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8076:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61606,"name":"address","nodeType":"ElementaryTypeName","src":"8076:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61605,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8065:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"8049:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8153:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61622,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8164:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8156:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61620,"name":"address","nodeType":"ElementaryTypeName","src":"8156:7:94","typeDescriptions":{}}},"id":61623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61617,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61604,"src":"8128:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8131:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"8128:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8128:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8172:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65416d6f756e74","id":61626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8175:18:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""},"value":"VoterStakeAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""}],"id":61616,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8119:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":61627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61628,"nodeType":"ExpressionStatement","src":"8119:75:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61630,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61604,"src":"8232:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8235:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"8232:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8232:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8263:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564416d6f756e74496e50726f706f73616c","id":61635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8266:29:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""},"value":"TotalStakedAmountInProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""}],"id":61629,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8223:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":61636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8223:73:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61637,"nodeType":"ExpressionStatement","src":"8223:73:94"}]},"functionSelector":"d97d0578","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","nameLocation":"7411:69:94","parameters":{"id":61526,"nodeType":"ParameterList","parameters":[],"src":"7480:2:94"},"returnParameters":{"id":61527,"nodeType":"ParameterList","parameters":[],"src":"7490:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61695,"nodeType":"FunctionDefinition","src":"8309:519:94","nodes":[],"body":{"id":61694,"nodeType":"Block","src":"8379:449:94","nodes":[],"statements":[{"assignments":[null,61643],"declarations":[null,{"constant":false,"id":61643,"mutability":"mutable","name":"poolId","nameLocation":"8400:6:94","nodeType":"VariableDeclaration","scope":61694,"src":"8392:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61642,"name":"uint256","nodeType":"ElementaryTypeName","src":"8392:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61649,"initialValue":{"arguments":[{"id":61645,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8426:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8434:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8437:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61644,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"8410:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8389:50:94"},{"assignments":[61654],"declarations":[{"constant":false,"id":61654,"mutability":"mutable","name":"proposal","nameLocation":"8483:8:94","nodeType":"VariableDeclaration","scope":61694,"src":"8450:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":61653,"nodeType":"UserDefinedTypeName","pathNode":{"id":61652,"name":"CVStrategy.CreateProposal","nameLocations":["8450:10:94","8461:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"8450:25:94"},"referencedDeclaration":57786,"src":"8450:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":61667,"initialValue":{"arguments":[{"hexValue":"31","id":61657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8533:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61658,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61643,"src":"8536:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61659,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"8544:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":61661,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8558:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8569:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"8558:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":61663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8582:9:94","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":57769,"src":"8558:33:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":61664,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"8593:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61665,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8611:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61655,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8494:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8505:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"8494:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":61666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:133:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"8450:177:94"},{"assignments":[61669],"declarations":[{"constant":false,"id":61669,"mutability":"mutable","name":"data","nameLocation":"8650:4:94","nodeType":"VariableDeclaration","scope":61694,"src":"8637:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61668,"name":"bytes","nodeType":"ElementaryTypeName","src":"8637:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61674,"initialValue":{"arguments":[{"id":61672,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61654,"src":"8668:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":61670,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8657:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8661:6:94","memberName":"encode","nodeType":"MemberAccess","src":"8657:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8637:40:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61680,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8726:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8737:22:94","memberName":"ProposalIdAlreadyExist","nodeType":"MemberAccess","referencedDeclaration":57740,"src":"8726:33:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":61682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8760:8:94","memberName":"selector","nodeType":"MemberAccess","src":"8726:42:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":61683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8770:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8703:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8707:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8703:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8703:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"8687:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8690:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"8687:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8687:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61686,"nodeType":"ExpressionStatement","src":"8687:86:94"},{"expression":{"arguments":[{"id":61690,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61643,"src":"8808:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61691,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61669,"src":"8816:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61687,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"8783:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"8783:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":61692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61693,"nodeType":"ExpressionStatement","src":"8783:38:94"}]},"functionSelector":"9a45ff89","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_registerRecipient_ProposalIdAlreadyExist","nameLocation":"8318:51:94","parameters":{"id":61640,"nodeType":"ParameterList","parameters":[],"src":"8369:2:94"},"returnParameters":{"id":61641,"nodeType":"ParameterList","parameters":[],"src":"8379:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61855,"nodeType":"FunctionDefinition","src":"8834:1541:94","nodes":[],"body":{"id":61854,"nodeType":"Block","src":"8890:1485:94","nodes":[],"statements":[{"assignments":[61702,61704],"declarations":[{"constant":false,"id":61702,"mutability":"mutable","name":"pool","nameLocation":"8919:4:94","nodeType":"VariableDeclaration","scope":61854,"src":"8901:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61701,"nodeType":"UserDefinedTypeName","pathNode":{"id":61700,"name":"IAllo.Pool","nameLocations":["8901:5:94","8907:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"8901:10:94"},"referencedDeclaration":2319,"src":"8901:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61704,"mutability":"mutable","name":"poolId","nameLocation":"8933:6:94","nodeType":"VariableDeclaration","scope":61854,"src":"8925:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61703,"name":"uint256","nodeType":"ElementaryTypeName","src":"8925:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61710,"initialValue":{"arguments":[{"id":61706,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8959:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8967:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8970:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61705,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"8943:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8943:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8900:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9044:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61711,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"9026:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9026:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61714,"nodeType":"ExpressionStatement","src":"9026:39:94"},{"assignments":[61720],"declarations":[{"constant":false,"id":61720,"mutability":"mutable","name":"votes","nameLocation":"9111:5:94","nodeType":"VariableDeclaration","scope":61854,"src":"9075:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61718,"nodeType":"UserDefinedTypeName","pathNode":{"id":61717,"name":"CVStrategy.ProposalSupport","nameLocations":["9075:10:94","9086:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9075:26:94"},"referencedDeclaration":57829,"src":"9075:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61719,"nodeType":"ArrayTypeName","src":"9075:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61727,"initialValue":{"arguments":[{"hexValue":"31","id":61725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9152:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9119:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61722,"nodeType":"UserDefinedTypeName","pathNode":{"id":61721,"name":"CVStrategy.ProposalSupport","nameLocations":["9123:10:94","9134:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9123:26:94"},"referencedDeclaration":57829,"src":"9123:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61723,"nodeType":"ArrayTypeName","src":"9123:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9075:79:94"},{"expression":{"id":61736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61728,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61720,"src":"9164:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61730,"indexExpression":{"hexValue":"30","id":61729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9170:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9164:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9202:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9205:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61731,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"9175:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9186:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"9175:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"9164:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61737,"nodeType":"ExpressionStatement","src":"9164:44:94"},{"assignments":[61739],"declarations":[{"constant":false,"id":61739,"mutability":"mutable","name":"data","nameLocation":"9271:4:94","nodeType":"VariableDeclaration","scope":61854,"src":"9258:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61738,"name":"bytes","nodeType":"ElementaryTypeName","src":"9258:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61744,"initialValue":{"arguments":[{"id":61742,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61720,"src":"9289:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9278:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9282:6:94","memberName":"encode","nodeType":"MemberAccess","src":"9278:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9278:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9258:37:94"},{"expression":{"arguments":[{"id":61748,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61704,"src":"9322:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61749,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"9330:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61745,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"9306:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9313:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"9306:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61751,"nodeType":"ExpressionStatement","src":"9306:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61752,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"9346:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61754,"nodeType":"ExpressionStatement","src":"9346:18:94"},{"assignments":[61756],"declarations":[{"constant":false,"id":61756,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"9382:13:94","nodeType":"VariableDeclaration","scope":61854,"src":"9374:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61755,"name":"uint256","nodeType":"ElementaryTypeName","src":"9374:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61762,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":61757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9398:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":61758,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"9403:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9398:18:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":61760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9419:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9398:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9374:48:94"},{"assignments":[61765],"declarations":[{"constant":false,"id":61765,"mutability":"mutable","name":"cv","nameLocation":"9443:2:94","nodeType":"VariableDeclaration","scope":61854,"src":"9432:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61764,"nodeType":"UserDefinedTypeName","pathNode":{"id":61763,"name":"CVStrategy","nameLocations":["9432:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"9432:10:94"},"referencedDeclaration":59653,"src":"9432:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61776,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61771,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61702,"src":"9475:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9480:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"9475:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9467:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61769,"name":"address","nodeType":"ElementaryTypeName","src":"9467:7:94","typeDescriptions":{}}},"id":61773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9467:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9459:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61767,"name":"address","nodeType":"ElementaryTypeName","src":"9459:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9459:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61766,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"9448:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"9432:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9535:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61783,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9546:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9538:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61781,"name":"address","nodeType":"ElementaryTypeName","src":"9538:7:94","typeDescriptions":{}}},"id":61784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9538:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61778,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"9510:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9513:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"9510:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9510:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61786,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"9554:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61777,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9501:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61788,"nodeType":"ExpressionStatement","src":"9501:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9632:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61790,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"9605:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9608:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"9605:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9605:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61794,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"9636:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61789,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9596:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61796,"nodeType":"ExpressionStatement","src":"9596:54:94"},{"assignments":[61802],"declarations":[{"constant":false,"id":61802,"mutability":"mutable","name":"votes2","nameLocation":"9956:6:94","nodeType":"VariableDeclaration","scope":61854,"src":"9920:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61800,"nodeType":"UserDefinedTypeName","pathNode":{"id":61799,"name":"CVStrategy.ProposalSupport","nameLocations":["9920:10:94","9931:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9920:26:94"},"referencedDeclaration":57829,"src":"9920:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61801,"nodeType":"ArrayTypeName","src":"9920:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":61809,"initialValue":{"arguments":[{"hexValue":"31","id":61807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9998:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9965:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61804,"nodeType":"UserDefinedTypeName","pathNode":{"id":61803,"name":"CVStrategy.ProposalSupport","nameLocations":["9969:10:94","9980:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9969:26:94"},"referencedDeclaration":57829,"src":"9969:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61805,"nodeType":"ArrayTypeName","src":"9969:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9965:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9920:80:94"},{"expression":{"id":61818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61810,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61802,"src":"10010:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61812,"indexExpression":{"hexValue":"30","id":61811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10017:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10010:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10049:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61813,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10022:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10033:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"10022:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10022:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10010:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61819,"nodeType":"ExpressionStatement","src":"10010:45:94"},{"expression":{"id":61825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61820,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"10065:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61823,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61802,"src":"10083:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10072:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10076:6:94","memberName":"encode","nodeType":"MemberAccess","src":"10072:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10072:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"10065:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":61826,"nodeType":"ExpressionStatement","src":"10065:25:94"},{"expression":{"arguments":[{"id":61830,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61704,"src":"10167:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61831,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"10175:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61827,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"10151:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10158:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"10151:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61833,"nodeType":"ExpressionStatement","src":"10151:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10252:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61840,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10263:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10255:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61838,"name":"address","nodeType":"ElementaryTypeName","src":"10255:7:94","typeDescriptions":{}}},"id":61841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61835,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"10227:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10230:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"10227:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61843,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"10271:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61834,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10218:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10218:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61845,"nodeType":"ExpressionStatement","src":"10218:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10350:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61847,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"10323:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10326:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"10323:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10323:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61851,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"10354:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61846,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10314:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10314:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61853,"nodeType":"ExpressionStatement","src":"10314:54:94"}]},"functionSelector":"d25bba07","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_change_support","nameLocation":"8843:37:94","parameters":{"id":61696,"nodeType":"ParameterList","parameters":[],"src":"8880:2:94"},"returnParameters":{"id":61697,"nodeType":"ParameterList","parameters":[],"src":"8890:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62023,"nodeType":"FunctionDefinition","src":"10381:1258:94","nodes":[],"body":{"id":62022,"nodeType":"Block","src":"10430:1209:94","nodes":[],"statements":[{"assignments":[61862,61864],"declarations":[{"constant":false,"id":61862,"mutability":"mutable","name":"pool","nameLocation":"10459:4:94","nodeType":"VariableDeclaration","scope":62022,"src":"10441:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61861,"nodeType":"UserDefinedTypeName","pathNode":{"id":61860,"name":"IAllo.Pool","nameLocations":["10441:5:94","10447:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"10441:10:94"},"referencedDeclaration":2319,"src":"10441:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61864,"mutability":"mutable","name":"poolId","nameLocation":"10473:6:94","nodeType":"VariableDeclaration","scope":62022,"src":"10465:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61863,"name":"uint256","nodeType":"ElementaryTypeName","src":"10465:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61870,"initialValue":{"arguments":[{"id":61866,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"10499:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10507:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10510:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61865,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"10483:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10440:72:94"},{"assignments":[61873],"declarations":[{"constant":false,"id":61873,"mutability":"mutable","name":"cv","nameLocation":"10534:2:94","nodeType":"VariableDeclaration","scope":62022,"src":"10523:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61872,"nodeType":"UserDefinedTypeName","pathNode":{"id":61871,"name":"CVStrategy","nameLocations":["10523:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"10523:10:94"},"referencedDeclaration":59653,"src":"10523:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61884,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61879,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"10566:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"10566:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10558:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61877,"name":"address","nodeType":"ElementaryTypeName","src":"10558:7:94","typeDescriptions":{}}},"id":61881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10550:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61875,"name":"address","nodeType":"ElementaryTypeName","src":"10550:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61874,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10539:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"10523:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":61889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10619:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":61888,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10605:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61885,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10593:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10596:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"10593:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61892,"nodeType":"ExpressionStatement","src":"10593:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":61897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10686:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":61896,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10672:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10672:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61893,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10657:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10660:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"10657:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61900,"nodeType":"ExpressionStatement","src":"10657:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":61905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10753:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":61904,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10739:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61901,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10726:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10729:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"10726:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61908,"nodeType":"ExpressionStatement","src":"10726:40:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10859:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61909,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"10841:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61912,"nodeType":"ExpressionStatement","src":"10841:39:94"},{"assignments":[61918],"declarations":[{"constant":false,"id":61918,"mutability":"mutable","name":"votes","nameLocation":"10926:5:94","nodeType":"VariableDeclaration","scope":62022,"src":"10890:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61916,"nodeType":"UserDefinedTypeName","pathNode":{"id":61915,"name":"CVStrategy.ProposalSupport","nameLocations":["10890:10:94","10901:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"10890:26:94"},"referencedDeclaration":57829,"src":"10890:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61917,"nodeType":"ArrayTypeName","src":"10890:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61925,"initialValue":{"arguments":[{"hexValue":"31","id":61923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10967:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10934:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61920,"nodeType":"UserDefinedTypeName","pathNode":{"id":61919,"name":"CVStrategy.ProposalSupport","nameLocations":["10938:10:94","10949:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"10938:26:94"},"referencedDeclaration":57829,"src":"10938:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61921,"nodeType":"ArrayTypeName","src":"10938:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10890:79:94"},{"expression":{"id":61934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61926,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"10979:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61928,"indexExpression":{"hexValue":"30","id":61927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10985:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10979:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11017:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61929,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10990:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11001:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"10990:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10979:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61935,"nodeType":"ExpressionStatement","src":"10979:44:94"},{"assignments":[61937],"declarations":[{"constant":false,"id":61937,"mutability":"mutable","name":"data","nameLocation":"11046:4:94","nodeType":"VariableDeclaration","scope":62022,"src":"11033:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61936,"name":"bytes","nodeType":"ElementaryTypeName","src":"11033:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61942,"initialValue":{"arguments":[{"id":61940,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"11064:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11053:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11057:6:94","memberName":"encode","nodeType":"MemberAccess","src":"11053:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11033:37:94"},{"expression":{"arguments":[{"id":61946,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61864,"src":"11096:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61947,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61937,"src":"11104:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61943,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"11080:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11087:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"11080:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61949,"nodeType":"ExpressionStatement","src":"11080:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61950,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"11119:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11119:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61952,"nodeType":"ExpressionStatement","src":"11119:18:94"},{"assignments":[61954],"declarations":[{"constant":false,"id":61954,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"11156:13:94","nodeType":"VariableDeclaration","scope":62022,"src":"11148:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61953,"name":"uint256","nodeType":"ElementaryTypeName","src":"11148:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61960,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":61955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":61956,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"11177:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11172:18:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":61958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11193:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"11172:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11148:48:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11240:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61967,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11251:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11243:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61965,"name":"address","nodeType":"ElementaryTypeName","src":"11243:7:94","typeDescriptions":{}}},"id":61968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11243:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61962,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11215:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"11215:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11215:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61970,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11259:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61961,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11206:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11206:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61972,"nodeType":"ExpressionStatement","src":"11206:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11319:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61974,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11292:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11295:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"11292:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61978,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11323:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61973,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11283:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61980,"nodeType":"ExpressionStatement","src":"11283:54:94"},{"assignments":[61982],"declarations":[{"constant":false,"id":61982,"mutability":"mutable","name":"cv_amount","nameLocation":"11356:9:94","nodeType":"VariableDeclaration","scope":62022,"src":"11348:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61981,"name":"uint256","nodeType":"ElementaryTypeName","src":"11348:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61989,"initialValue":{"arguments":[{"hexValue":"3130","id":61985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11391:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":61986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11395:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61987,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11398:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61983,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11368:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11371:19:94","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":59246,"src":"11368:22:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":61988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11368:44:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11348:64:94"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":61993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11434:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":61994,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61982,"src":"11451:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61990,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"11422:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":61992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"11422:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":61995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11422:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61996,"nodeType":"ExpressionStatement","src":"11422:39:94"},{"assignments":[61998],"declarations":[{"constant":false,"id":61998,"mutability":"mutable","name":"cv_cmp","nameLocation":"11479:6:94","nodeType":"VariableDeclaration","scope":62022,"src":"11471:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61997,"name":"uint256","nodeType":"ElementaryTypeName","src":"11471:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62009,"initialValue":{"arguments":[{"hexValue":"3130","id":62000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11509:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62002,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11516:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":62007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":62003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11531:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11543:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:2:94","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"11543:8:94","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"11531:20:94","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":61999,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"11488:20:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":62008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11488:64:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11471:81:94"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":62013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11574:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":62014,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"11588:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62010,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"11562:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11570:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"11562:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62016,"nodeType":"ExpressionStatement","src":"11562:33:94"},{"expression":{"arguments":[{"id":62018,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61982,"src":"11614:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62019,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"11625:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62017,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11605:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11605:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62021,"nodeType":"ExpressionStatement","src":"11605:27:94"}]},"functionSelector":"de8a1354","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_function","nameLocation":"10390:30:94","parameters":{"id":61856,"nodeType":"ParameterList","parameters":[],"src":"10420:2:94"},"returnParameters":{"id":61857,"nodeType":"ParameterList","parameters":[],"src":"10430:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62236,"nodeType":"FunctionDefinition","src":"11645:1898:94","nodes":[],"body":{"id":62235,"nodeType":"Block","src":"11696:1847:94","nodes":[],"statements":[{"assignments":[62030,62032],"declarations":[{"constant":false,"id":62030,"mutability":"mutable","name":"pool","nameLocation":"11725:4:94","nodeType":"VariableDeclaration","scope":62235,"src":"11707:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62029,"nodeType":"UserDefinedTypeName","pathNode":{"id":62028,"name":"IAllo.Pool","nameLocations":["11707:5:94","11713:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"11707:10:94"},"referencedDeclaration":2319,"src":"11707:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62032,"mutability":"mutable","name":"poolId","nameLocation":"11739:6:94","nodeType":"VariableDeclaration","scope":62235,"src":"11731:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62031,"name":"uint256","nodeType":"ElementaryTypeName","src":"11731:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62038,"initialValue":{"arguments":[{"id":62034,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"11765:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11773:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11776:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62033,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"11749:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11749:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11706:72:94"},{"assignments":[62041],"declarations":[{"constant":false,"id":62041,"mutability":"mutable","name":"cv","nameLocation":"11800:2:94","nodeType":"VariableDeclaration","scope":62235,"src":"11789:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62040,"nodeType":"UserDefinedTypeName","pathNode":{"id":62039,"name":"CVStrategy","nameLocations":["11789:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"11789:10:94"},"referencedDeclaration":59653,"src":"11789:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62052,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62047,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62030,"src":"11832:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"11832:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11824:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62045,"name":"address","nodeType":"ElementaryTypeName","src":"11824:7:94","typeDescriptions":{}}},"id":62049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11816:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62043,"name":"address","nodeType":"ElementaryTypeName","src":"11816:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11816:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62042,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"11805:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11805:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"11789:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":62057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11885:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":62056,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"11871:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11871:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62053,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11862:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"11859:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62060,"nodeType":"ExpressionStatement","src":"11859:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":62065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":62064,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"11938:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11938:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62061,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11923:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11926:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"11923:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11923:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62068,"nodeType":"ExpressionStatement","src":"11923:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":62073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12019:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":62072,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"12005:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62069,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11992:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11995:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"11992:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62076,"nodeType":"ExpressionStatement","src":"11992:40:94"},{"assignments":[62078],"declarations":[{"constant":false,"id":62078,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"12071:13:94","nodeType":"VariableDeclaration","scope":62235,"src":"12063:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62077,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62080,"initialValue":{"hexValue":"3435303030","id":62079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12087:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"12063:29:94"},{"expression":{"arguments":[{"arguments":[{"id":62084,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"12199:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12191:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62082,"name":"address","nodeType":"ElementaryTypeName","src":"12191:7:94","typeDescriptions":{}}},"id":62085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12229:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62089,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"12267:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12283:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"12267:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12304:8:94","memberName":"selector","nodeType":"MemberAccess","src":"12267:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62092,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12314:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12244:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12248:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12244:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12244:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62081,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"12167:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12167:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62095,"nodeType":"ExpressionStatement","src":"12167:171:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12409:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62096,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"12391:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12391:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62099,"nodeType":"ExpressionStatement","src":"12391:39:94"},{"assignments":[62105],"declarations":[{"constant":false,"id":62105,"mutability":"mutable","name":"votes","nameLocation":"12476:5:94","nodeType":"VariableDeclaration","scope":62235,"src":"12440:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62103,"nodeType":"UserDefinedTypeName","pathNode":{"id":62102,"name":"CVStrategy.ProposalSupport","nameLocations":["12440:10:94","12451:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"12440:26:94"},"referencedDeclaration":57829,"src":"12440:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62104,"nodeType":"ArrayTypeName","src":"12440:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62112,"initialValue":{"arguments":[{"hexValue":"31","id":62110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12517:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12484:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62107,"nodeType":"UserDefinedTypeName","pathNode":{"id":62106,"name":"CVStrategy.ProposalSupport","nameLocations":["12488:10:94","12499:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"12488:26:94"},"referencedDeclaration":57829,"src":"12488:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62108,"nodeType":"ArrayTypeName","src":"12488:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12484:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12440:79:94"},{"expression":{"id":62121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62113,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62105,"src":"12529:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62115,"indexExpression":{"hexValue":"30","id":62114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12535:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12529:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12567:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12570:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62116,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"12540:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12551:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"12540:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12540:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"12529:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62122,"nodeType":"ExpressionStatement","src":"12529:45:94"},{"assignments":[62124],"declarations":[{"constant":false,"id":62124,"mutability":"mutable","name":"data","nameLocation":"12597:4:94","nodeType":"VariableDeclaration","scope":62235,"src":"12584:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62123,"name":"bytes","nodeType":"ElementaryTypeName","src":"12584:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62129,"initialValue":{"arguments":[{"id":62127,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62105,"src":"12615:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12604:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12608:6:94","memberName":"encode","nodeType":"MemberAccess","src":"12604:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12604:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12584:37:94"},{"expression":{"arguments":[{"id":62133,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62032,"src":"12647:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62134,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62124,"src":"12655:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62130,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"12631:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12638:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"12631:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62136,"nodeType":"ExpressionStatement","src":"12631:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62137,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"12670:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12670:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62139,"nodeType":"ExpressionStatement","src":"12670:18:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12733:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62146,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12744:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12736:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62144,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:94","typeDescriptions":{}}},"id":62147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12736:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62141,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12708:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12711:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"12708:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62149,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12752:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62140,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12699:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62151,"nodeType":"ExpressionStatement","src":"12699:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12812:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62153,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12785:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12788:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"12785:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12785:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62157,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12816:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62152,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12776:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12776:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62159,"nodeType":"ExpressionStatement","src":"12776:54:94"},{"assignments":[62161],"declarations":[{"constant":false,"id":62161,"mutability":"mutable","name":"AMOUNT_STAKED_1","nameLocation":"12849:15:94","nodeType":"VariableDeclaration","scope":62235,"src":"12841:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62160,"name":"uint256","nodeType":"ElementaryTypeName","src":"12841:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62163,"initialValue":{"hexValue":"3135303030","id":62162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12867:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"nodeType":"VariableDeclarationStatement","src":"12841:31:94"},{"assignments":[62165],"declarations":[{"constant":false,"id":62165,"mutability":"mutable","name":"cv_amount","nameLocation":"12890:9:94","nodeType":"VariableDeclaration","scope":62235,"src":"12882:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62164,"name":"uint256","nodeType":"ElementaryTypeName","src":"12882:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62172,"initialValue":{"arguments":[{"hexValue":"3130","id":62168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12929:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62170,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"12932:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62166,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12902:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12905:19:94","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":59246,"src":"12902:22:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":62171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12902:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12882:66:94"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":62176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12971:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":62177,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"12988:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62173,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"12959:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12967:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"12959:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62179,"nodeType":"ExpressionStatement","src":"12959:39:94"},{"assignments":[62181],"declarations":[{"constant":false,"id":62181,"mutability":"mutable","name":"cv_cmp","nameLocation":"13016:6:94","nodeType":"VariableDeclaration","scope":62235,"src":"13008:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62180,"name":"uint256","nodeType":"ElementaryTypeName","src":"13008:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62192,"initialValue":{"arguments":[{"hexValue":"3130","id":62183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13046:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13050:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62185,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"13053:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":62190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":62186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13070:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13082:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13088:2:94","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"13082:8:94","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"13070:20:94","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":62182,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"13025:20:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":62191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13025:66:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13008:83:94"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":62196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13113:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":62197,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62181,"src":"13127:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62193,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"13101:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13109:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"13101:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13101:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62199,"nodeType":"ExpressionStatement","src":"13101:33:94"},{"expression":{"arguments":[{"id":62201,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"13154:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62202,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62181,"src":"13165:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62200,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13145:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13145:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62204,"nodeType":"ExpressionStatement","src":"13145:27:94"},{"expression":{"arguments":[{"id":62206,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"13191:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3135303030","id":62207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13208:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"}],"id":62205,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13182:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62209,"nodeType":"ExpressionStatement","src":"13182:32:94"},{"expression":{"arguments":[{"id":62211,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"13233:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":62212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13248:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":62210,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13224:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13224:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62214,"nodeType":"ExpressionStatement","src":"13224:30:94"},{"expression":{"arguments":[{"id":62216,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"13273:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3937363938","id":62217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13284:5:94","typeDescriptions":{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"},"value":"97698"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"}],"id":62215,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13264:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13264:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62219,"nodeType":"ExpressionStatement","src":"13264:26:94"},{"expression":{"arguments":[{"arguments":[{"id":62223,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"13397:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13389:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62221,"name":"address","nodeType":"ElementaryTypeName","src":"13389:7:94","typeDescriptions":{}}},"id":62224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13389:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13427:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62228,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"13465:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13481:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"13465:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13502:8:94","memberName":"selector","nodeType":"MemberAccess","src":"13465:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62231,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"13512:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13442:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13446:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13442:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62220,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"13365:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62234,"nodeType":"ExpressionStatement","src":"13365:171:94"}]},"functionSelector":"90ff95a4","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_as_js_test","nameLocation":"11654:32:94","parameters":{"id":62024,"nodeType":"ParameterList","parameters":[],"src":"11686:2:94"},"returnParameters":{"id":62025,"nodeType":"ParameterList","parameters":[],"src":"11696:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62413,"nodeType":"FunctionDefinition","src":"13549:1626:94","nodes":[],"body":{"id":62412,"nodeType":"Block","src":"13608:1567:94","nodes":[],"statements":[{"assignments":[62243,62245],"declarations":[{"constant":false,"id":62243,"mutability":"mutable","name":"pool","nameLocation":"13637:4:94","nodeType":"VariableDeclaration","scope":62412,"src":"13619:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62242,"nodeType":"UserDefinedTypeName","pathNode":{"id":62241,"name":"IAllo.Pool","nameLocations":["13619:5:94","13625:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13619:10:94"},"referencedDeclaration":2319,"src":"13619:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62245,"mutability":"mutable","name":"poolId","nameLocation":"13651:6:94","nodeType":"VariableDeclaration","scope":62412,"src":"13643:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62244,"name":"uint256","nodeType":"ElementaryTypeName","src":"13643:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62251,"initialValue":{"arguments":[{"id":62247,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"13677:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13685:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13688:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62246,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"13661:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13661:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13618:72:94"},{"assignments":[62254],"declarations":[{"constant":false,"id":62254,"mutability":"mutable","name":"cv","nameLocation":"13712:2:94","nodeType":"VariableDeclaration","scope":62412,"src":"13701:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62253,"nodeType":"UserDefinedTypeName","pathNode":{"id":62252,"name":"CVStrategy","nameLocations":["13701:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"13701:10:94"},"referencedDeclaration":59653,"src":"13701:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62265,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62260,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62243,"src":"13744:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"13744:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13736:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62258,"name":"address","nodeType":"ElementaryTypeName","src":"13736:7:94","typeDescriptions":{}}},"id":62262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13736:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13728:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62256,"name":"address","nodeType":"ElementaryTypeName","src":"13728:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13728:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62255,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"13717:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"13701:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":62270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13797:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":62269,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13783:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13783:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62266,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13771:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13774:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"13771:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13771:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62273,"nodeType":"ExpressionStatement","src":"13771:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":62278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13864:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":62277,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13850:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13850:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62274,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13835:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13838:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"13835:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13835:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62281,"nodeType":"ExpressionStatement","src":"13835:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":62286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13931:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":62285,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13917:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62282,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13904:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13907:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"13904:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13904:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62289,"nodeType":"ExpressionStatement","src":"13904:40:94"},{"expression":{"arguments":[{"arguments":[{"id":62293,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"14063:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14055:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62291,"name":"address","nodeType":"ElementaryTypeName","src":"14055:7:94","typeDescriptions":{}}},"id":62294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14055:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14081:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62298,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"14107:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14123:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"14107:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14144:8:94","memberName":"selector","nodeType":"MemberAccess","src":"14107:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":62301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14154:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":62296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14084:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14088:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14084:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14084:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62290,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"14031:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14031:139:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62304,"nodeType":"ExpressionStatement","src":"14031:139:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14241:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62305,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"14223:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62308,"nodeType":"ExpressionStatement","src":"14223:39:94"},{"assignments":[62314],"declarations":[{"constant":false,"id":62314,"mutability":"mutable","name":"votes","nameLocation":"14308:5:94","nodeType":"VariableDeclaration","scope":62412,"src":"14272:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62312,"nodeType":"UserDefinedTypeName","pathNode":{"id":62311,"name":"CVStrategy.ProposalSupport","nameLocations":["14272:10:94","14283:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"14272:26:94"},"referencedDeclaration":57829,"src":"14272:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62313,"nodeType":"ArrayTypeName","src":"14272:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62321,"initialValue":{"arguments":[{"hexValue":"31","id":62319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14349:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14316:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62316,"nodeType":"UserDefinedTypeName","pathNode":{"id":62315,"name":"CVStrategy.ProposalSupport","nameLocations":["14320:10:94","14331:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"14320:26:94"},"referencedDeclaration":57829,"src":"14320:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62317,"nodeType":"ArrayTypeName","src":"14320:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14316:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14272:79:94"},{"expression":{"id":62330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62322,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62314,"src":"14361:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62324,"indexExpression":{"hexValue":"30","id":62323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14367:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14361:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14399:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14402:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62325,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"14372:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14383:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"14372:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14372:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"14361:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62331,"nodeType":"ExpressionStatement","src":"14361:45:94"},{"assignments":[62333],"declarations":[{"constant":false,"id":62333,"mutability":"mutable","name":"data","nameLocation":"14450:4:94","nodeType":"VariableDeclaration","scope":62412,"src":"14437:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62332,"name":"bytes","nodeType":"ElementaryTypeName","src":"14437:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62338,"initialValue":{"arguments":[{"id":62336,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62314,"src":"14468:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:6:94","memberName":"encode","nodeType":"MemberAccess","src":"14457:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14437:37:94"},{"expression":{"arguments":[{"id":62342,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62245,"src":"14500:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62343,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62333,"src":"14508:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62339,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"14484:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14491:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"14484:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62345,"nodeType":"ExpressionStatement","src":"14484:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62346,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"14523:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62348,"nodeType":"ExpressionStatement","src":"14523:18:94"},{"assignments":[62350],"declarations":[{"constant":false,"id":62350,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"14560:13:94","nodeType":"VariableDeclaration","scope":62412,"src":"14552:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62349,"name":"uint256","nodeType":"ElementaryTypeName","src":"14552:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62352,"initialValue":{"hexValue":"3435303030","id":62351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14576:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"14552:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14625:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62359,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14636:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14628:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62357,"name":"address","nodeType":"ElementaryTypeName","src":"14628:7:94","typeDescriptions":{}}},"id":62360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14628:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62354,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14600:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14603:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"14600:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14600:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62362,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14644:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62353,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14591:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14591:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62364,"nodeType":"ExpressionStatement","src":"14591:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14722:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62366,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14695:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14698:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"14695:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62370,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14726:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62365,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14686:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14686:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62372,"nodeType":"ExpressionStatement","src":"14686:54:94"},{"assignments":[62374],"declarations":[{"constant":false,"id":62374,"mutability":"mutable","name":"ct1","nameLocation":"14777:3:94","nodeType":"VariableDeclaration","scope":62412,"src":"14769:11:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62373,"name":"uint256","nodeType":"ElementaryTypeName","src":"14769:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62379,"initialValue":{"arguments":[{"hexValue":"31303030","id":62377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:4:94","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":62375,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14783:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14786:18:94","memberName":"calculateThreshold","nodeType":"MemberAccess","referencedDeclaration":59341,"src":"14783:21:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14783:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14769:41:94"},{"expression":{"arguments":[{"hexValue":"7468726573686f6c64202573","id":62383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14832:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},"value":"threshold %s"},{"id":62384,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62374,"src":"14848:3:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62380,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"14820:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14828:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"14820:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14820:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62386,"nodeType":"ExpressionStatement","src":"14820:32:94"},{"expression":{"arguments":[{"id":62388,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14871:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":62389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14886:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":62387,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14862:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14862:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62391,"nodeType":"ExpressionStatement","src":"14862:30:94"},{"expression":{"arguments":[{"id":62393,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62374,"src":"14911:3:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3530363235","id":62394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14916:5:94","typeDescriptions":{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"},"value":"50625"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"}],"id":62392,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14902:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62396,"nodeType":"ExpressionStatement","src":"14902:20:94"},{"expression":{"arguments":[{"arguments":[{"id":62400,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15029:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62398,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:94","typeDescriptions":{}}},"id":62401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15059:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62405,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15097:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15113:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"15097:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15134:8:94","memberName":"selector","nodeType":"MemberAccess","src":"15097:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62408,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"15144:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15074:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15078:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15074:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15074:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62397,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"14997:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14997:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62411,"nodeType":"ExpressionStatement","src":"14997:171:94"}]},"functionSelector":"a6f2b82f","implemented":true,"kind":"function","modifiers":[],"name":"disabled_test_threshold_check_as_js_test","nameLocation":"13558:40:94","parameters":{"id":62237,"nodeType":"ParameterList","parameters":[],"src":"13598:2:94"},"returnParameters":{"id":62238,"nodeType":"ParameterList","parameters":[],"src":"13608:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62590,"nodeType":"FunctionDefinition","src":"15181:1522:94","nodes":[],"body":{"id":62589,"nodeType":"Block","src":"15224:1479:94","nodes":[],"statements":[{"assignments":[62420,62422],"declarations":[{"constant":false,"id":62420,"mutability":"mutable","name":"pool","nameLocation":"15253:4:94","nodeType":"VariableDeclaration","scope":62589,"src":"15235:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62419,"nodeType":"UserDefinedTypeName","pathNode":{"id":62418,"name":"IAllo.Pool","nameLocations":["15235:5:94","15241:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"15235:10:94"},"referencedDeclaration":2319,"src":"15235:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62422,"mutability":"mutable","name":"poolId","nameLocation":"15267:6:94","nodeType":"VariableDeclaration","scope":62589,"src":"15259:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62421,"name":"uint256","nodeType":"ElementaryTypeName","src":"15259:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62428,"initialValue":{"arguments":[{"id":62424,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"15293:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15301:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15304:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62423,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"15277:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15277:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"15234:72:94"},{"expression":{"arguments":[{"arguments":[{"id":62432,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15404:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15396:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62430,"name":"address","nodeType":"ElementaryTypeName","src":"15396:7:94","typeDescriptions":{}}},"id":62433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15396:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15422:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62437,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15448:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15464:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"15448:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15485:8:94","memberName":"selector","nodeType":"MemberAccess","src":"15448:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":62440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15495:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":62435,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15425:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15429:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15425:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15425:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62429,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"15372:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15372:139:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62443,"nodeType":"ExpressionStatement","src":"15372:139:94"},{"assignments":[62449],"declarations":[{"constant":false,"id":62449,"mutability":"mutable","name":"votes","nameLocation":"15652:5:94","nodeType":"VariableDeclaration","scope":62589,"src":"15616:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62447,"nodeType":"UserDefinedTypeName","pathNode":{"id":62446,"name":"CVStrategy.ProposalSupport","nameLocations":["15616:10:94","15627:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"15616:26:94"},"referencedDeclaration":57829,"src":"15616:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62448,"nodeType":"ArrayTypeName","src":"15616:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":62456,"initialValue":{"arguments":[{"hexValue":"31","id":62454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15693:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15660:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62451,"nodeType":"UserDefinedTypeName","pathNode":{"id":62450,"name":"CVStrategy.ProposalSupport","nameLocations":["15664:10:94","15675:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"15664:26:94"},"referencedDeclaration":57829,"src":"15664:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62452,"nodeType":"ArrayTypeName","src":"15664:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15660:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15616:79:94"},{"expression":{"id":62465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62457,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"15705:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62459,"indexExpression":{"hexValue":"30","id":62458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15711:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15705:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15743:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15746:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62460,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"15716:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15727:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"15716:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15716:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"15705:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62466,"nodeType":"ExpressionStatement","src":"15705:45:94"},{"assignments":[62468],"declarations":[{"constant":false,"id":62468,"mutability":"mutable","name":"data","nameLocation":"15773:4:94","nodeType":"VariableDeclaration","scope":62589,"src":"15760:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62467,"name":"bytes","nodeType":"ElementaryTypeName","src":"15760:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62473,"initialValue":{"arguments":[{"id":62471,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"15791:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62469,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15780:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15784:6:94","memberName":"encode","nodeType":"MemberAccess","src":"15780:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15780:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15760:37:94"},{"expression":{"arguments":[{"id":62477,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62422,"src":"15823:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62478,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"15831:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62474,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"15807:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15814:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"15807:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62480,"nodeType":"ExpressionStatement","src":"15807:29:94"},{"assignments":[62482],"declarations":[{"constant":false,"id":62482,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"15886:13:94","nodeType":"VariableDeclaration","scope":62589,"src":"15878:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62481,"name":"uint256","nodeType":"ElementaryTypeName","src":"15878:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62484,"initialValue":{"hexValue":"3435303030","id":62483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"15878:29:94"},{"assignments":[62487],"declarations":[{"constant":false,"id":62487,"mutability":"mutable","name":"cv","nameLocation":"15928:2:94","nodeType":"VariableDeclaration","scope":62589,"src":"15917:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62486,"nodeType":"UserDefinedTypeName","pathNode":{"id":62485,"name":"CVStrategy","nameLocations":["15917:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"15917:10:94"},"referencedDeclaration":59653,"src":"15917:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62498,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62493,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62420,"src":"15960:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"15960:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15952:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62491,"name":"address","nodeType":"ElementaryTypeName","src":"15952:7:94","typeDescriptions":{}}},"id":62495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15952:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15944:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62489,"name":"address","nodeType":"ElementaryTypeName","src":"15944:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15944:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62488,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"15933:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"15917:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62505,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16031:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16023:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62503,"name":"address","nodeType":"ElementaryTypeName","src":"16023:7:94","typeDescriptions":{}}},"id":62506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16023:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62500,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"15995:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15998:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"15995:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15995:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62508,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"16039:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62499,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"15986:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15986:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62510,"nodeType":"ExpressionStatement","src":"15986:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16099:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62512,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16072:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16075:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"16072:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16072:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62516,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"16103:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62511,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"16063:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16063:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62518,"nodeType":"ExpressionStatement","src":"16063:54:94"},{"expression":{"id":62528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62519,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"16128:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62521,"indexExpression":{"hexValue":"30","id":62520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16128:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16166:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"16169:4:94","subExpression":{"hexValue":"313030","id":62525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16170:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62522,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"16139:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16150:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"16139:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"16128:46:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62529,"nodeType":"ExpressionStatement","src":"16128:46:94"},{"expression":{"id":62535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62530,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"16184:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62533,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"16202:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16191:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16195:6:94","memberName":"encode","nodeType":"MemberAccess","src":"16191:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"16184:24:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62536,"nodeType":"ExpressionStatement","src":"16184:24:94"},{"expression":{"arguments":[{"id":62540,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62422,"src":"16234:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62541,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"16242:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62537,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"16218:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"16218:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62543,"nodeType":"ExpressionStatement","src":"16218:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16292:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62550,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16303:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16295:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62548,"name":"address","nodeType":"ElementaryTypeName","src":"16295:7:94","typeDescriptions":{}}},"id":62551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16295:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62545,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16267:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16270:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"16267:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16267:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16311:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65","id":62554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16314:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""},"value":"VoterStake"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""}],"id":62544,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16258:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16258:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62556,"nodeType":"ExpressionStatement","src":"16258:69:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16373:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62558,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16346:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"16346:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16346:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16377:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"5374616b6564416d6f756e74","id":62563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16380:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""},"value":"StakedAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""}],"id":62557,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16337:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16337:58:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62565,"nodeType":"ExpressionStatement","src":"16337:58:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62567,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16415:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16418:11:94","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":57867,"src":"16415:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16415:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16433:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564","id":62571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16436:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""},"value":"TotalStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""}],"id":62566,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16406:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:44:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62573,"nodeType":"ExpressionStatement","src":"16406:44:94"},{"expression":{"arguments":[{"arguments":[{"id":62577,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"16557:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16549:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62575,"name":"address","nodeType":"ElementaryTypeName","src":"16549:7:94","typeDescriptions":{}}},"id":62578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16549:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16587:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62582,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"16625:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16641:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"16625:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16662:8:94","memberName":"selector","nodeType":"MemberAccess","src":"16625:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62585,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"16672:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62580,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16602:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16606:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16602:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62574,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"16525:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16525:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62588,"nodeType":"ExpressionStatement","src":"16525:171:94"}]},"functionSelector":"61164d4e","implemented":true,"kind":"function","modifiers":[],"name":"test_total_staked_amount","nameLocation":"15190:24:94","parameters":{"id":62414,"nodeType":"ParameterList","parameters":[],"src":"15214:2:94"},"returnParameters":{"id":62415,"nodeType":"ParameterList","parameters":[],"src":"15224:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62689,"nodeType":"FunctionDefinition","src":"16709:866:94","nodes":[],"body":{"id":62688,"nodeType":"Block","src":"16769:806:94","nodes":[],"statements":[{"assignments":[62597,62599],"declarations":[{"constant":false,"id":62597,"mutability":"mutable","name":"pool","nameLocation":"16798:4:94","nodeType":"VariableDeclaration","scope":62688,"src":"16780:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62596,"nodeType":"UserDefinedTypeName","pathNode":{"id":62595,"name":"IAllo.Pool","nameLocations":["16780:5:94","16786:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"16780:10:94"},"referencedDeclaration":2319,"src":"16780:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62599,"mutability":"mutable","name":"poolId","nameLocation":"16812:6:94","nodeType":"VariableDeclaration","scope":62688,"src":"16804:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62598,"name":"uint256","nodeType":"ElementaryTypeName","src":"16804:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62605,"initialValue":{"arguments":[{"id":62601,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16838:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16846:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16849:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62600,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"16822:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16779:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16934:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62606,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"16916:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62609,"nodeType":"ExpressionStatement","src":"16916:39:94"},{"assignments":[62615],"declarations":[{"constant":false,"id":62615,"mutability":"mutable","name":"votes","nameLocation":"17001:5:94","nodeType":"VariableDeclaration","scope":62688,"src":"16965:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62613,"nodeType":"UserDefinedTypeName","pathNode":{"id":62612,"name":"CVStrategy.ProposalSupport","nameLocations":["16965:10:94","16976:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"16965:26:94"},"referencedDeclaration":57829,"src":"16965:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62614,"nodeType":"ArrayTypeName","src":"16965:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62622,"initialValue":{"arguments":[{"hexValue":"32","id":62620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17042:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17009:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62617,"nodeType":"UserDefinedTypeName","pathNode":{"id":62616,"name":"CVStrategy.ProposalSupport","nameLocations":["17013:10:94","17024:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"17013:26:94"},"referencedDeclaration":57829,"src":"17013:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62618,"nodeType":"ArrayTypeName","src":"17013:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17009:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16965:79:94"},{"expression":{"id":62631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62623,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17054:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62625,"indexExpression":{"hexValue":"30","id":62624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17060:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17054:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17092:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17095:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62626,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17065:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17076:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"17065:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"17054:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62632,"nodeType":"ExpressionStatement","src":"17054:45:94"},{"expression":{"baseExpression":{"id":62633,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17109:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62635,"indexExpression":{"hexValue":"31","id":62634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17115:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17109:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62636,"nodeType":"ExpressionStatement","src":"17109:8:94"},{"assignments":[62638],"declarations":[{"constant":false,"id":62638,"mutability":"mutable","name":"data","nameLocation":"17140:4:94","nodeType":"VariableDeclaration","scope":62688,"src":"17127:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62637,"name":"bytes","nodeType":"ElementaryTypeName","src":"17127:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62643,"initialValue":{"arguments":[{"id":62641,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17158:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17147:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17151:6:94","memberName":"encode","nodeType":"MemberAccess","src":"17147:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17127:37:94"},{"expression":{"arguments":[{"id":62647,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62599,"src":"17296:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62648,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62638,"src":"17304:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62644,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"17280:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17287:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"17280:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62650,"nodeType":"ExpressionStatement","src":"17280:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62651,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"17319:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17319:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62653,"nodeType":"ExpressionStatement","src":"17319:18:94"},{"assignments":[62656],"declarations":[{"constant":false,"id":62656,"mutability":"mutable","name":"cv","nameLocation":"17359:2:94","nodeType":"VariableDeclaration","scope":62688,"src":"17348:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62655,"nodeType":"UserDefinedTypeName","pathNode":{"id":62654,"name":"CVStrategy","nameLocations":["17348:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"17348:10:94"},"referencedDeclaration":59653,"src":"17348:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62667,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62662,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62597,"src":"17391:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17396:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17391:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17383:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62660,"name":"address","nodeType":"ElementaryTypeName","src":"17383:7:94","typeDescriptions":{}}},"id":62664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17383:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17375:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62658,"name":"address","nodeType":"ElementaryTypeName","src":"17375:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17375:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62657,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17364:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17364:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17348:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17452:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62674,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17463:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17455:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62672,"name":"address","nodeType":"ElementaryTypeName","src":"17455:7:94","typeDescriptions":{}}},"id":62675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62669,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62656,"src":"17427:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17430:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"17427:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17427:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62677,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"17471:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62668,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17418:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62679,"nodeType":"ExpressionStatement","src":"17418:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17550:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62681,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62656,"src":"17523:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17526:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"17523:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62685,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"17554:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62680,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17514:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17514:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62687,"nodeType":"ExpressionStatement","src":"17514:54:94"}]},"functionSelector":"39b7e525","implemented":true,"kind":"function","modifiers":[],"name":"test_allocate_proposalSupport_empty_array","nameLocation":"16718:41:94","parameters":{"id":62591,"nodeType":"ParameterList","parameters":[],"src":"16759:2:94"},"returnParameters":{"id":62592,"nodeType":"ParameterList","parameters":[],"src":"16769:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63071,"nodeType":"FunctionDefinition","src":"17581:3967:94","nodes":[],"body":{"id":63070,"nodeType":"Block","src":"17651:3897:94","nodes":[],"statements":[{"assignments":[62696,62698],"declarations":[{"constant":false,"id":62696,"mutability":"mutable","name":"pool","nameLocation":"17680:4:94","nodeType":"VariableDeclaration","scope":63070,"src":"17662:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62695,"nodeType":"UserDefinedTypeName","pathNode":{"id":62694,"name":"IAllo.Pool","nameLocations":["17662:5:94","17668:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"17662:10:94"},"referencedDeclaration":2319,"src":"17662:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62698,"mutability":"mutable","name":"poolId","nameLocation":"17694:6:94","nodeType":"VariableDeclaration","scope":63070,"src":"17686:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62697,"name":"uint256","nodeType":"ElementaryTypeName","src":"17686:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62707,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":62702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17728:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17720:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62700,"name":"address","nodeType":"ElementaryTypeName","src":"17720:7:94","typeDescriptions":{}}},"id":62703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3530","id":62704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17732:8:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50"},{"hexValue":"315f303030","id":62705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17742:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":62699,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"17704:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17704:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"17661:93:94"},{"assignments":[62710],"declarations":[{"constant":false,"id":62710,"mutability":"mutable","name":"cv","nameLocation":"17776:2:94","nodeType":"VariableDeclaration","scope":63070,"src":"17765:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62709,"nodeType":"UserDefinedTypeName","pathNode":{"id":62708,"name":"CVStrategy","nameLocations":["17765:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"17765:10:94"},"referencedDeclaration":59653,"src":"17765:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62721,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62716,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62696,"src":"17808:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62717,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17813:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17808:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17800:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62714,"name":"address","nodeType":"ElementaryTypeName","src":"17800:7:94","typeDescriptions":{}}},"id":62718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17800:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17792:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62712,"name":"address","nodeType":"ElementaryTypeName","src":"17792:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17792:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62711,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17781:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17781:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17765:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":62726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18110:15:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":62725,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18096:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18096:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62722,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18084:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18087:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"18084:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18084:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62729,"nodeType":"ExpressionStatement","src":"18084:43:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":62734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18183:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":62733,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18169:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18169:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62730,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18154:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18157:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"18154:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18154:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62737,"nodeType":"ExpressionStatement","src":"18154:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":62742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18250:12:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":62741,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18236:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18236:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62738,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18223:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18226:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"18223:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18223:41:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62745,"nodeType":"ExpressionStatement","src":"18223:41:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18367:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62746,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"18349:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18349:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62749,"nodeType":"ExpressionStatement","src":"18349:39:94"},{"assignments":[62751],"declarations":[{"constant":false,"id":62751,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"18405:11:94","nodeType":"VariableDeclaration","scope":63070,"src":"18398:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62750,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":62753,"initialValue":{"hexValue":"313030","id":62752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18419:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"18398:24:94"},{"assignments":[62759],"declarations":[{"constant":false,"id":62759,"mutability":"mutable","name":"votes","nameLocation":"18468:5:94","nodeType":"VariableDeclaration","scope":63070,"src":"18432:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62757,"nodeType":"UserDefinedTypeName","pathNode":{"id":62756,"name":"CVStrategy.ProposalSupport","nameLocations":["18432:10:94","18443:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"18432:26:94"},"referencedDeclaration":57829,"src":"18432:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62758,"nodeType":"ArrayTypeName","src":"18432:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62766,"initialValue":{"arguments":[{"hexValue":"31","id":62764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18509:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18476:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62761,"nodeType":"UserDefinedTypeName","pathNode":{"id":62760,"name":"CVStrategy.ProposalSupport","nameLocations":["18480:10:94","18491:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"18480:26:94"},"referencedDeclaration":57829,"src":"18480:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62762,"nodeType":"ArrayTypeName","src":"18480:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18476:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18432:79:94"},{"expression":{"id":62775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62767,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62759,"src":"18521:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62769,"indexExpression":{"hexValue":"30","id":62768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18527:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18521:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18559:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62773,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62751,"src":"18562:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":62770,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"18532:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18543:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"18532:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18532:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"18521:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62776,"nodeType":"ExpressionStatement","src":"18521:53:94"},{"assignments":[62778],"declarations":[{"constant":false,"id":62778,"mutability":"mutable","name":"data","nameLocation":"18618:4:94","nodeType":"VariableDeclaration","scope":63070,"src":"18605:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62777,"name":"bytes","nodeType":"ElementaryTypeName","src":"18605:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62783,"initialValue":{"arguments":[{"id":62781,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62759,"src":"18636:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18625:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18629:6:94","memberName":"encode","nodeType":"MemberAccess","src":"18625:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18625:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18605:37:94"},{"expression":{"arguments":[{"id":62787,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"18668:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62788,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"18676:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62784,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"18652:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18659:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"18652:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62790,"nodeType":"ExpressionStatement","src":"18652:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62791,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"18691:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62793,"nodeType":"ExpressionStatement","src":"18691:18:94"},{"assignments":[62795],"declarations":[{"constant":false,"id":62795,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"18728:13:94","nodeType":"VariableDeclaration","scope":63070,"src":"18720:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62794,"name":"uint256","nodeType":"ElementaryTypeName","src":"18720:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62804,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62798,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62751,"src":"18752:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18744:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":62796,"name":"uint256","nodeType":"ElementaryTypeName","src":"18744:7:94","typeDescriptions":{}}},"id":62799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18744:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62800,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"18767:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18744:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":62802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18783:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"18744:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18720:66:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18830:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62811,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18841:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18833:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62809,"name":"address","nodeType":"ElementaryTypeName","src":"18833:7:94","typeDescriptions":{}}},"id":62812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62806,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18805:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18808:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"18805:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18805:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62814,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"18849:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62805,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18796:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18796:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62816,"nodeType":"ExpressionStatement","src":"18796:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18927:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62818,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18900:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18903:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"18900:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18900:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62822,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"18931:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62817,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18891:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18891:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62824,"nodeType":"ExpressionStatement","src":"18891:54:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62828,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19042:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19042:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62825,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19028:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19031:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"19028:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19028:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62831,"nodeType":"ExpressionStatement","src":"19028:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62832,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19158:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19161:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"19158:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19158:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62836,"nodeType":"ExpressionStatement","src":"19158:19:94"},{"assignments":[62842],"declarations":[{"constant":false,"id":62842,"mutability":"mutable","name":"votes2","nameLocation":"19224:6:94","nodeType":"VariableDeclaration","scope":63070,"src":"19188:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62840,"nodeType":"UserDefinedTypeName","pathNode":{"id":62839,"name":"CVStrategy.ProposalSupport","nameLocations":["19188:10:94","19199:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"19188:26:94"},"referencedDeclaration":57829,"src":"19188:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62841,"nodeType":"ArrayTypeName","src":"19188:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62849,"initialValue":{"arguments":[{"hexValue":"31","id":62847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19266:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19233:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62844,"nodeType":"UserDefinedTypeName","pathNode":{"id":62843,"name":"CVStrategy.ProposalSupport","nameLocations":["19237:10:94","19248:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"19237:26:94"},"referencedDeclaration":57829,"src":"19237:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62845,"nodeType":"ArrayTypeName","src":"19237:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19233:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19188:80:94"},{"assignments":[62851],"declarations":[{"constant":false,"id":62851,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"19285:12:94","nodeType":"VariableDeclaration","scope":63070,"src":"19278:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62850,"name":"int256","nodeType":"ElementaryTypeName","src":"19278:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":62853,"initialValue":{"hexValue":"313030","id":62852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19300:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"19278:25:94"},{"expression":{"id":62862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62854,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62842,"src":"19313:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62856,"indexExpression":{"hexValue":"30","id":62855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19320:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19313:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19352:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62860,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62851,"src":"19355:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":62857,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"19325:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19336:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"19325:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19325:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"19313:55:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62863,"nodeType":"ExpressionStatement","src":"19313:55:94"},{"expression":{"id":62869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62864,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"19378:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62867,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62842,"src":"19396:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62865,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19385:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19389:6:94","memberName":"encode","nodeType":"MemberAccess","src":"19385:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19385:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19378:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62870,"nodeType":"ExpressionStatement","src":"19378:25:94"},{"expression":{"arguments":[{"id":62874,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"19480:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62875,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"19488:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62871,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"19464:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19471:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"19464:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62877,"nodeType":"ExpressionStatement","src":"19464:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19503:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19506:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"19503:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19503:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62882,"nodeType":"ExpressionStatement","src":"19503:14:94"},{"assignments":[62884],"declarations":[{"constant":false,"id":62884,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"19536:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"19528:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62883,"name":"uint256","nodeType":"ElementaryTypeName","src":"19528:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62893,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62887,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62851,"src":"19561:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19553:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":62885,"name":"uint256","nodeType":"ElementaryTypeName","src":"19553:7:94","typeDescriptions":{}}},"id":62888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19553:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62889,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"19577:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19553:37:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":62891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19593:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"19553:43:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19528:68:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19641:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62900,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19652:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19652:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19644:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62898,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:94","typeDescriptions":{}}},"id":62902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19644:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62895,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19616:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19619:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"19616:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62904,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62884,"src":"19668:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62894,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19607:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19607:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62906,"nodeType":"ExpressionStatement","src":"19607:76:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19748:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62908,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19721:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19724:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"19721:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19721:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62912,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"19752:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62913,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62884,"src":"19768:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19752:30:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62907,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19712:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19712:71:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62916,"nodeType":"ExpressionStatement","src":"19712:71:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":62920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19860:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":62921,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"19883:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":62922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19889:6:94","memberName":"number","nodeType":"MemberAccess","src":"19883:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62917,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"19848:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19856:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"19848:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19848:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62924,"nodeType":"ExpressionStatement","src":"19848:48:94"},{"assignments":[62926],"declarations":[{"constant":false,"id":62926,"mutability":"mutable","name":"totalEffectiveActivePoints","nameLocation":"19914:26:94","nodeType":"VariableDeclaration","scope":63070,"src":"19906:34:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62925,"name":"uint256","nodeType":"ElementaryTypeName","src":"19906:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62930,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62927,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19943:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19946:26:94","memberName":"totalEffectiveActivePoints","nodeType":"MemberAccess","referencedDeclaration":59478,"src":"19943:29:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19943:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19906:68:94"},{"expression":{"arguments":[{"hexValue":"746f74616c456666656374697665416374697665506f696e7473","id":62934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19996:28:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},"value":"totalEffectiveActivePoints"},{"id":62935,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20026:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62931,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"19984:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19992:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"19984:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62937,"nodeType":"ExpressionStatement","src":"19984:69:94"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":62941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20075:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"id":62944,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20110:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62942,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20090:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20093:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20090:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20090:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62938,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20063:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20071:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20063:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62947,"nodeType":"ExpressionStatement","src":"20063:75:94"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":62951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20160:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":62956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20222:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62954,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20195:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20198:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"20195:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20195:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62952,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20175:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20178:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20175:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20175:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62948,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20148:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20156:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20148:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20148:78:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62960,"nodeType":"ExpressionStatement","src":"20148:78:94"},{"expression":{"arguments":[{"arguments":[{"id":62964,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20266:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62962,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20246:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20249:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20246:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"323839303334","id":62966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20295:6:94","typeDescriptions":{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},"value":"289034"},{"hexValue":"6d61784356537570706c79","id":62967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20303:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""}],"id":62961,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20237:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20237:80:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62969,"nodeType":"ExpressionStatement","src":"20237:80:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"31","id":62975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20383:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62973,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20356:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20359:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"20356:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62971,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20336:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20339:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20336:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20336:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3238393033","id":62978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20388:5:94","typeDescriptions":{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},"value":"28903"},{"hexValue":"6d617843565374616b6564","id":62979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20395:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""}],"id":62970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20327:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20327:82:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62981,"nodeType":"ExpressionStatement","src":"20327:82:94"},{"expression":{"arguments":[{"hexValue":"313130","id":62985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20428:3:94","typeDescriptions":{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"},"value":"110"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"}],"expression":{"id":62982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"20420:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20423:4:94","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23810,"src":"20420:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20420:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62987,"nodeType":"ExpressionStatement","src":"20420:12:94"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":62991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20454:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":62992,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20476:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":62993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20482:6:94","memberName":"number","nodeType":"MemberAccess","src":"20476:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62988,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20442:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20450:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20442:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20442:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62995,"nodeType":"ExpressionStatement","src":"20442:47:94"},{"expression":{"arguments":[{"hexValue":"31","id":62999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20774:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62996,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20746:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20749:24:94","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":59576,"src":"20746:27:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":63000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20746:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63001,"nodeType":"ExpressionStatement","src":"20746:30:94"},{"assignments":[null,null,null,63003,63005,null,null,null,63007,null,63009,63011],"declarations":[null,null,null,{"constant":false,"id":63003,"mutability":"mutable","name":"requestedAmount","nameLocation":"20851:15:94","nodeType":"VariableDeclaration","scope":63070,"src":"20843:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63002,"name":"uint256","nodeType":"ElementaryTypeName","src":"20843:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63005,"mutability":"mutable","name":"stakedTokens","nameLocation":"20888:12:94","nodeType":"VariableDeclaration","scope":63070,"src":"20880:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63004,"name":"uint256","nodeType":"ElementaryTypeName","src":"20880:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":63007,"mutability":"mutable","name":"convictionLast","nameLocation":"20964:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"20956:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63006,"name":"uint256","nodeType":"ElementaryTypeName","src":"20956:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63009,"mutability":"mutable","name":"threshold","nameLocation":"21014:9:94","nodeType":"VariableDeclaration","scope":63070,"src":"21006:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63008,"name":"uint256","nodeType":"ElementaryTypeName","src":"21006:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63011,"mutability":"mutable","name":"voterPointsPct","nameLocation":"21045:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"21037:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63010,"name":"uint256","nodeType":"ElementaryTypeName","src":"21037:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63016,"initialValue":{"arguments":[{"hexValue":"31","id":63014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21087:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63012,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"21072:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21075:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"21072:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20787:302:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21112:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63021,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63003,"src":"21136:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63017,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21100:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21108:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21100:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21100:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63023,"nodeType":"ExpressionStatement","src":"21100:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21174:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63028,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63005,"src":"21195:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63024,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21162:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21170:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21162:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21162:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63030,"nodeType":"ExpressionStatement","src":"21162:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21230:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63035,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63009,"src":"21247:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63031,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21218:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21226:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21218:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21218:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63037,"nodeType":"ExpressionStatement","src":"21218:39:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21279:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63042,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63007,"src":"21302:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63038,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21267:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21275:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21267:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21267:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63044,"nodeType":"ExpressionStatement","src":"21267:50:94"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":63048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21339:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":63049,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63011,"src":"21362:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63045,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21327:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21335:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21327:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63051,"nodeType":"ExpressionStatement","src":"21327:50:94"},{"expression":{"arguments":[{"id":63053,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63009,"src":"21396:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3537383036","id":63054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21407:5:94","typeDescriptions":{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},"value":"57806"},{"hexValue":"7468726573686f6c64","id":63055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21414:11:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""},"value":"threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""}],"id":63052,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21387:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21387:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63057,"nodeType":"ExpressionStatement","src":"21387:39:94"},{"expression":{"arguments":[{"id":63059,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63007,"src":"21445:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"39303933","id":63060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21461:4:94","typeDescriptions":{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},"value":"9093"},{"hexValue":"636f6e76696374696f6e4c617374","id":63061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21467:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""},"value":"convictionLast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""}],"id":63058,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21436:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21436:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63063,"nodeType":"ExpressionStatement","src":"21436:48:94"},{"expression":{"arguments":[{"id":63065,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63011,"src":"21503:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313030","id":63066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21519:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"766f746572506f696e7473506374","id":63067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21524:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""},"value":"voterPointsPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""}],"id":63064,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21494:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21494:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63069,"nodeType":"ExpressionStatement","src":"21494:47:94"}]},"functionSelector":"503c712e","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_conviction_threshold_2_users","nameLocation":"17590:51:94","parameters":{"id":62690,"nodeType":"ParameterList","parameters":[],"src":"17641:2:94"},"returnParameters":{"id":62691,"nodeType":"ParameterList","parameters":[],"src":"17651:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63428,"nodeType":"FunctionDefinition","src":"21554:3158:94","nodes":[],"body":{"id":63427,"nodeType":"Block","src":"21597:3115:94","nodes":[],"statements":[{"assignments":[63078,63080],"declarations":[{"constant":false,"id":63078,"mutability":"mutable","name":"pool","nameLocation":"21626:4:94","nodeType":"VariableDeclaration","scope":63427,"src":"21608:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63077,"nodeType":"UserDefinedTypeName","pathNode":{"id":63076,"name":"IAllo.Pool","nameLocations":["21608:5:94","21614:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21608:10:94"},"referencedDeclaration":2319,"src":"21608:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63080,"mutability":"mutable","name":"poolId","nameLocation":"21640:6:94","nodeType":"VariableDeclaration","scope":63427,"src":"21632:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63079,"name":"uint256","nodeType":"ElementaryTypeName","src":"21632:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63086,"initialValue":{"arguments":[{"id":63082,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21666:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21674:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21677:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63081,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"21650:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21650:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21607:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21762:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63087,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"21744:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21744:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63090,"nodeType":"ExpressionStatement","src":"21744:39:94"},{"assignments":[63092],"declarations":[{"constant":false,"id":63092,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"21800:11:94","nodeType":"VariableDeclaration","scope":63427,"src":"21793:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63091,"name":"int256","nodeType":"ElementaryTypeName","src":"21793:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63094,"initialValue":{"hexValue":"3830","id":63093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21814:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"VariableDeclarationStatement","src":"21793:23:94"},{"assignments":[63100],"declarations":[{"constant":false,"id":63100,"mutability":"mutable","name":"votes","nameLocation":"21862:5:94","nodeType":"VariableDeclaration","scope":63427,"src":"21826:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63098,"nodeType":"UserDefinedTypeName","pathNode":{"id":63097,"name":"CVStrategy.ProposalSupport","nameLocations":["21826:10:94","21837:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"21826:26:94"},"referencedDeclaration":57829,"src":"21826:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63099,"nodeType":"ArrayTypeName","src":"21826:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63107,"initialValue":{"arguments":[{"hexValue":"31","id":63105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21903:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"21870:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63102,"nodeType":"UserDefinedTypeName","pathNode":{"id":63101,"name":"CVStrategy.ProposalSupport","nameLocations":["21874:10:94","21885:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"21874:26:94"},"referencedDeclaration":57829,"src":"21874:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63103,"nodeType":"ArrayTypeName","src":"21874:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21870:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"21826:79:94"},{"expression":{"id":63116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63108,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"21915:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63110,"indexExpression":{"hexValue":"30","id":63109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21921:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21915:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21953:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63114,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"21956:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63111,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"21926:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21937:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"21926:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21926:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"21915:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63117,"nodeType":"ExpressionStatement","src":"21915:53:94"},{"assignments":[63119],"declarations":[{"constant":false,"id":63119,"mutability":"mutable","name":"data","nameLocation":"22012:4:94","nodeType":"VariableDeclaration","scope":63427,"src":"21999:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63118,"name":"bytes","nodeType":"ElementaryTypeName","src":"21999:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63124,"initialValue":{"arguments":[{"id":63122,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"22030:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22019:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22023:6:94","memberName":"encode","nodeType":"MemberAccess","src":"22019:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22019:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21999:37:94"},{"expression":{"arguments":[{"id":63128,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22062:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63129,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"22070:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63125,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22046:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22053:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"22046:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63131,"nodeType":"ExpressionStatement","src":"22046:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63132,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"22085:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22085:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63134,"nodeType":"ExpressionStatement","src":"22085:18:94"},{"assignments":[63136],"declarations":[{"constant":false,"id":63136,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"22122:13:94","nodeType":"VariableDeclaration","scope":63427,"src":"22114:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63135,"name":"uint256","nodeType":"ElementaryTypeName","src":"22114:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63139,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"22146:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22138:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63137,"name":"uint256","nodeType":"ElementaryTypeName","src":"22138:7:94","typeDescriptions":{}}},"id":63140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22138:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63141,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"22161:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22138:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22177:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"22138:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22114:66:94"},{"assignments":[63148],"declarations":[{"constant":false,"id":63148,"mutability":"mutable","name":"cv","nameLocation":"22201:2:94","nodeType":"VariableDeclaration","scope":63427,"src":"22190:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63147,"nodeType":"UserDefinedTypeName","pathNode":{"id":63146,"name":"CVStrategy","nameLocations":["22190:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"22190:10:94"},"referencedDeclaration":59653,"src":"22190:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63159,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63154,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63078,"src":"22233:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22238:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"22233:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22225:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63152,"name":"address","nodeType":"ElementaryTypeName","src":"22225:7:94","typeDescriptions":{}}},"id":63156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22225:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22217:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63150,"name":"address","nodeType":"ElementaryTypeName","src":"22217:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63149,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22206:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22206:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"22190:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22293:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63166,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22304:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":63165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22296:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63164,"name":"address","nodeType":"ElementaryTypeName","src":"22296:7:94","typeDescriptions":{}}},"id":63167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22296:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63161,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"22268:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22271:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"22268:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22268:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63169,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63136,"src":"22312:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6531","id":63170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22327:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""},"value":"ProposalVoterStake1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""}],"id":63160,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"22259:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22259:90:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63172,"nodeType":"ExpressionStatement","src":"22259:90:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22413:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63174,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"22386:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"22386:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63178,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63136,"src":"22417:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63173,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"22377:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22377:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63180,"nodeType":"ExpressionStatement","src":"22377:54:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63184,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22528:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63181,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"22514:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22517:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"22514:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22514:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63187,"nodeType":"ExpressionStatement","src":"22514:27:94"},{"assignments":[63189],"declarations":[{"constant":false,"id":63189,"mutability":"mutable","name":"proposalID2","nameLocation":"22560:11:94","nodeType":"VariableDeclaration","scope":63427,"src":"22552:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63188,"name":"uint256","nodeType":"ElementaryTypeName","src":"22552:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63191,"initialValue":{"hexValue":"32","id":63190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22574:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"22552:23:94"},{"assignments":[63196],"declarations":[{"constant":false,"id":63196,"mutability":"mutable","name":"proposal","nameLocation":"22618:8:94","nodeType":"VariableDeclaration","scope":63427,"src":"22585:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63195,"nodeType":"UserDefinedTypeName","pathNode":{"id":63194,"name":"CVStrategy.CreateProposal","nameLocations":["22585:10:94","22596:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"22585:25:94"},"referencedDeclaration":57786,"src":"22585:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63212,"initialValue":{"arguments":[{"id":63199,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"22668:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63200,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22681:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63201,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22689:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22689:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63203,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22703:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22714:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"22703:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22727:7:94","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57770,"src":"22703:31:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":63206,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"22736:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63209,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"22762:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":63208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22754:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63207,"name":"address","nodeType":"ElementaryTypeName","src":"22754:7:94","typeDescriptions":{}}},"id":63210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22754:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63197,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22629:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22640:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"22629:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22629:149:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"22585:193:94"},{"assignments":[63214],"declarations":[{"constant":false,"id":63214,"mutability":"mutable","name":"data2","nameLocation":"22801:5:94","nodeType":"VariableDeclaration","scope":63427,"src":"22788:18:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63213,"name":"bytes","nodeType":"ElementaryTypeName","src":"22788:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63219,"initialValue":{"arguments":[{"id":63217,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63196,"src":"22820:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63215,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22809:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22813:6:94","memberName":"encode","nodeType":"MemberAccess","src":"22809:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22809:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22788:41:94"},{"expression":{"arguments":[{"id":63223,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22864:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63224,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63214,"src":"22872:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63220,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22839:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22846:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"22839:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63226,"nodeType":"ExpressionStatement","src":"22839:39:94"},{"expression":{"arguments":[{"arguments":[{"id":63232,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"22911:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":63231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22903:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63230,"name":"address","nodeType":"ElementaryTypeName","src":"22903:7:94","typeDescriptions":{}}},"id":63233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22903:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63234,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"22929:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22945:20:94","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60385,"src":"22929:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22929:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63227,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"22889:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":63229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22895:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"22889:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":63237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:79:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63238,"nodeType":"ExpressionStatement","src":"22889:79:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63239,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23031:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"23031:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23031:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63243,"nodeType":"ExpressionStatement","src":"23031:19:94"},{"assignments":[63249],"declarations":[{"constant":false,"id":63249,"mutability":"mutable","name":"votes2","nameLocation":"23097:6:94","nodeType":"VariableDeclaration","scope":63427,"src":"23061:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63247,"nodeType":"UserDefinedTypeName","pathNode":{"id":63246,"name":"CVStrategy.ProposalSupport","nameLocations":["23061:10:94","23072:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"23061:26:94"},"referencedDeclaration":57829,"src":"23061:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63248,"nodeType":"ArrayTypeName","src":"23061:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63256,"initialValue":{"arguments":[{"hexValue":"31","id":63254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23139:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"23106:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63251,"nodeType":"UserDefinedTypeName","pathNode":{"id":63250,"name":"CVStrategy.ProposalSupport","nameLocations":["23110:10:94","23121:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"23110:26:94"},"referencedDeclaration":57829,"src":"23110:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63252,"nodeType":"ArrayTypeName","src":"23110:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23106:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23061:80:94"},{"assignments":[63258],"declarations":[{"constant":false,"id":63258,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"23158:12:94","nodeType":"VariableDeclaration","scope":63427,"src":"23151:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63257,"name":"int256","nodeType":"ElementaryTypeName","src":"23151:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63260,"initialValue":{"hexValue":"313030","id":63259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23173:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"23151:25:94"},{"expression":{"id":63269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63261,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63249,"src":"23186:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63263,"indexExpression":{"hexValue":"30","id":63262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23193:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23186:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63266,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23225:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63267,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63258,"src":"23238:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63264,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"23198:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23209:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"23198:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:53:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"23186:65:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63270,"nodeType":"ExpressionStatement","src":"23186:65:94"},{"expression":{"id":63276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63271,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"23261:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63274,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63249,"src":"23279:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23268:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23272:6:94","memberName":"encode","nodeType":"MemberAccess","src":"23268:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23268:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"23261:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63277,"nodeType":"ExpressionStatement","src":"23261:25:94"},{"expression":{"arguments":[{"id":63281,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"23363:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63282,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"23371:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63278,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"23347:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23354:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"23347:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63284,"nodeType":"ExpressionStatement","src":"23347:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23386:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23389:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"23386:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23386:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63289,"nodeType":"ExpressionStatement","src":"23386:14:94"},{"assignments":[63291],"declarations":[{"constant":false,"id":63291,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"23419:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"23411:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63290,"name":"uint256","nodeType":"ElementaryTypeName","src":"23411:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63300,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63294,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63258,"src":"23444:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63292,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:94","typeDescriptions":{}}},"id":63295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23436:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63296,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"23460:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23436:37:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23476:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"23436:43:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23411:68:94"},{"expression":{"arguments":[{"arguments":[{"id":63304,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23524:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63307,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"23545:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23545:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23537:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63305,"name":"address","nodeType":"ElementaryTypeName","src":"23537:7:94","typeDescriptions":{}}},"id":63309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23537:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63302,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23499:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23502:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"23499:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23499:60:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63311,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"23561:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6532","id":63312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23577:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""},"value":"ProposalVoterStake2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""}],"id":63301,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23490:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:109:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63314,"nodeType":"ExpressionStatement","src":"23490:109:94"},{"expression":{"arguments":[{"arguments":[{"id":63318,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23664:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63316,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23637:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23640:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"23637:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23637:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63320,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"23678:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5374616b65644d6f756e7432","id":63321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23694:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""},"value":"StakedMount2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""}],"id":63315,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23628:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23628:81:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63323,"nodeType":"ExpressionStatement","src":"23628:81:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":63327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23786:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":63328,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23809:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":63329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23815:6:94","memberName":"number","nodeType":"MemberAccess","src":"23809:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63324,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23774:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23782:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23774:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23774:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63331,"nodeType":"ExpressionStatement","src":"23774:48:94"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":63335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23844:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63338,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23879:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23882:11:94","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":57867,"src":"23879:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23879:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63336,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23862:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"23859:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23859:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63332,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23832:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23840:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23832:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23832:65:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63343,"nodeType":"ExpressionStatement","src":"23832:65:94"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":63347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23919:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":63352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23981:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63350,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23954:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23957:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"23954:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23954:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63348,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23934:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23937:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"23934:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23934:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63344,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23907:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23915:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23907:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23907:78:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63356,"nodeType":"ExpressionStatement","src":"23907:78:94"},{"expression":{"arguments":[{"hexValue":"3130","id":63360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24003:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"expression":{"id":63357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23995:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23998:4:94","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23810,"src":"23995:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23995:11:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63362,"nodeType":"ExpressionStatement","src":"23995:11:94"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":63366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24028:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":63367,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24050:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":63368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24056:6:94","memberName":"number","nodeType":"MemberAccess","src":"24050:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63363,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24016:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24024:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24016:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24016:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63370,"nodeType":"ExpressionStatement","src":"24016:47:94"},{"expression":{"arguments":[{"hexValue":"31","id":63374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24102:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63371,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"24074:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24077:24:94","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":59576,"src":"24074:27:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":63375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24074:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63376,"nodeType":"ExpressionStatement","src":"24074:30:94"},{"assignments":[null,null,null,63378,63380,null,null,null,63382,null,63384,63386],"declarations":[null,null,null,{"constant":false,"id":63378,"mutability":"mutable","name":"requestedAmount","nameLocation":"24179:15:94","nodeType":"VariableDeclaration","scope":63427,"src":"24171:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24171:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63380,"mutability":"mutable","name":"stakedTokens","nameLocation":"24216:12:94","nodeType":"VariableDeclaration","scope":63427,"src":"24208:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63379,"name":"uint256","nodeType":"ElementaryTypeName","src":"24208:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":63382,"mutability":"mutable","name":"convictionLast","nameLocation":"24292:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"24284:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63381,"name":"uint256","nodeType":"ElementaryTypeName","src":"24284:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63384,"mutability":"mutable","name":"threshold","nameLocation":"24342:9:94","nodeType":"VariableDeclaration","scope":63427,"src":"24334:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63383,"name":"uint256","nodeType":"ElementaryTypeName","src":"24334:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63386,"mutability":"mutable","name":"voterPointsPct","nameLocation":"24373:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"24365:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63385,"name":"uint256","nodeType":"ElementaryTypeName","src":"24365:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63391,"initialValue":{"arguments":[{"hexValue":"31","id":63389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24415:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63387,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"24400:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24403:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"24400:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24400:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24115:302:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24440:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63396,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63378,"src":"24464:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63392,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24428:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24436:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24428:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24428:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63398,"nodeType":"ExpressionStatement","src":"24428:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24502:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63403,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63380,"src":"24523:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63399,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24490:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24498:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24490:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63405,"nodeType":"ExpressionStatement","src":"24490:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24558:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63410,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63384,"src":"24575:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63406,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24546:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24554:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24546:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24546:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63412,"nodeType":"ExpressionStatement","src":"24546:39:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24607:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63417,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63382,"src":"24630:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63413,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24595:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24603:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24595:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24595:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63419,"nodeType":"ExpressionStatement","src":"24595:50:94"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":63423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24667:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":63424,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63386,"src":"24690:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63420,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24655:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24663:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24655:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24655:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63426,"nodeType":"ExpressionStatement","src":"24655:50:94"}]},"functionSelector":"757e122d","implemented":true,"kind":"function","modifiers":[],"name":"test_1_proposalSupported","nameLocation":"21563:24:94","parameters":{"id":63072,"nodeType":"ParameterList","parameters":[],"src":"21587:2:94"},"returnParameters":{"id":63073,"nodeType":"ParameterList","parameters":[],"src":"21597:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63638,"nodeType":"FunctionDefinition","src":"24718:2468:94","nodes":[],"body":{"id":63637,"nodeType":"Block","src":"24765:2421:94","nodes":[],"statements":[{"assignments":[63435,63437],"declarations":[{"constant":false,"id":63435,"mutability":"mutable","name":"pool","nameLocation":"24794:4:94","nodeType":"VariableDeclaration","scope":63637,"src":"24776:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63434,"nodeType":"UserDefinedTypeName","pathNode":{"id":63433,"name":"IAllo.Pool","nameLocations":["24776:5:94","24782:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24776:10:94"},"referencedDeclaration":2319,"src":"24776:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63437,"mutability":"mutable","name":"poolId","nameLocation":"24808:6:94","nodeType":"VariableDeclaration","scope":63637,"src":"24800:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63436,"name":"uint256","nodeType":"ElementaryTypeName","src":"24800:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63443,"initialValue":{"arguments":[{"id":63439,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"24834:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24842:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24845:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63438,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"24818:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24818:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24775:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63444,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"24912:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24912:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63447,"nodeType":"ExpressionStatement","src":"24912:39:94"},{"assignments":[63449],"declarations":[{"constant":false,"id":63449,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"24968:11:94","nodeType":"VariableDeclaration","scope":63637,"src":"24961:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63448,"name":"int256","nodeType":"ElementaryTypeName","src":"24961:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63451,"initialValue":{"hexValue":"313030","id":63450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24982:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"24961:24:94"},{"assignments":[63457],"declarations":[{"constant":false,"id":63457,"mutability":"mutable","name":"votes","nameLocation":"25031:5:94","nodeType":"VariableDeclaration","scope":63637,"src":"24995:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63455,"nodeType":"UserDefinedTypeName","pathNode":{"id":63454,"name":"CVStrategy.ProposalSupport","nameLocations":["24995:10:94","25006:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"24995:26:94"},"referencedDeclaration":57829,"src":"24995:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63456,"nodeType":"ArrayTypeName","src":"24995:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63464,"initialValue":{"arguments":[{"hexValue":"31","id":63462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25072:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"25039:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63459,"nodeType":"UserDefinedTypeName","pathNode":{"id":63458,"name":"CVStrategy.ProposalSupport","nameLocations":["25043:10:94","25054:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"25043:26:94"},"referencedDeclaration":57829,"src":"25043:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63460,"nodeType":"ArrayTypeName","src":"25043:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25039:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"24995:79:94"},{"expression":{"id":63473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63465,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63457,"src":"25084:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63467,"indexExpression":{"hexValue":"30","id":63466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25090:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25084:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25122:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63471,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63449,"src":"25125:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63468,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"25095:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25106:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"25095:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25095:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"25084:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63474,"nodeType":"ExpressionStatement","src":"25084:53:94"},{"expression":{"arguments":[{"id":63478,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63437,"src":"25217:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63481,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63457,"src":"25236:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63479,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25225:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25229:6:94","memberName":"encode","nodeType":"MemberAccess","src":"25225:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25225:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63475,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"25201:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25208:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"25201:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63484,"nodeType":"ExpressionStatement","src":"25201:42:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63485,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"25253:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63487,"nodeType":"ExpressionStatement","src":"25253:18:94"},{"assignments":[63489],"declarations":[{"constant":false,"id":63489,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"25290:13:94","nodeType":"VariableDeclaration","scope":63637,"src":"25282:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63488,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63498,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63492,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63449,"src":"25314:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25306:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63490,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:94","typeDescriptions":{}}},"id":63493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25306:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63494,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"25329:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25306:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25345:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"25306:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25282:66:94"},{"assignments":[63501],"declarations":[{"constant":false,"id":63501,"mutability":"mutable","name":"cv","nameLocation":"25369:2:94","nodeType":"VariableDeclaration","scope":63637,"src":"25358:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63500,"nodeType":"UserDefinedTypeName","pathNode":{"id":63499,"name":"CVStrategy","nameLocations":["25358:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"25358:10:94"},"referencedDeclaration":59653,"src":"25358:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63512,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63507,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"25401:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25406:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"25401:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25393:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63505,"name":"address","nodeType":"ElementaryTypeName","src":"25393:7:94","typeDescriptions":{}}},"id":63509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25393:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25385:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63503,"name":"address","nodeType":"ElementaryTypeName","src":"25385:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25385:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63502,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"25374:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25374:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"25358:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25461:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63519,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"25472:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":63518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25464:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63517,"name":"address","nodeType":"ElementaryTypeName","src":"25464:7:94","typeDescriptions":{}}},"id":63520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25464:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63514,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25436:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25439:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"25436:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25436:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63522,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63489,"src":"25480:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63513,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25427:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25427:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63524,"nodeType":"ExpressionStatement","src":"25427:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25558:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63526,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25531:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25534:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"25531:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63530,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63489,"src":"25562:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63525,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25522:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25522:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63532,"nodeType":"ExpressionStatement","src":"25522:54:94"},{"assignments":[null,63534,null,63536,63538,null,null,63540,63542,null,63544,null],"declarations":[null,{"constant":false,"id":63534,"mutability":"mutable","name":"beneficiary","nameLocation":"25641:11:94","nodeType":"VariableDeclaration","scope":63637,"src":"25633:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63533,"name":"address","nodeType":"ElementaryTypeName","src":"25633:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null,{"constant":false,"id":63536,"mutability":"mutable","name":"requestedAmount","nameLocation":"25688:15:94","nodeType":"VariableDeclaration","scope":63637,"src":"25680:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63535,"name":"uint256","nodeType":"ElementaryTypeName","src":"25680:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63538,"mutability":"mutable","name":"stakedTokens","nameLocation":"25725:12:94","nodeType":"VariableDeclaration","scope":63637,"src":"25717:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63537,"name":"uint256","nodeType":"ElementaryTypeName","src":"25717:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":63540,"mutability":"mutable","name":"blockLast","nameLocation":"25787:9:94","nodeType":"VariableDeclaration","scope":63637,"src":"25779:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63539,"name":"uint256","nodeType":"ElementaryTypeName","src":"25779:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63542,"mutability":"mutable","name":"convictionLast","nameLocation":"25818:14:94","nodeType":"VariableDeclaration","scope":63637,"src":"25810:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63541,"name":"uint256","nodeType":"ElementaryTypeName","src":"25810:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63544,"mutability":"mutable","name":"threshold","nameLocation":"25868:9:94","nodeType":"VariableDeclaration","scope":63637,"src":"25860:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63543,"name":"uint256","nodeType":"ElementaryTypeName","src":"25860:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":63549,"initialValue":{"arguments":[{"hexValue":"31","id":63547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25944:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63545,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25929:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25932:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"25929:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25929:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25605:341:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26154:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63554,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63536,"src":"26178:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63550,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26142:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26150:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26142:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26142:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63556,"nodeType":"ExpressionStatement","src":"26142:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26216:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63561,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"26237:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63557,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26204:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26212:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26204:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26204:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63563,"nodeType":"ExpressionStatement","src":"26204:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26272:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63568,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63544,"src":"26289:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63564,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26260:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26268:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26260:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26260:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63570,"nodeType":"ExpressionStatement","src":"26260:39:94"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":63574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26391:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":63575,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63540,"src":"26409:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63571,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26379:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26387:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26379:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26379:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63577,"nodeType":"ExpressionStatement","src":"26379:40:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26441:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63582,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63542,"src":"26464:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63578,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26429:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26437:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26429:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63584,"nodeType":"ExpressionStatement","src":"26429:50:94"},{"assignments":[63589],"declarations":[{"constant":false,"id":63589,"mutability":"mutable","name":"recipients","nameLocation":"26677:10:94","nodeType":"VariableDeclaration","scope":63637,"src":"26660:27:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63587,"name":"address","nodeType":"ElementaryTypeName","src":"26660:7:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63588,"nodeType":"ArrayTypeName","src":"26660:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":63595,"initialValue":{"arguments":[{"hexValue":"30","id":63593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26704:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26690:13:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":63590,"name":"address","nodeType":"ElementaryTypeName","src":"26694:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63591,"nodeType":"ArrayTypeName","src":"26694:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":63594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26690:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26660:46:94"},{"assignments":[63597],"declarations":[{"constant":false,"id":63597,"mutability":"mutable","name":"dataProposal","nameLocation":"26768:12:94","nodeType":"VariableDeclaration","scope":63637,"src":"26755:25:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63596,"name":"bytes","nodeType":"ElementaryTypeName","src":"26755:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63602,"initialValue":{"arguments":[{"hexValue":"31","id":63600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26794:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26783:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26787:6:94","memberName":"encode","nodeType":"MemberAccess","src":"26783:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26783:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"26755:41:94"},{"assignments":[63604],"declarations":[{"constant":false,"id":63604,"mutability":"mutable","name":"amount","nameLocation":"26815:6:94","nodeType":"VariableDeclaration","scope":63637,"src":"26807:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63603,"name":"uint256","nodeType":"ElementaryTypeName","src":"26807:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63610,"initialValue":{"arguments":[{"expression":{"id":63606,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"26835:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26840:5:94","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26835:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63608,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"26847:11:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63605,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61359,"src":"26824:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":63609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26824:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26807:52:94"},{"expression":{"arguments":[{"id":63612,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"26945:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26953:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63611,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"26936:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26936:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63615,"nodeType":"ExpressionStatement","src":"26936:19:94"},{"expression":{"arguments":[{"id":63619,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63437,"src":"26984:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63620,"name":"recipients","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63589,"src":"26992:10:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":63621,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63597,"src":"27004:12:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63616,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"26966:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26973:10:94","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"26966:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":63622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:51:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63623,"nodeType":"ExpressionStatement","src":"26966:51:94"},{"expression":{"id":63630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63624,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"27027:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":63626,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"27047:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27052:5:94","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"27047:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63628,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"27059:11:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63625,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61359,"src":"27036:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":63629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27036:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27027:44:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63631,"nodeType":"ExpressionStatement","src":"27027:44:94"},{"expression":{"arguments":[{"id":63633,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"27155:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63634,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63536,"src":"27163:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63632,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"27146:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27146:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63636,"nodeType":"ExpressionStatement","src":"27146:33:94"}]},"functionSelector":"8cf86e50","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_native_token","nameLocation":"24727:28:94","parameters":{"id":63429,"nodeType":"ParameterList","parameters":[],"src":"24755:2:94"},"returnParameters":{"id":63430,"nodeType":"ParameterList","parameters":[],"src":"24765:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63864,"nodeType":"FunctionDefinition","src":"27192:2606:94","nodes":[],"body":{"id":63863,"nodeType":"Block","src":"27245:2553:94","nodes":[],"statements":[{"assignments":[63645,63647],"declarations":[{"constant":false,"id":63645,"mutability":"mutable","name":"pool","nameLocation":"27274:4:94","nodeType":"VariableDeclaration","scope":63863,"src":"27256:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63644,"nodeType":"UserDefinedTypeName","pathNode":{"id":63643,"name":"IAllo.Pool","nameLocations":["27256:5:94","27262:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"27256:10:94"},"referencedDeclaration":2319,"src":"27256:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63647,"mutability":"mutable","name":"poolId","nameLocation":"27288:6:94","nodeType":"VariableDeclaration","scope":63863,"src":"27280:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63646,"name":"uint256","nodeType":"ElementaryTypeName","src":"27280:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63656,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27322:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27314:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63649,"name":"address","nodeType":"ElementaryTypeName","src":"27314:7:94","typeDescriptions":{}}},"id":63652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27314:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27326:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27329:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63648,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"27298:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27298:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27255:76:94"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":63658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27360:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":63657,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"27342:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27342:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63660,"nodeType":"ExpressionStatement","src":"27342:35:94"},{"assignments":[63665],"declarations":[{"constant":false,"id":63665,"mutability":"mutable","name":"proposal","nameLocation":"27421:8:94","nodeType":"VariableDeclaration","scope":63863,"src":"27388:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63664,"nodeType":"UserDefinedTypeName","pathNode":{"id":63663,"name":"CVStrategy.CreateProposal","nameLocations":["27388:10:94","27399:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"27388:25:94"},"referencedDeclaration":57786,"src":"27388:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63683,"initialValue":{"arguments":[{"hexValue":"32","id":63668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27470:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":63669,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"27473:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":63672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27489:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27481:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63670,"name":"address","nodeType":"ElementaryTypeName","src":"27481:7:94","typeDescriptions":{}}},"id":63673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27481:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63674,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27493:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27504:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"27493:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27517:9:94","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":57769,"src":"27493:33:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":63677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27528:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":63680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27539:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27531:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63678,"name":"address","nodeType":"ElementaryTypeName","src":"27531:7:94","typeDescriptions":{}}},"id":63681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27531:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63666,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27444:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27455:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"27444:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27444:98:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"27388:154:94"},{"assignments":[63685],"declarations":[{"constant":false,"id":63685,"mutability":"mutable","name":"data","nameLocation":"27565:4:94","nodeType":"VariableDeclaration","scope":63863,"src":"27552:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63684,"name":"bytes","nodeType":"ElementaryTypeName","src":"27552:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63690,"initialValue":{"arguments":[{"id":63688,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63665,"src":"27583:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63686,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27572:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27576:6:94","memberName":"encode","nodeType":"MemberAccess","src":"27572:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27572:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"27552:40:94"},{"expression":{"arguments":[{"id":63694,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"27627:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63695,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63685,"src":"27635:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63691,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"27602:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27609:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"27602:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63697,"nodeType":"ExpressionStatement","src":"27602:38:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63698,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"27651:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27651:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63700,"nodeType":"ExpressionStatement","src":"27651:18:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27751:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63701,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"27733:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63704,"nodeType":"ExpressionStatement","src":"27733:39:94"},{"assignments":[63706],"declarations":[{"constant":false,"id":63706,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"27789:11:94","nodeType":"VariableDeclaration","scope":63863,"src":"27782:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63705,"name":"int256","nodeType":"ElementaryTypeName","src":"27782:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63708,"initialValue":{"hexValue":"313030","id":63707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27803:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"27782:24:94"},{"assignments":[63710],"declarations":[{"constant":false,"id":63710,"mutability":"mutable","name":"PROPOSAL_ID","nameLocation":"27824:11:94","nodeType":"VariableDeclaration","scope":63863,"src":"27816:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63709,"name":"uint256","nodeType":"ElementaryTypeName","src":"27816:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63712,"initialValue":{"hexValue":"32","id":63711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27838:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"27816:23:94"},{"assignments":[63718],"declarations":[{"constant":false,"id":63718,"mutability":"mutable","name":"votes","nameLocation":"27885:5:94","nodeType":"VariableDeclaration","scope":63863,"src":"27849:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63716,"nodeType":"UserDefinedTypeName","pathNode":{"id":63715,"name":"CVStrategy.ProposalSupport","nameLocations":["27849:10:94","27860:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"27849:26:94"},"referencedDeclaration":57829,"src":"27849:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63717,"nodeType":"ArrayTypeName","src":"27849:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63725,"initialValue":{"arguments":[{"hexValue":"31","id":63723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27926:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27893:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63720,"nodeType":"UserDefinedTypeName","pathNode":{"id":63719,"name":"CVStrategy.ProposalSupport","nameLocations":["27897:10:94","27908:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"27897:26:94"},"referencedDeclaration":57829,"src":"27897:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63721,"nodeType":"ArrayTypeName","src":"27897:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27893:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"27849:79:94"},{"expression":{"id":63734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63726,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63718,"src":"27938:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63728,"indexExpression":{"hexValue":"30","id":63727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27944:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27938:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63731,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"27976:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63732,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"27989:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63729,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27949:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27960:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"27949:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27949:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"27938:63:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63735,"nodeType":"ExpressionStatement","src":"27938:63:94"},{"expression":{"arguments":[{"id":63739,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"28081:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63742,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63718,"src":"28100:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28089:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28093:6:94","memberName":"encode","nodeType":"MemberAccess","src":"28089:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28089:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63736,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"28065:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28072:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"28065:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63745,"nodeType":"ExpressionStatement","src":"28065:42:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63746,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"28117:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28117:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63748,"nodeType":"ExpressionStatement","src":"28117:18:94"},{"assignments":[63750],"declarations":[{"constant":false,"id":63750,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"28154:13:94","nodeType":"VariableDeclaration","scope":63863,"src":"28146:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63749,"name":"uint256","nodeType":"ElementaryTypeName","src":"28146:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63753,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"28178:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63751,"name":"uint256","nodeType":"ElementaryTypeName","src":"28170:7:94","typeDescriptions":{}}},"id":63754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63755,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"28193:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28170:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28209:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"28170:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28146:66:94"},{"assignments":[63762],"declarations":[{"constant":false,"id":63762,"mutability":"mutable","name":"cv","nameLocation":"28233:2:94","nodeType":"VariableDeclaration","scope":63863,"src":"28222:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63761,"nodeType":"UserDefinedTypeName","pathNode":{"id":63760,"name":"CVStrategy","nameLocations":["28222:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"28222:10:94"},"referencedDeclaration":59653,"src":"28222:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63773,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63768,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63645,"src":"28265:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28270:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"28265:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28257:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63766,"name":"address","nodeType":"ElementaryTypeName","src":"28257:7:94","typeDescriptions":{}}},"id":63770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28257:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28249:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63764,"name":"address","nodeType":"ElementaryTypeName","src":"28249:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28249:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63763,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"28238:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"28222:59:94"},{"expression":{"arguments":[{"arguments":[{"id":63777,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"28325:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63780,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28346:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":63779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28338:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63778,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:94","typeDescriptions":{}}},"id":63781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28338:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63775,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28300:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28303:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"28300:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28300:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63783,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63750,"src":"28354:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63774,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28291:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28291:77:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63785,"nodeType":"ExpressionStatement","src":"28291:77:94"},{"expression":{"arguments":[{"arguments":[{"id":63789,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"28432:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63787,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28405:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28408:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"28405:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28405:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63791,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63750,"src":"28446:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63786,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28396:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28396:64:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63793,"nodeType":"ExpressionStatement","src":"28396:64:94"},{"assignments":[null,null,null,63795,63797,null,null,63799,63801,null,63803,null],"declarations":[null,null,null,{"constant":false,"id":63795,"mutability":"mutable","name":"requestedAmount","nameLocation":"28553:15:94","nodeType":"VariableDeclaration","scope":63863,"src":"28545:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63794,"name":"uint256","nodeType":"ElementaryTypeName","src":"28545:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63797,"mutability":"mutable","name":"stakedTokens","nameLocation":"28590:12:94","nodeType":"VariableDeclaration","scope":63863,"src":"28582:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63796,"name":"uint256","nodeType":"ElementaryTypeName","src":"28582:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":63799,"mutability":"mutable","name":"blockLast","nameLocation":"28652:9:94","nodeType":"VariableDeclaration","scope":63863,"src":"28644:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63798,"name":"uint256","nodeType":"ElementaryTypeName","src":"28644:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63801,"mutability":"mutable","name":"convictionLast","nameLocation":"28683:14:94","nodeType":"VariableDeclaration","scope":63863,"src":"28675:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63800,"name":"uint256","nodeType":"ElementaryTypeName","src":"28675:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63803,"mutability":"mutable","name":"threshold","nameLocation":"28733:9:94","nodeType":"VariableDeclaration","scope":63863,"src":"28725:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63802,"name":"uint256","nodeType":"ElementaryTypeName","src":"28725:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":63808,"initialValue":{"arguments":[{"hexValue":"31","id":63806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28809:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63804,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28794:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28797:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"28794:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28794:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28489:322:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29019:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63813,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63795,"src":"29043:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63809,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29007:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29015:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29007:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29007:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63815,"nodeType":"ExpressionStatement","src":"29007:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29081:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63820,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63797,"src":"29102:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63816,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29069:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29077:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29069:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63822,"nodeType":"ExpressionStatement","src":"29069:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29137:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63827,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63803,"src":"29154:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63823,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29125:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29133:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29125:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29125:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63829,"nodeType":"ExpressionStatement","src":"29125:39:94"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":63833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29256:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":63834,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63799,"src":"29274:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63830,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29244:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29252:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29244:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29244:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63836,"nodeType":"ExpressionStatement","src":"29244:40:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29306:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63841,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63801,"src":"29329:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63837,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29294:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29302:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29294:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29294:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63843,"nodeType":"ExpressionStatement","src":"29294:50:94"},{"assignments":[63845],"declarations":[{"constant":false,"id":63845,"mutability":"mutable","name":"dataProposal","nameLocation":"29620:12:94","nodeType":"VariableDeclaration","scope":63863,"src":"29607:25:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63844,"name":"bytes","nodeType":"ElementaryTypeName","src":"29607:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63850,"initialValue":{"arguments":[{"id":63848,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"29646:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29635:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29639:6:94","memberName":"encode","nodeType":"MemberAccess","src":"29635:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29635:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"29607:51:94"},{"expression":{"arguments":[{"id":63854,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"29687:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":63858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29709:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29695:13:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":63855,"name":"address","nodeType":"ElementaryTypeName","src":"29699:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63856,"nodeType":"ArrayTypeName","src":"29699:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":63859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29695:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":63860,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63845,"src":"29713:12:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63851,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"29669:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29676:10:94","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"29669:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":63861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:57:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63862,"nodeType":"ExpressionStatement","src":"29669:57:94"}]},"functionSelector":"eaeb7195","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_signaling_proposal","nameLocation":"27201:34:94","parameters":{"id":63639,"nodeType":"ParameterList","parameters":[],"src":"27235:2:94"},"returnParameters":{"id":63640,"nodeType":"ParameterList","parameters":[],"src":"27245:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63941,"nodeType":"FunctionDefinition","src":"29804:496:94","nodes":[],"body":{"id":63940,"nodeType":"Block","src":"29843:457:94","nodes":[],"statements":[{"assignments":[63871,63873],"declarations":[{"constant":false,"id":63871,"mutability":"mutable","name":"pool","nameLocation":"29872:4:94","nodeType":"VariableDeclaration","scope":63940,"src":"29854:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63870,"nodeType":"UserDefinedTypeName","pathNode":{"id":63869,"name":"IAllo.Pool","nameLocations":["29854:5:94","29860:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"29854:10:94"},"referencedDeclaration":2319,"src":"29854:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63873,"mutability":"mutable","name":"poolId","nameLocation":"29886:6:94","nodeType":"VariableDeclaration","scope":63940,"src":"29878:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63872,"name":"uint256","nodeType":"ElementaryTypeName","src":"29878:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63882,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29920:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29912:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63875,"name":"address","nodeType":"ElementaryTypeName","src":"29912:7:94","typeDescriptions":{}}},"id":63878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29912:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29924:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29927:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63874,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"29896:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29896:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29853:76:94"},{"assignments":[63885],"declarations":[{"constant":false,"id":63885,"mutability":"mutable","name":"cv","nameLocation":"29951:2:94","nodeType":"VariableDeclaration","scope":63940,"src":"29940:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63884,"nodeType":"UserDefinedTypeName","pathNode":{"id":63883,"name":"CVStrategy","nameLocations":["29940:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"29940:10:94"},"referencedDeclaration":59653,"src":"29940:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63896,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63891,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63871,"src":"29983:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29988:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"29983:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29975:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63889,"name":"address","nodeType":"ElementaryTypeName","src":"29975:7:94","typeDescriptions":{}}},"id":63893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29967:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63887,"name":"address","nodeType":"ElementaryTypeName","src":"29967:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29967:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63886,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"29956:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29956:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"29940:59:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63902,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"30049:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":63903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30065:20:94","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":59839,"src":"30049:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":63904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30086:8:94","memberName":"selector","nodeType":"MemberAccess","src":"30049:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30026:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30030:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30026:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30026:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63897,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30010:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30013:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"30010:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30010:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63907,"nodeType":"ExpressionStatement","src":"30010:86:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63908,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63885,"src":"30106:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30109:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30106:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30106:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63912,"nodeType":"ExpressionStatement","src":"30106:19:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63916,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30150:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30150:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63913,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30136:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30139:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"30136:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30136:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63919,"nodeType":"ExpressionStatement","src":"30136:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63920,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63885,"src":"30173:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30176:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30173:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30173:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63924,"nodeType":"ExpressionStatement","src":"30173:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30202:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30205:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"30202:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30202:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63929,"nodeType":"ExpressionStatement","src":"30202:14:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63933,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30261:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30261:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63931,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"30236:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30252:8:94","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":60271,"src":"30236:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":63935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30236:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":63936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30276:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"69734d656d626572","id":63937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30282:10:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":63930,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12734,"src":"30227:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":63938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30227:66:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63939,"nodeType":"ExpressionStatement","src":"30227:66:94"}]},"functionSelector":"136994c0","implemented":true,"kind":"function","modifiers":[],"name":"test_activate_points","nameLocation":"29813:20:94","parameters":{"id":63865,"nodeType":"ParameterList","parameters":[],"src":"29833:2:94"},"returnParameters":{"id":63866,"nodeType":"ParameterList","parameters":[],"src":"29843:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64038,"nodeType":"FunctionDefinition","src":"30306:634:94","nodes":[],"body":{"id":64037,"nodeType":"Block","src":"30347:593:94","nodes":[],"statements":[{"assignments":[63948,63950],"declarations":[{"constant":false,"id":63948,"mutability":"mutable","name":"pool","nameLocation":"30376:4:94","nodeType":"VariableDeclaration","scope":64037,"src":"30358:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63947,"nodeType":"UserDefinedTypeName","pathNode":{"id":63946,"name":"IAllo.Pool","nameLocations":["30358:5:94","30364:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"30358:10:94"},"referencedDeclaration":2319,"src":"30358:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63950,"mutability":"mutable","name":"poolId","nameLocation":"30390:6:94","nodeType":"VariableDeclaration","scope":64037,"src":"30382:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63949,"name":"uint256","nodeType":"ElementaryTypeName","src":"30382:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63959,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30424:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30416:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63952,"name":"address","nodeType":"ElementaryTypeName","src":"30416:7:94","typeDescriptions":{}}},"id":63955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30416:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30428:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30431:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63951,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"30400:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30400:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"30357:76:94"},{"assignments":[63962],"declarations":[{"constant":false,"id":63962,"mutability":"mutable","name":"cv","nameLocation":"30455:2:94","nodeType":"VariableDeclaration","scope":64037,"src":"30444:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63961,"nodeType":"UserDefinedTypeName","pathNode":{"id":63960,"name":"CVStrategy","nameLocations":["30444:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"30444:10:94"},"referencedDeclaration":59653,"src":"30444:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63973,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63968,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63948,"src":"30487:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30492:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"30487:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30479:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63966,"name":"address","nodeType":"ElementaryTypeName","src":"30479:7:94","typeDescriptions":{}}},"id":63970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30479:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30471:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63964,"name":"address","nodeType":"ElementaryTypeName","src":"30471:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30471:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63963,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"30460:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30460:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"30444:59:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63979,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"30553:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":63980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30569:20:94","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":59839,"src":"30553:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":63981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30590:8:94","memberName":"selector","nodeType":"MemberAccess","src":"30553:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30530:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30534:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30530:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30530:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63974,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30514:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30517:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"30514:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30514:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63984,"nodeType":"ExpressionStatement","src":"30514:86:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63985,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30610:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30613:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30610:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30610:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63989,"nodeType":"ExpressionStatement","src":"30610:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63990,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30640:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30643:16:94","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":58246,"src":"30640:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30640:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63994,"nodeType":"ExpressionStatement","src":"30640:21:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63998,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"30705:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":63999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30705:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63996,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"30680:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30696:8:94","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":60271,"src":"30680:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":64000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30680:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":64001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30715:5:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"69734d656d626572","id":64002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30722:10:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":63995,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12734,"src":"30671:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":64003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30671:62:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64004,"nodeType":"ExpressionStatement","src":"30671:62:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64008,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30758:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30758:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30744:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":64007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30747:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"30744:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30744:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64011,"nodeType":"ExpressionStatement","src":"30744:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64012,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30781:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":64014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30784:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30781:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30781:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64016,"nodeType":"ExpressionStatement","src":"30781:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64017,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30810:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":64019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30813:16:94","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":58246,"src":"30810:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30810:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64021,"nodeType":"ExpressionStatement","src":"30810:21:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64022,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30841:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":64024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30844:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"30841:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30841:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64026,"nodeType":"ExpressionStatement","src":"30841:14:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64030,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30900:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30900:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64028,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"30875:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":64029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30891:8:94","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":60271,"src":"30875:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":64032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30875:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":64033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30915:5:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"69734d656d626572","id":64034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30922:10:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":64027,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12734,"src":"30866:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":64035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30866:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64036,"nodeType":"ExpressionStatement","src":"30866:67:94"}]},"functionSelector":"0ef639f6","implemented":true,"kind":"function","modifiers":[],"name":"test_deactivate_points","nameLocation":"30315:22:94","parameters":{"id":63942,"nodeType":"ParameterList","parameters":[],"src":"30337:2:94"},"returnParameters":{"id":63943,"nodeType":"ParameterList","parameters":[],"src":"30347:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":60877,"name":"Test","nameLocations":["1552:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":22403,"src":"1552:4:94"},"id":60878,"nodeType":"InheritanceSpecifier","src":"1552:4:94"},{"baseName":{"id":60879,"name":"AlloSetup","nameLocations":["1558:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1558:9:94"},"id":60880,"nodeType":"InheritanceSpecifier","src":"1558:9:94"},{"baseName":{"id":60881,"name":"RegistrySetupFull","nameLocations":["1569:17:94"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1569:17:94"},"id":60882,"nodeType":"InheritanceSpecifier","src":"1569:17:94"},{"baseName":{"id":60883,"name":"CVStrategyHelpers","nameLocations":["1588:17:94"],"nodeType":"IdentifierPath","referencedDeclaration":60835,"src":"1588:17:94"},"id":60884,"nodeType":"InheritanceSpecifier","src":"1588:17:94"},{"baseName":{"id":60885,"name":"Errors","nameLocations":["1607:6:94"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1607:6:94"},"id":60886,"nodeType":"InheritanceSpecifier","src":"1607:6:94"},{"baseName":{"id":60887,"name":"GasHelpers2","nameLocations":["1615:11:94"],"nodeType":"IdentifierPath","referencedDeclaration":64113,"src":"1615:11:94"},"id":60888,"nodeType":"InheritanceSpecifier","src":"1615:11:94"},{"baseName":{"id":60889,"name":"SafeSetup","nameLocations":["1628:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":64494,"src":"1628:9:94"},"id":60890,"nodeType":"InheritanceSpecifier","src":"1628:9:94"}],"canonicalName":"CVStrategyTest","contractDependencies":[1390,2295,9751,55905,57671,59653,59700],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64039,64494,64113,3089,60835,9534,9370,9325,9264,22403,22352,17950,17625,16832,14772,14008,12515,12581,12578,3106],"name":"CVStrategyTest","nameLocation":"1534:14:94","scope":64040,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":94} \ No newline at end of file diff --git a/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json b/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json index 36b8f7789..31f09a509 100644 --- a/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json +++ b/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SENDER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a081905260139283559091906014906200006090826200012f565b5050601f805460ff19166001908117909155602255503480156200008357600080fd5b50620001fb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b557607f821691505b602082108103620000d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012a57600081815260208120601f850160051c81016020861015620001055750805b601f850160051c820191505b81811015620001265782815560010162000111565b5050505b505050565b81516001600160401b038111156200014b576200014b6200008a565b62000163816200015c8454620000a0565b84620000dc565b602080601f8311600181146200019b5760008415620001825750858301515b600019600386901b1c1916600185901b17855562000126565b600085815260208120601f198616915b82811015620001cc57888601518255948401946001909101908401620001ab565b5085821015620001eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61e99e806200020b6000396000f3fe60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c3660046200359d565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e391906200360a565b6200048962000c2e565b604051620003e3919062003673565b620004a262000d7c565b604051620003e392919062003739565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e391906200375c565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003888565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e391906200392e565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe3660046200359d565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003994565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002e2a565b620003cf62002e6c565b620003cf62002eae565b620003cf62002ef0565b620003cf62002f32565b6200047062002f74565b6200041d620006d136600462003a10565b62002fd6565b620003cf62003084565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620030c1565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620030c1565b6020546000906001600160a01b031662000b35576000604051620007ec90620034d6565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b90620034e4565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003a43565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003a63565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003a79565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620030c1565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003ae0565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003ae0565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003ae0565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003ae0565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620030c1565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620030c1565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003b1c565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003b63565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003bda565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003c5a565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003c99565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003d20565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003a63565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003a63565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620030c1565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003a63565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620030c1565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003ae0565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003ae0565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620030c1565b601554600090620017b057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003d65565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003b1c565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003a63565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620030c1565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d800620030d5565b6020820152620019a16702c68af0bb140000620030d5565b6040820152620019b866038d7ea4c68000620030d5565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003a63565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003a63565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003de2565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003b1c565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003ae0565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003ae0565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003eff565b60408051601f198184030181529082905262001d149162003f31565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003d20565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003a43565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f3490620034f2565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003a43565b9050600060405162001fcd9062003500565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff76200350e565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003ae0565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003ae0565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003f4f565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003a43565b90506000866040516200219e9062003579565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003579565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c0831659000620030d5565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a0000620030d5565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf52634000620030d5565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c0831659000620030d5565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a0000620030d5565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf52634000620030d5565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002606573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200262c919062003d20565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200269157600080fd5b505af1158015620026a6573d6000803e3d6000fd5b5050505060006040518060c0016040528060018152602001848152602001620026e0732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016103e881526020018b6001600160a01b0316815250905060008160405160200162002721919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002761908790859060040162003739565b6020604051808303816000875af115801562002781573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027a7919062003a43565b506040518060c0016040528060028152602001858152602001620027dc732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016101f481526020018c6001600160a01b03168152509150816040516020016200281b919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c906200285b908790859060040162003739565b6020604051808303816000875af11580156200287b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028a1919062003a43565b506040518060c0016040528060038152602001858152602001620028d6732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b031681526020016001815260200161038481526020018c6001600160a01b031681525091508160405160200162002915919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002955908790859060040162003739565b6020604051808303816000875af115801562002975573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200299b919062003a43565b5060006040518060c0016040528060018152602001858152602001620029d2732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002a13919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002a53908890859060040162003739565b6020604051808303816000875af115801562002a73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a99919062003a43565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002af957600080fd5b505af115801562002b0e573d6000803e3d6000fd5b5050505062002b536040518060400160405280600a81526020017f506f6f6c49643a2025730000000000000000000000000000000000000000000081525087620030ee565b62002b946040518060400160405280601281526020017f53747261746567793120416464723a20257300000000000000000000000000008152508962003154565b62002bd56040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a2025730000000000000000000000000081525086620030ee565b62002c166040518060400160405280601281526020017f53747261746567793220416464723a20257300000000000000000000000000008152508862003154565b62002c576040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f62003154565b62002c986040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e62003154565b62002ced6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee62003154565b62002d2e6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a62003154565b62002d6f6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d62003154565b62002dcb6040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002dc5732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62003154565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002e1991906001600160a01b031662003154565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620030c1565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6000848162002ff862002ff162989680608087901b62004044565b83620031b6565b905060806f800000000000000000000000000000006200301c866298968062004067565b6200302c84600160801b62004067565b6200303b629896808a6200407d565b6200304791906200407d565b62003053919062004044565b6200305f89856200407d565b6200306b919062004097565b62003077919062004097565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620030ce826200326b565b5092915050565b6000620030e864174876e8008362004044565b92915050565b62003150828260405160240162003107929190620040ad565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc00000000000000000000000000000000000000000000000000000000179052620033a0565b5050565b6200315082826040516024016200316d929190620040d1565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620033a0565b6000600160801b83106200320d5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b80156200326357806001166000036200324057620032358283620033ae565b915060011c62003216565b6200324c8383620033ae565b92506200325b60018262004067565b905062003216565b505092915050565b6000808260405160200162003281919062003f31565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003303573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003329919062003a43565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033679085908790600401620040fe565b600060405180830381600087803b1580156200338257600080fd5b505af115801562003397573d6000803e3d6000fd5b50505050915091565b620033ab81620034b5565b50565b6000600160801b8311156200342c5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b8210620034815760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f80000000000000000000000000000000620034a084866200407d565b620034ac919062004097565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b610852806200412383390190565b613594806200497583390190565b610e678062007f0983390190565b6127688062008d7083390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016200356c604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b4d883390190565b6001600160a01b0381168114620033ab57600080fd5b600060208284031215620035b057600080fd5b8135620035bd8162003587565b9392505050565b600081518084526020808501945080840160005b83811015620035ff5781516001600160a01b031687529582019590820190600101620035d8565b509495945050505050565b602081526000620035bd6020830184620035c4565b60005b838110156200363c57818101518382015260200162003622565b50506000910152565b600081518084526200365f8160208601602086016200361f565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200372957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200371257605f19898503018352620036ff84865162003645565b948e01949350918d0191600101620036e0565b505050978a0197945050918801916001016200369a565b50919a9950505050505050505050565b82815260406020820152600062003754604083018462003645565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200380457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620037ee5783516001600160e01b0319168252928b019260019290920191908b0190620037c2565b50978a0197955050509187019160010162003784565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562003855576200385562003813565b604052919050565b600067ffffffffffffffff8211156200387a576200387a62003813565b50601f01601f191660200190565b6000806000606084860312156200389e57600080fd5b8335620038ab8162003587565b925060208401359150604084013567ffffffffffffffff811115620038cf57600080fd5b8401601f81018613620038e157600080fd5b8035620038f8620038f2826200385d565b62003829565b8181528760208385010111156200390e57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200398757603f198886030184526200397485835162003645565b9450928501929085019060010162003955565b5092979650505050505050565b600080600080600060a08688031215620039ad57600080fd5b8535620039ba8162003587565b94506020860135620039cc8162003587565b93506040860135620039de8162003587565b92506060860135620039f08162003587565b9150608086013562003a028162003587565b809150509295509295909350565b6000806000806080858703121562003a2757600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003a5657600080fd5b8151620035bd8162003587565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003a8f8184018b620035c4565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003af557607f821691505b60208210810362003b1657634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003b2f57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003b5f5762003b5f62003b36565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003b8f8285018d62003645565b925062003ba0606085018c62003b4c565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003bed57600080fd5b815167ffffffffffffffff81111562003c0557600080fd5b8201601f8101841362003c1757600080fd5b805162003c28620038f2826200385d565b81815285602083850101111562003c3e57600080fd5b62003c518260208301602086016200361f565b95945050505050565b60008060006060848603121562003c7057600080fd5b835160ff8116811462003c8257600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003cc58285018d62003645565b915062003cd6606085018c62003b4c565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d0f818562003645565b9d9c50505050505050505050505050565b60006020828403121562003d3357600080fd5b81518015158114620035bd57600080fd5b80518252600060208201516040602085015262003754604085018262003645565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003db460e083018662003d44565b6001600160a01b0385166060840152828103608084015262003dd78185620035c4565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e0e60e085018a62003645565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003e4f57607f821691505b878210810362003e6d57634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003e91576001811462003ea85762003ed5565b60ff198416875282151560051b8701945062003ed5565b60008681526020902060005b8481101562003ecf57815489820152908901908a0162003eb4565b88019550505b5050505086810360c088015262003eed8189620035c4565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003f238160048501602087016200361f565b919091016004019392505050565b6000825162003f458184602087016200361f565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262003fac61010085018262003d44565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200400a576200400a62003b36565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b6000826200406257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620030e857620030e86200402e565b8082028115828204841417620030e857620030e86200402e565b80820180821115620030e857620030e86200402e565b604081526000620040c2604083018562003645565b90508260208301529392505050565b604081526000620040e6604083018562003645565b90506001600160a01b03831660208301529392505050565b6001600160a01b03831681526040602082015260006200375460408301846200364556fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a264697066735822122079417a41f723ca94ad2edf9a7f6d5d25077311cebd924349aa56294964485e0064736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;939:4303:92;534:52:96;;;1572:26:44;939:4303:92;534:52:96;;;;;;-1:-1:-1;;;534:52:96;;;;;;507:79;;;;939:4303:92;;507:79:96;;;;;;;:::i;:::-;-1:-1:-1;;800:28:46;;;-1:-1:-1;;800:28:46;824:4;800:28;;;;;;339:34:100;;-1:-1:-1;939:4303:92;;;;;;;;;;;;14:127:101;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;:::-;939:4303:92;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c3660046200359d565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e391906200360a565b6200048962000c2e565b604051620003e3919062003673565b620004a262000d7c565b604051620003e392919062003739565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e391906200375c565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003888565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e391906200392e565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe3660046200359d565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003994565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002e2a565b620003cf62002e6c565b620003cf62002eae565b620003cf62002ef0565b620003cf62002f32565b6200047062002f74565b6200041d620006d136600462003a10565b62002fd6565b620003cf62003084565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620030c1565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620030c1565b6020546000906001600160a01b031662000b35576000604051620007ec90620034d6565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b90620034e4565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003a43565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003a63565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003a79565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620030c1565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003ae0565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003ae0565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003ae0565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003ae0565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620030c1565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620030c1565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003b1c565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003b63565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003bda565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003c5a565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003c99565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003d20565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003a63565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003a63565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620030c1565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003a63565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620030c1565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003ae0565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003ae0565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620030c1565b601554600090620017b057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003d65565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003b1c565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003a63565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620030c1565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d800620030d5565b6020820152620019a16702c68af0bb140000620030d5565b6040820152620019b866038d7ea4c68000620030d5565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003a63565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003a63565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003de2565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003b1c565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003ae0565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003ae0565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003eff565b60408051601f198184030181529082905262001d149162003f31565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003d20565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003a43565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f3490620034f2565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003a43565b9050600060405162001fcd9062003500565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff76200350e565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003ae0565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003ae0565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003f4f565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003a43565b90506000866040516200219e9062003579565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003579565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c0831659000620030d5565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a0000620030d5565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf52634000620030d5565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c0831659000620030d5565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a0000620030d5565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf52634000620030d5565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002606573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200262c919062003d20565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200269157600080fd5b505af1158015620026a6573d6000803e3d6000fd5b5050505060006040518060c0016040528060018152602001848152602001620026e0732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016103e881526020018b6001600160a01b0316815250905060008160405160200162002721919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002761908790859060040162003739565b6020604051808303816000875af115801562002781573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027a7919062003a43565b506040518060c0016040528060028152602001858152602001620027dc732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016101f481526020018c6001600160a01b03168152509150816040516020016200281b919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c906200285b908790859060040162003739565b6020604051808303816000875af11580156200287b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028a1919062003a43565b506040518060c0016040528060038152602001858152602001620028d6732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b031681526020016001815260200161038481526020018c6001600160a01b031681525091508160405160200162002915919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002955908790859060040162003739565b6020604051808303816000875af115801562002975573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200299b919062003a43565b5060006040518060c0016040528060018152602001858152602001620029d2732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002a13919062003fc5565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002a53908890859060040162003739565b6020604051808303816000875af115801562002a73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a99919062003a43565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002af957600080fd5b505af115801562002b0e573d6000803e3d6000fd5b5050505062002b536040518060400160405280600a81526020017f506f6f6c49643a2025730000000000000000000000000000000000000000000081525087620030ee565b62002b946040518060400160405280601281526020017f53747261746567793120416464723a20257300000000000000000000000000008152508962003154565b62002bd56040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a2025730000000000000000000000000081525086620030ee565b62002c166040518060400160405280601281526020017f53747261746567793220416464723a20257300000000000000000000000000008152508862003154565b62002c576040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f62003154565b62002c986040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e62003154565b62002ced6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee62003154565b62002d2e6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a62003154565b62002d6f6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d62003154565b62002dcb6040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002dc5732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62003154565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002e1991906001600160a01b031662003154565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620030c1565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620030c1565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6000848162002ff862002ff162989680608087901b62004044565b83620031b6565b905060806f800000000000000000000000000000006200301c866298968062004067565b6200302c84600160801b62004067565b6200303b629896808a6200407d565b6200304791906200407d565b62003053919062004044565b6200305f89856200407d565b6200306b919062004097565b62003077919062004097565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620030ce826200326b565b5092915050565b6000620030e864174876e8008362004044565b92915050565b62003150828260405160240162003107929190620040ad565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc00000000000000000000000000000000000000000000000000000000179052620033a0565b5050565b6200315082826040516024016200316d929190620040d1565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620033a0565b6000600160801b83106200320d5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b80156200326357806001166000036200324057620032358283620033ae565b915060011c62003216565b6200324c8383620033ae565b92506200325b60018262004067565b905062003216565b505092915050565b6000808260405160200162003281919062003f31565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003303573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003329919062003a43565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033679085908790600401620040fe565b600060405180830381600087803b1580156200338257600080fd5b505af115801562003397573d6000803e3d6000fd5b50505050915091565b620033ab81620034b5565b50565b6000600160801b8311156200342c5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b8210620034815760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f80000000000000000000000000000000620034a084866200407d565b620034ac919062004097565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b610852806200412383390190565b613594806200497583390190565b610e678062007f0983390190565b6127688062008d7083390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016200356c604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b4d883390190565b6001600160a01b0381168114620033ab57600080fd5b600060208284031215620035b057600080fd5b8135620035bd8162003587565b9392505050565b600081518084526020808501945080840160005b83811015620035ff5781516001600160a01b031687529582019590820190600101620035d8565b509495945050505050565b602081526000620035bd6020830184620035c4565b60005b838110156200363c57818101518382015260200162003622565b50506000910152565b600081518084526200365f8160208601602086016200361f565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200372957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200371257605f19898503018352620036ff84865162003645565b948e01949350918d0191600101620036e0565b505050978a0197945050918801916001016200369a565b50919a9950505050505050505050565b82815260406020820152600062003754604083018462003645565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200380457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620037ee5783516001600160e01b0319168252928b019260019290920191908b0190620037c2565b50978a0197955050509187019160010162003784565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562003855576200385562003813565b604052919050565b600067ffffffffffffffff8211156200387a576200387a62003813565b50601f01601f191660200190565b6000806000606084860312156200389e57600080fd5b8335620038ab8162003587565b925060208401359150604084013567ffffffffffffffff811115620038cf57600080fd5b8401601f81018613620038e157600080fd5b8035620038f8620038f2826200385d565b62003829565b8181528760208385010111156200390e57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200398757603f198886030184526200397485835162003645565b9450928501929085019060010162003955565b5092979650505050505050565b600080600080600060a08688031215620039ad57600080fd5b8535620039ba8162003587565b94506020860135620039cc8162003587565b93506040860135620039de8162003587565b92506060860135620039f08162003587565b9150608086013562003a028162003587565b809150509295509295909350565b6000806000806080858703121562003a2757600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003a5657600080fd5b8151620035bd8162003587565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003a8f8184018b620035c4565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003af557607f821691505b60208210810362003b1657634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003b2f57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003b5f5762003b5f62003b36565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003b8f8285018d62003645565b925062003ba0606085018c62003b4c565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003bed57600080fd5b815167ffffffffffffffff81111562003c0557600080fd5b8201601f8101841362003c1757600080fd5b805162003c28620038f2826200385d565b81815285602083850101111562003c3e57600080fd5b62003c518260208301602086016200361f565b95945050505050565b60008060006060848603121562003c7057600080fd5b835160ff8116811462003c8257600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003cc58285018d62003645565b915062003cd6606085018c62003b4c565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d0f818562003645565b9d9c50505050505050505050505050565b60006020828403121562003d3357600080fd5b81518015158114620035bd57600080fd5b80518252600060208201516040602085015262003754604085018262003645565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003db460e083018662003d44565b6001600160a01b0385166060840152828103608084015262003dd78185620035c4565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e0e60e085018a62003645565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003e4f57607f821691505b878210810362003e6d57634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003e91576001811462003ea85762003ed5565b60ff198416875282151560051b8701945062003ed5565b60008681526020902060005b8481101562003ecf57815489820152908901908a0162003eb4565b88019550505b5050505086810360c088015262003eed8189620035c4565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003f238160048501602087016200361f565b919091016004019392505050565b6000825162003f458184602087016200361f565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262003fac61010085018262003d44565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200400a576200400a62003b36565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b6000826200406257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620030e857620030e86200402e565b8082028115828204841417620030e857620030e86200402e565b80820180821115620030e857620030e86200402e565b604081526000620040c2604083018562003645565b90508260208301529392505050565b604081526000620040e6604083018562003645565b90506001600160a01b03831660208301529392505050565b6001600160a01b03831681526040602082015260006200375460408301846200364556fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a264697066735822122079417a41f723ca94ad2edf9a7f6d5d25077311cebd924349aa56294964485e0064736f6c63430008130033","sourceMap":"939:4303:92:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:100:-;;;;;-1:-1:-1;;;;;269:28:100;;;4045:101:38;;;:::i;1021:42:92:-;;1061:2;1021:42;;;;;644:25:101;;;632:2;617:18;1021:42:92;498:177:101;226:92:38;306:4;226:92;;905:138;968:7;905:138;;380:708:100;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;507:79:96:-;;;:::i;:::-;;;;;;;;:::i;3221:133:51:-;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;1070:75:92:-;;1103:42;1070:75;;4152:99:38;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:100:-;;;;;;;;-1:-1:-1;;;;;240:23:100;;;1885:763;;;;;;:::i;:::-;;:::i;:::-;;2792:241:38;;;:::i;4376:105::-;;;:::i;339:34:100:-;;;;;;1989:232:38;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;304:29:100:-;;;;;-1:-1:-1;;;;;304:29:100;;;1152:103:92;1103:42;1152:103;;3485:113:38;;;:::i;799:361:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1166:1463:96:-;;;;;;:::i;:::-;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;10067:14:101;;10060:22;10042:41;;10030:2;10015:18;1819:584:44;9902:187:101;1379:3861:92;;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:51:-;;;:::i;3483:378:96:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;800:28:46:-;;;;;;;;;1572:26:44;;;;;;;;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;380:708:100:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:100;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:100;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:100;;-1:-1:-1;;;;;;592:52:100;;;;;;;-1:-1:-1;;;;;10996:55:101;;;592:52:100;;;10978:74:101;11088:2;11068:18;;;11061:30;642:1:100;11107:18:101;;;11100:29;;;11181:18;;;11174:34;11146:19;;592:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;;;-1:-1:-1;;;;;658:45:100;;;;;;;;717:54;;;-1:-1:-1;;;717:54:100;;;;;11706:74:101;;;;11796:18;;;11789:30;11855:2;11835:18;;;11828:30;11894:17;11874:18;;;11867:45;658::100;;-1:-1:-1;717:8:100;;;;11929:19:101;;717:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:100;;;-1:-1:-1;;;785:45:100;;-1:-1:-1;;;;;12189:55:101;;785:45:100;;;12171:74:101;12261:18;;;12254:30;;;;12320:2;12300:18;;;12293:30;12359:18;12339;;;12332:46;785:8:100;;-1:-1:-1;785:8:100;;-1:-1:-1;12395:19:101;;785:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:100;;-1:-1:-1;884:1:100;;-1:-1:-1;870:16:100;;-1:-1:-1;870:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:100;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:100;;;:9;;;;;;;;;;:27;;;;941:16;:97;;;;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:100;;-1:-1:-1;;;;;1065:16:100;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;507:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:100:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:100;-1:-1:-1;;;;;1993:33:100;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:100;-1:-1:-1;;;;;2240:17:100;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:100;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;16517:25:101;;;;16558:18;;;16551:34;;;2301:17:100;;-1:-1:-1;2301:17:100;2280:18;;;;;;2363:7;;;;16490:18:101;;2363:36:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;17177:19:101;;;17212:12;;;17205:28;;;17285:66;17271:3;17267:16;;;17263:89;17249:12;;;17242:111;2435:25:100;;;;;;;;;17369:12:101;;;2435:25:100;;;;2489:11;;:152;;;;17267:16:101;;-1:-1:-1;17177:19:101;;-1:-1:-1;17205:28:101;;-1:-1:-1;2489:11:100;;;-1:-1:-1;;;;;2489:11:100;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:100;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:113:38;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;799:361:96:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:96;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;;;;;;;;1067:12;1103:42:92;;1152:103;1067:12:96;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:96;;;799:361::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:96:-;-1:-1:-1;;;;;;;;1307:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:96;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:96;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:96;;;;;;;;;;;;-1:-1:-1;1878:16:96;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:96;;;-1:-1:-1;;;;;1904:33:96;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:96;;;2269:64;;-1:-1:-1;2317:5:96;2269:64;2351:4;-1:-1:-1;;;;;2351:33:96;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;20406:13:101;;-1:-1:-1;;;;;20402:62:101;2509:18:96;;;;20384:81:101;;;;20509:17;;20503:24;20481:20;;;20474:54;20572:17;;;20566:24;20544:20;;;;20537:54;;;;20635:17;;20629:24;20607:20;;;20600:54;2486:8:96;;20356:19:101;;2509:18:96;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:96:o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23135:74:101;;;2221:17:44;23225:18:101;;;23218:34;2196:43:44;;;;;;;;;23108:18:101;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;1379:3861:92:-;1432:27;;;;;24192:2:101;1432:27:92;;;24174:21:101;24231:2;24211:18;;;24204:30;24270:12;24250:18;;;24243:40;1411:18:92;;1432:13;;;;24300:18:101;;1432:27:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1411:48;-1:-1:-1;;;;;;1473:24:92;;1469:83;;1513:28;;-1:-1:-1;;;1513:28:92;;24787:2:101;1513:28:92;;;24769:21:101;24826:2;24806:18;;;24799:30;24865:20;24845:18;;;24838:48;24903:18;;1513:28:92;;;;;;;;1469:83;1579:10;1601:17;;1103:42;1601:31;;-1:-1:-1;;;;;;1601:31:92;;;;;;;-1:-1:-1;;;;;178:55:101;;;1601:31:92;;;160:74:101;133:18;;1601:31:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:16;1662;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1643:35;;1689:18;1710:4;-1:-1:-1;;;;;1710:16:92;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1689:39;;1739:31;1773:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1739:55;;1805:46;;:::i;:::-;-1:-1:-1;;;;;1862:28:92;;;;;1900:44;;:19;;;;:44;;;;1061:2;1954:26;;;;:42;;;;1862:12;2006:19;;;:23;2039:27;;;;;;;;2058:8;2039:27;;;;;;;;;2058:8;;2039:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:27:92;;;;-1:-1:-1;;;2039:16:92;;;:27;2132:35;1103:42;380:708:100;:::i;2132:35:92:-;-1:-1:-1;;;;;2094:75:92;;;:19;;;:75;2230:38;;;;;2180:31;;2230:30;;;;;:38;;2094:6;;2230:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2180:89;;2316:20;2362:4;2339:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2339:29:92;;;;;;;;;;;;;;;;;;;;;;;2316:52;;2378:20;2424:4;2401:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2401:29:92;;;;;;;;;;;;;;;;;;;;;;;2378:52;;2441:14;2470:103;2494:4;2510:9;2530:15;2548:8;2566:5;2470:10;:103::i;:::-;2441:132;;2584:23;2622:99;2646:4;2662:9;2682:15;2700:8;2718:1;2622:10;:99::i;:::-;2584:137;;2732:9;-1:-1:-1;;;;;2732:18:92;;2751:30;2765:15;2751:13;:30::i;:::-;2732:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2732:50:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2809:9;-1:-1:-1;;;;;2809:21:92;;2831:24;2845:9;2831:13;:24::i;:::-;2809:47;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2809:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2885:9;-1:-1:-1;;;;;2885:19:92;;2905:27;2919:12;2905:13;:27::i;:::-;2885:48;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2885:48:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2994:9;-1:-1:-1;;;;;2994:18:92;;3013:30;3027:15;3013:13;:30::i;:::-;2994:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2994:50:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3071:9;-1:-1:-1;;;;;3071:21:92;;3093:24;3107:9;3093:13;:24::i;:::-;3071:47;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;3071:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3147:9;-1:-1:-1;;;;;3147:19:92;;3167:27;3181:12;3167:13;:27::i;:::-;3147:48;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;3147:48:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3227:9;-1:-1:-1;;;;;3227:24:92;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:9;-1:-1:-1;;;;;3263:24:92;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3370:47:92;;;;;-1:-1:-1;;;;;23153:55:101;;;3370:47:92;;;23135:74:101;-1:-1:-1;;23225:18:101;;;23218:34;3370:13:92;;;-1:-1:-1;3370:13:92;;-1:-1:-1;23108:18:101;;3370:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3427:28:92;;;;;;;;16517:25:101;;;3449:5:92;16558:18:101;;;16551:34;-1:-1:-1;;;;;3427:13:92;;;;;16490:18:101;;3427:28:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3466:41;3510:131;;;;;;;;3549:1;3510:131;;;;3552:6;3510:131;;;;3560:12;1103:42;;1152:103;3560:12;-1:-1:-1;;;;;3510:131:92;;;;;3574:31;3510:131;;;;3607:8;3510:131;;;;3625:5;-1:-1:-1;;;;;3510:131:92;;;;3466:175;;3651:17;3682:8;3671:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3671:20:92;;;;;;;;;;-1:-1:-1;;;3701:36:92;;3671:20;-1:-1:-1;;;;;;3701:22:92;;;;;:36;;3724:6;;3671:20;;3701:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3771:108;;;;;;;;3797:1;3771:108;;;;3800:6;3771:108;;;;3808:12;1103:42;;1152:103;3808:12;-1:-1:-1;;;;;3771:108:92;;;;;3822:31;3771:108;;;;3855:7;3771:108;;;;3872:5;-1:-1:-1;;;;;3771:108:92;;;;3748:131;;3907:8;3896:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3896:20:92;;;;;;;;;;-1:-1:-1;;;3926:36:92;;3896:20;-1:-1:-1;;;;;;3926:22:92;;;;;:36;;3949:6;;3896:20;;3926:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3996:108;;;;;;;;4022:1;3996:108;;;;4025:6;3996:108;;;;4033:12;1103:42;;1152:103;4033:12;-1:-1:-1;;;;;3996:108:92;;;;;4047:31;3996:108;;;;4080:7;3996:108;;;;4097:5;-1:-1:-1;;;;;3996:108:92;;;;3973:131;;4132:8;4121:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4121:20:92;;;;;;;;;;-1:-1:-1;;;4151:36:92;;4121:20;-1:-1:-1;;;;;;4151:22:92;;;;;:36;;4174:6;;4121:20;;4151:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4230:42;4275:131;;;;;;;;4314:1;4275:131;;;;4317:15;4275:131;;;;4334:12;1103:42;;1152:103;4334:12;-1:-1:-1;;;;;4275:131:92;;;;;4348:33;4275:131;;;;4383:1;4275:131;;;;4394:1;-1:-1:-1;;;;;4275:131:92;;;;4230:176;;4416:18;4448:9;4437:21;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4437:21:92;;;;;;;;;;-1:-1:-1;;;4468:46:92;;4437:21;-1:-1:-1;;;;;;4468:22:92;;;;;:46;;4491:15;;4437:21;;4468:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;317:28:45;309:37;;-1:-1:-1;;;;;4525:16:92;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4554:34;;;;;;;;;;;;;;;;;;4581:6;4554:12;:34::i;:::-;4598:54;;;;;;;;;;;;;;;;;;4641:9;4598:12;:54::i;:::-;4663:52;;;;;;;;;;;;;;;;;;4699:15;4663:12;:52::i;:::-;4725:54;;;;;;;;;;;;;;;;;;4768:9;4725:12;:54::i;:::-;4790:44;;;;;;;;;;;;;;;;;;4828:4;4790:12;:44::i;:::-;4844:46;;;;;;;;;;;;;;;;;;4883:5;4844:12;:46::i;:::-;4900:54;;;;;;;;;;;;;;;;;;4445:42:9;4900:12:92;:54::i;:::-;4965:67;;;;;;;;;;;;;;;;;;5015:15;4965:12;:67::i;:::-;5043:57;;;;;;;;;;;;;;;;;;5090:8;5043:12;:57::i;:::-;5110:49;;;;;;;;;;;;;;;;;;5146:12;1103:42;;1152:103;5146:12;5110;:49::i;:::-;5169:64;;;;;;;;;;;;;;;;;;;;;5215:16;5169:64;;;-1:-1:-1;;;;;5215:16:92;5169:12;:64::i;:::-;1401:3839;;;;;;;;;;;;;;;1379:3861::o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:96:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:96;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:96;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:96:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;2635:114:96:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;:::-;2717:25;2635:114;-1:-1:-1;;2635:114:96:o;7546:145:60:-;7613:71;7676:2;7680;7629:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7629:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;7629:54:60;;;;;7613:15;:71::i;:::-;7546:145;;:::o;8147:::-;8214:71;8277:2;8281;8230:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8230:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;8230:54:60;;;;;8214:15;:71::i;3030:447:96:-;3091:15;-1:-1:-1;;;3126:2:96;:12;3118:53;;;;-1:-1:-1;;;3118:53:96;;29466:2:101;3118:53:96;;;29448:21:101;29505:2;29485:18;;;29478:30;29544;29524:18;;;29517:58;29592:18;;3118:53:96;29264:352:101;3118:53:96;-1:-1:-1;;;;3193:2:96;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:96;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:96;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;868:133:60:-;939:55;986:7;965:19;939:55::i;:::-;868:133;:::o;2755:269:96:-;2816:15;-1:-1:-1;;;2851:2:96;:13;;2843:66;;;;-1:-1:-1;;;2843:66:96;;30462:2:101;2843:66:96;;;30444:21:101;30501:2;30481:18;;;30474:30;30540:34;30520:18;;;30513:62;30611:10;30591:18;;;30584:38;30639:19;;2843:66:96;30260:404:101;2843:66:96;-1:-1:-1;;;2927:2:96;:12;2919:53;;;;-1:-1:-1;;;2919:53:96;;30871:2:101;2919:53:96;;;30853:21:101;30910:2;30890:18;;;30883:30;30949;30929:18;;;30922:58;30997:18;;2919:53:96;30669:352:101;2919:53:96;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:96:o;1007:380:60:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;680:154:101:-;-1:-1:-1;;;;;759:5:101;755:54;748:5;745:65;735:93;;824:1;821;814:12;839:247;898:6;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;839:247;-1:-1:-1;;;839:247:101:o;1257:484::-;1310:3;1348:5;1342:12;1375:6;1370:3;1363:19;1401:4;1430:2;1425:3;1421:12;1414:19;;1467:2;1460:5;1456:14;1488:1;1498:218;1512:6;1509:1;1506:13;1498:218;;;1577:13;;-1:-1:-1;;;;;1573:62:101;1561:75;;1656:12;;;;1691:15;;;;1534:1;1527:9;1498:218;;;-1:-1:-1;1732:3:101;;1257:484;-1:-1:-1;;;;;1257:484:101:o;1746:261::-;1925:2;1914:9;1907:21;1888:4;1945:56;1997:2;1986:9;1982:18;1974:6;1945:56;:::i;2012:250::-;2097:1;2107:113;2121:6;2118:1;2115:13;2107:113;;;2197:11;;;2191:18;2178:11;;;2171:39;2143:2;2136:10;2107:113;;;-1:-1:-1;;2254:1:101;2236:16;;2229:27;2012:250::o;2267:271::-;2309:3;2347:5;2341:12;2374:6;2369:3;2362:19;2390:76;2459:6;2452:4;2447:3;2443:14;2436:4;2429:5;2425:16;2390:76;:::i;:::-;2520:2;2499:15;-1:-1:-1;;2495:29:101;2486:39;;;;2527:4;2482:50;;2267:271;-1:-1:-1;;2267:271:101:o;2543:1767::-;2778:2;2830:21;;;2900:13;;2803:18;;;2922:22;;;2749:4;;2778:2;2963;;2981:18;;;;3018:1;3061:15;;;3046:31;;3042:40;;3105:15;;;2749:4;;3169:1112;3185:6;3180:3;3177:15;3169:1112;;;-1:-1:-1;;3254:22:101;;;3250:36;3238:49;;3310:13;;3397:9;;-1:-1:-1;;;;;3393:58:101;3378:74;;3491:11;;3485:18;3523:15;;;3516:27;;;3604:19;;3350:15;;;3636:24;;;3817:21;;;;3683:2;3765:17;;;3753:30;;3749:39;;;3707:15;;;;3862:1;3876:296;3892:8;3887:3;3884:17;3876:296;;;3998:2;3994:7;3985:6;3977;3973:19;3969:33;3962:5;3955:48;4030:42;4065:6;4054:8;4048:15;4030:42;:::i;:::-;4101:17;;;;4020:52;-1:-1:-1;4144:14:101;;;;3920:1;3911:11;3876:296;;;-1:-1:-1;;;4259:12:101;;;;4195:6;-1:-1:-1;;4224:15:101;;;;3211:1;3202:11;3169:1112;;;-1:-1:-1;4298:6:101;;2543:1767;-1:-1:-1;;;;;;;;;;2543:1767:101:o;4315:291::-;4492:6;4481:9;4474:25;4535:2;4530;4519:9;4515:18;4508:30;4455:4;4555:45;4596:2;4585:9;4581:18;4573:6;4555:45;:::i;:::-;4547:53;4315:291;-1:-1:-1;;;;4315:291:101:o;4611:1638::-;4815:4;4844:2;4884;4873:9;4869:18;4914:2;4903:9;4896:21;4937:6;4972;4966:13;5003:6;4995;4988:22;5029:2;5019:12;;5062:2;5051:9;5047:18;5040:25;;5124:2;5114:6;5111:1;5107:14;5096:9;5092:30;5088:39;5162:2;5154:6;5150:15;5183:1;5204;5214:1006;5230:6;5225:3;5222:15;5214:1006;;;5299:22;;;-1:-1:-1;;5295:36:101;5283:49;;5355:13;;5442:9;;-1:-1:-1;;;;;5438:58:101;5423:74;;5536:11;;5530:18;5568:15;;;5561:27;;;5649:19;;5395:15;;;5681:24;;;5771:21;;;;5816:1;;5739:2;5727:15;;;5830:282;5846:8;5841:3;5838:17;5830:282;;;5927:15;;-1:-1:-1;;;;;;5923:88:101;5909:103;;6081:17;;;;5874:1;5865:11;;;;;6038:14;;;;5830:282;;;-1:-1:-1;6198:12:101;;;;6135:5;-1:-1:-1;;;6163:15:101;;;;5256:1;5247:11;5214:1006;;;-1:-1:-1;6237:6:101;;4611:1638;-1:-1:-1;;;;;;;;;4611:1638:101:o;6254:184::-;-1:-1:-1;;;6303:1:101;6296:88;6403:4;6400:1;6393:15;6427:4;6424:1;6417:15;6443:275;6514:2;6508:9;6579:2;6560:13;;-1:-1:-1;;6556:27:101;6544:40;;6614:18;6599:34;;6635:22;;;6596:62;6593:88;;;6661:18;;:::i;:::-;6697:2;6690:22;6443:275;;-1:-1:-1;6443:275:101:o;6723:186::-;6771:4;6804:18;6796:6;6793:30;6790:56;;;6826:18;;:::i;:::-;-1:-1:-1;6892:2:101;6871:15;-1:-1:-1;;6867:29:101;6898:4;6863:40;;6723:186::o;6914:874::-;7000:6;7008;7016;7069:2;7057:9;7048:7;7044:23;7040:32;7037:52;;;7085:1;7082;7075:12;7037:52;7124:9;7111:23;7143:31;7168:5;7143:31;:::i;:::-;7193:5;-1:-1:-1;7245:2:101;7230:18;;7217:32;;-1:-1:-1;7300:2:101;7285:18;;7272:32;7327:18;7316:30;;7313:50;;;7359:1;7356;7349:12;7313:50;7382:22;;7435:4;7427:13;;7423:27;-1:-1:-1;7413:55:101;;7464:1;7461;7454:12;7413:55;7500:2;7487:16;7525:48;7541:31;7569:2;7541:31;:::i;:::-;7525:48;:::i;:::-;7596:2;7589:5;7582:17;7636:7;7631:2;7626;7622;7618:11;7614:20;7611:33;7608:53;;;7657:1;7654;7647:12;7608:53;7712:2;7707;7703;7699:11;7694:2;7687:5;7683:14;7670:45;7756:1;7751:2;7746;7739:5;7735:14;7731:23;7724:34;7777:5;7767:15;;;;;6914:874;;;;;:::o;7793:803::-;7955:4;7984:2;8024;8013:9;8009:18;8054:2;8043:9;8036:21;8077:6;8112;8106:13;8143:6;8135;8128:22;8181:2;8170:9;8166:18;8159:25;;8243:2;8233:6;8230:1;8226:14;8215:9;8211:30;8207:39;8193:53;;8281:2;8273:6;8269:15;8302:1;8312:255;8326:6;8323:1;8320:13;8312:255;;;8419:2;8415:7;8403:9;8395:6;8391:22;8387:36;8382:3;8375:49;8447:40;8480:6;8471;8465:13;8447:40;:::i;:::-;8437:50;-1:-1:-1;8545:12:101;;;;8510:15;;;;8348:1;8341:9;8312:255;;;-1:-1:-1;8584:6:101;;7793:803;-1:-1:-1;;;;;;;7793:803:101:o;9053:844::-;9179:6;9187;9195;9203;9211;9264:3;9252:9;9243:7;9239:23;9235:33;9232:53;;;9281:1;9278;9271:12;9232:53;9320:9;9307:23;9339:31;9364:5;9339:31;:::i;:::-;9389:5;-1:-1:-1;9446:2:101;9431:18;;9418:32;9459:33;9418:32;9459:33;:::i;:::-;9511:7;-1:-1:-1;9570:2:101;9555:18;;9542:32;9583:33;9542:32;9583:33;:::i;:::-;9635:7;-1:-1:-1;9694:2:101;9679:18;;9666:32;9707:33;9666:32;9707:33;:::i;:::-;9759:7;-1:-1:-1;9818:3:101;9803:19;;9790:33;9832;9790;9832;:::i;:::-;9884:7;9874:17;;;9053:844;;;;;;;;:::o;10341:385::-;10427:6;10435;10443;10451;10504:3;10492:9;10483:7;10479:23;10475:33;10472:53;;;10521:1;10518;10511:12;10472:53;-1:-1:-1;;10544:23:101;;;10614:2;10599:18;;10586:32;;-1:-1:-1;10665:2:101;10650:18;;10637:32;;10716:2;10701:18;10688:32;;-1:-1:-1;10341:385:101;-1:-1:-1;10341:385:101:o;11219:270::-;11308:6;11361:2;11349:9;11340:7;11336:23;11332:32;11329:52;;;11377:1;11374;11367:12;11329:52;11409:9;11403:16;11428:31;11453:5;11428:31;:::i;12425:184::-;-1:-1:-1;;;12474:1:101;12467:88;12574:4;12571:1;12564:15;12598:4;12595:1;12588:15;12614:1065;13056:4;13085:3;13115:2;13104:9;13097:21;13141:56;13193:2;13182:9;13178:18;13170:6;13141:56;:::i;:::-;13228:2;13213:18;;;13206:34;;;;-1:-1:-1;;;;;13337:15:101;;;13332:2;13317:18;;13310:43;13389:22;;;13384:2;13369:18;;13362:50;-1:-1:-1;13421:17:101;;13507:15;;;13501:3;13486:19;;13479:44;-1:-1:-1;;13560:15:101;;;13554:3;13539:19;;13532:44;13607:3;13592:19;;13585:35;;;;13657:15;;;13651:3;13636:19;;;13629:44;;;;13455:15;;12614:1065;-1:-1:-1;12614:1065:101:o;13684:437::-;13763:1;13759:12;;;;13806;;;13827:61;;13881:4;13873:6;13869:17;13859:27;;13827:61;13934:2;13926:6;13923:14;13903:18;13900:38;13897:218;;-1:-1:-1;;;13968:1:101;13961:88;14072:4;14069:1;14062:15;14100:4;14097:1;14090:15;13897:218;;13684:437;;;:::o;14126:184::-;14196:6;14249:2;14237:9;14228:7;14224:23;14220:32;14217:52;;;14265:1;14262;14255:12;14217:52;-1:-1:-1;14288:16:101;;14126:184;-1:-1:-1;14126:184:101:o;14315:::-;-1:-1:-1;;;14364:1:101;14357:88;14464:4;14461:1;14454:15;14488:4;14485:1;14478:15;14504:140;14585:1;14578:5;14575:12;14565:46;;14591:18;;:::i;:::-;14620;;14504:140::o;14649:1037::-;15056:4;15085:3;-1:-1:-1;;;;;15188:2:101;15180:6;15176:15;15165:9;15158:34;15228:6;15223:2;15212:9;15208:18;15201:34;15271:2;15266;15255:9;15251:18;15244:30;15291:45;15332:2;15321:9;15317:18;15309:6;15291:45;:::i;:::-;15283:53;;15345;15394:2;15383:9;15379:18;15371:6;15345:53;:::i;:::-;15429:3;15414:19;;15407:35;;;;-1:-1:-1;15473:3:101;15458:19;;15451:35;;;;15517:3;15502:19;;15495:35;;;;15567:15;;;15561:3;15546:19;;15539:44;15620:15;;;15614:3;15599:19;;15592:44;15667:3;15652:19;15645:35;;;;14649:1037;;-1:-1:-1;;;;14649:1037:101:o;15691:647::-;15770:6;15823:2;15811:9;15802:7;15798:23;15794:32;15791:52;;;15839:1;15836;15829:12;15791:52;15872:9;15866:16;15905:18;15897:6;15894:30;15891:50;;;15937:1;15934;15927:12;15891:50;15960:22;;16013:4;16005:13;;16001:27;-1:-1:-1;15991:55:101;;16042:1;16039;16032:12;15991:55;16071:2;16065:9;16096:48;16112:31;16140:2;16112:31;:::i;16096:48::-;16167:2;16160:5;16153:17;16207:7;16202:2;16197;16193;16189:11;16185:20;16182:33;16179:53;;;16228:1;16225;16218:12;16179:53;16241:67;16305:2;16300;16293:5;16289:14;16284:2;16280;16276:11;16241:67;:::i;:::-;16327:5;15691:647;-1:-1:-1;;;;;15691:647:101:o;16596:395::-;16682:6;16690;16698;16751:2;16739:9;16730:7;16726:23;16722:32;16719:52;;;16767:1;16764;16757:12;16719:52;16799:9;16793:16;16849:4;16842:5;16838:16;16831:5;16828:27;16818:55;;16869:1;16866;16859:12;16818:55;16937:2;16922:18;;16916:25;16981:2;16966:18;;;16960:25;16892:5;;16916:25;;-1:-1:-1;16960:25:101;16596:395;-1:-1:-1;;;16596:395:101:o;17392:1135::-;17825:4;17854:3;-1:-1:-1;;;;;17957:2:101;17949:6;17945:15;17934:9;17927:34;17997:6;17992:2;17981:9;17977:18;17970:34;18040:2;18035;18024:9;18020:18;18013:30;18066:45;18107:2;18096:9;18092:18;18084:6;18066:45;:::i;:::-;18052:59;;18120:53;18169:2;18158:9;18154:18;18146:6;18120:53;:::i;:::-;18210:6;18204:3;18193:9;18189:19;18182:35;18254:6;18248:3;18237:9;18233:19;18226:35;18298:6;18292:3;18281:9;18277:19;18270:35;18354:2;18346:6;18342:15;18336:3;18325:9;18321:19;18314:44;18407:2;18399:6;18395:15;18389:3;18378:9;18374:19;18367:44;;18460:9;18452:6;18448:22;18442:3;18431:9;18427:19;18420:51;18488:33;18514:6;18506;18488:33;:::i;:::-;18480:41;17392:1135;-1:-1:-1;;;;;;;;;;;;;17392:1135:101:o;18532:277::-;18599:6;18652:2;18640:9;18631:7;18627:23;18623:32;18620:52;;;18668:1;18665;18658:12;18620:52;18700:9;18694:16;18753:5;18746:13;18739:21;18732:5;18729:32;18719:60;;18775:1;18772;18765:12;18814:252;18901:5;18895:12;18890:3;18883:25;18865:3;18954:4;18947:5;18943:16;18937:23;18992:4;18985;18980:3;18976:14;18969:28;19013:47;19054:4;19049:3;19045:14;19031:12;19013:47;:::i;19071:902::-;19495:6;19484:9;19477:25;19538:3;19533:2;19522:9;19518:18;19511:31;19579:2;19573:3;19562:9;19558:19;19551:31;19619:16;19613:3;19602:9;19598:19;19591:45;19672:3;19667:2;19656:9;19652:18;19645:31;19458:4;19699:55;19749:3;19738:9;19734:19;19726:6;19699:55;:::i;:::-;-1:-1:-1;;;;;19794:6:101;19790:55;19785:2;19774:9;19770:18;19763:83;19895:9;19887:6;19883:22;19877:3;19866:9;19862:19;19855:51;19923:44;19960:6;19952;19923:44;:::i;:::-;19915:52;19071:902;-1:-1:-1;;;;;;;19071:902:101:o;20791:2165::-;21213:6;21202:9;21195:25;21176:4;21239:2;-1:-1:-1;;;;;21350:2:101;21342:6;21338:15;21333:2;21322:9;21318:18;21311:43;21390:3;21385:2;21374:9;21370:18;21363:31;21417:46;21458:3;21447:9;21443:19;21435:6;21417:46;:::i;:::-;21511:2;21503:6;21499:15;21494:2;21483:9;21479:18;21472:43;21552:6;21546:3;21535:9;21531:19;21524:35;21608:9;21600:6;21596:22;21590:3;21579:9;21575:19;21568:51;21649:6;21643:13;21635:6;21628:29;21676:4;21666:14;;21721:2;21713:6;21709:15;21757:2;21752;21744:6;21740:15;21733:27;21780:1;21813:12;21807:19;21849:3;21879:9;21875:2;21871:18;21861:28;;21939:2;21928:9;21924:18;21961;21951:61;;22005:4;21997:6;21993:17;21983:27;;21951:61;22058:2;22050:6;22047:14;22027:18;22024:38;22021:222;;-1:-1:-1;;;22092:3:101;22085:90;22198:4;22195:1;22188:15;22228:4;22223:3;22216:17;22021:222;22322:2;22310:15;;1189:19;;;1232:14;;;22252:82;-1:-1:-1;22350:18:101;22377:128;;;;22519:1;22514:321;;;;22343:492;;22377:128;-1:-1:-1;;22410:24:101;;22398:37;;22478:14;;22471:22;22468:1;22464:30;22455:40;;;-1:-1:-1;22377:128:101;;22514:321;20738:1;20731:14;;;20775:4;20762:18;;22615:1;22629:165;22643:6;22640:1;22637:13;22629:165;;;22721:14;;22708:11;;;22701:35;22764:16;;;;22658:10;;22629:165;;;22814:11;;;-1:-1:-1;;22343:492:101;;;;;22881:9;22876:3;22872:19;22866:3;22855:9;22851:19;22844:48;22909:41;22946:3;22938:6;22909:41;:::i;:::-;22901:49;20791:2165;-1:-1:-1;;;;;;;;;;;;;;20791:2165:101:o;23263:430::-;-1:-1:-1;;;;;;23452:6:101;23448:79;23443:3;23436:92;23418:3;23557:6;23551:13;23573:74;23640:6;23636:1;23631:3;23627:11;23620:4;23612:6;23608:17;23573:74;:::i;:::-;23667:16;;;;23685:1;23663:24;;23263:430;-1:-1:-1;;;23263:430:101:o;23698:287::-;23827:3;23865:6;23859:13;23881:66;23940:6;23935:3;23928:4;23920:6;23916:17;23881:66;:::i;:::-;23963:16;;;;;23698:287;-1:-1:-1;;23698:287:101:o;25206:848::-;25405:2;25394:9;25387:21;25368:4;-1:-1:-1;;;;;25524:2:101;25515:6;25509:13;25505:22;25500:2;25489:9;25485:18;25478:50;25592:2;25586;25578:6;25574:15;25568:22;25564:31;25559:2;25548:9;25544:18;25537:59;25650:2;25642:6;25638:15;25632:22;25627:2;25616:9;25612:18;25605:50;25710:2;25702:6;25698:15;25692:22;25686:3;25675:9;25671:19;25664:51;25770:3;25762:6;25758:16;25752:23;25746:3;25735:9;25731:19;25724:52;25823:3;25815:6;25811:16;25805:23;25865:4;25859:3;25848:9;25844:19;25837:33;25893:61;25949:3;25938:9;25934:19;25920:12;25893:61;:::i;:::-;25879:75;;26021:2;26014:3;26006:6;26002:16;25996:23;25992:32;25985:4;25974:9;25970:20;25963:62;26042:6;26034:14;;;;25206:848;;;;:::o;26625:795::-;26783:4;26825:3;26814:9;26810:19;26802:27;;26862:6;26856:13;26845:9;26838:32;26926:4;26918:6;26914:17;26908:24;26901:4;26890:9;26886:20;26879:54;26980:4;26972:6;26968:17;26962:24;-1:-1:-1;;;;;27103:2:101;27089:12;27085:21;27078:4;27067:9;27063:20;27056:51;27156:4;27148:6;27144:17;27138:24;27116:46;;27200:1;27184:14;27181:21;27171:55;;27206:18;;:::i;:::-;27264:14;27257:4;27246:9;27242:20;27235:44;27335:4;27327:6;27323:17;27317:24;27310:4;27299:9;27295:20;27288:54;27410:2;27402:4;27394:6;27390:17;27384:24;27380:33;27373:4;27362:9;27358:20;27351:63;;;26625:795;;;;:::o;27719:184::-;-1:-1:-1;;;27768:1:101;27761:88;27868:4;27865:1;27858:15;27892:4;27889:1;27882:15;27908:274;27948:1;27974;27964:189;;-1:-1:-1;;;28006:1:101;27999:88;28110:4;28107:1;28100:15;28138:4;28135:1;28128:15;27964:189;-1:-1:-1;28167:9:101;;27908:274::o;28187:128::-;28254:9;;;28275:11;;;28272:37;;;28289:18;;:::i;28320:168::-;28393:9;;;28424;;28441:15;;;28435:22;;28421:37;28411:71;;28462:18;;:::i;28493:125::-;28558:9;;;28579:10;;;28576:36;;;28592:18;;:::i;28623:291::-;28800:2;28789:9;28782:21;28763:4;28820:45;28861:2;28850:9;28846:18;28838:6;28820:45;:::i;:::-;28812:53;;28901:6;28896:2;28885:9;28881:18;28874:34;28623:291;;;;;:::o;28919:340::-;29096:2;29085:9;29078:21;29059:4;29116:45;29157:2;29146:9;29142:18;29134:6;29116:45;:::i;:::-;29108:53;;-1:-1:-1;;;;;29201:6:101;29197:55;29192:2;29181:9;29177:18;29170:83;28919:340;;;;;:::o;29915:::-;-1:-1:-1;;;;;30096:6:101;30092:55;30081:9;30074:74;30184:2;30179;30168:9;30164:18;30157:30;30055:4;30204:45;30245:2;30234:9;30230:18;30222:6;30204:45;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","SENDER()":"6050f2f8","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SENDER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":\"DeployCVArbSepolia\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":{\"keccak256\":\"0x123dbb0f39f766e974f46a1ca2d19869c8986cc5135b6a84f31ece7b0c830733\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://f096bc27f8a1daed4b338384ae6305b35017fc38641cc0be2e885baca7508251\",\"dweb:/ipfs/Qmcr7XH6UuHsHEVdqV3WBqX7GZar8ravHJTpYQCa1CtSku\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SENDER","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/DeployCVArbSepolia.s.sol":"DeployCVArbSepolia"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/script/DeployCVArbSepolia.s.sol":{"keccak256":"0x123dbb0f39f766e974f46a1ca2d19869c8986cc5135b6a84f31ece7b0c830733","urls":["bzz-raw://f096bc27f8a1daed4b338384ae6305b35017fc38641cc0be2e885baca7508251","dweb:/ipfs/Qmcr7XH6UuHsHEVdqV3WBqX7GZar8ravHJTpYQCa1CtSku"],"license":"UNLICENSED"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/script/DeployCVArbSepolia.s.sol","id":59033,"exportedSymbols":{"AMockERC20":[9751],"Accounts":[9264],"Allo":[1390],"BaseStrategy":[3923],"CVStrategy":[61014],"CVStrategyHelpers":[62196],"DeployCVArbSepolia":[59032],"IAllo":[2610],"IERC20":[6903],"IRegistry":[2802],"IWithdrawMember":[59047],"Metadata":[3098],"Native":[3106],"Registry":[2295],"RegistryFactory":[61061],"RegistryGardens":[61829],"SafeSetup":[66113],"Script":[12629],"ScriptBase":[12590],"StdChains":[14811],"StdCheatsSafe":[16871],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"VmSafe":[23817],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdJson":[18581],"stdMath":[18723],"stdStorageSafe":[19803]},"nodeType":"SourceUnit","src":"39:5204:92","nodes":[{"id":58458,"nodeType":"PragmaDirective","src":"39:24:92","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":58459,"nodeType":"ImportDirective","src":"65:32:92","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":40483,"symbolAliases":[],"unitAlias":""},{"id":58460,"nodeType":"ImportDirective","src":"98:30:92","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":12630,"symbolAliases":[],"unitAlias":""},{"id":58461,"nodeType":"ImportDirective","src":"129:56:92","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":58462,"nodeType":"ImportDirective","src":"186:31:92","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":61015,"symbolAliases":[],"unitAlias":""},{"id":58464,"nodeType":"ImportDirective","src":"218:66:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":58463,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"226:5:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58466,"nodeType":"ImportDirective","src":"285:53:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":58465,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"293:4:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58468,"nodeType":"ImportDirective","src":"339:74:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":58467,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"347:9:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58470,"nodeType":"ImportDirective","src":"414:61:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":58469,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"422:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58472,"nodeType":"ImportDirective","src":"476:67:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":58471,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"484:6:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58474,"nodeType":"ImportDirective","src":"544:64:92","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"../test/CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":62197,"symbolAliases":[{"foreign":{"id":58473,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62196,"src":"552:17:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58476,"nodeType":"ImportDirective","src":"609:73:92","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":58475,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"617:9:92","typeDescriptions":{}},"local":"AMockERC20","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58478,"nodeType":"ImportDirective","src":"683:59:92","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":61062,"symbolAliases":[{"foreign":{"id":58477,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61061,"src":"691:15:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58480,"nodeType":"ImportDirective","src":"743:55:92","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"../test/shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":66114,"symbolAliases":[{"foreign":{"id":58479,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66113,"src":"751:9:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58482,"nodeType":"ImportDirective","src":"799:71:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":58481,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"807:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58484,"nodeType":"ImportDirective","src":"871:66:92","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":59033,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":58483,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"879:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59032,"nodeType":"ContractDefinition","src":"939:4303:92","nodes":[{"id":58495,"nodeType":"VariableDeclaration","src":"1021:42:92","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1045:13:92","scope":59032,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58493,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":58494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1061:2:92","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":58498,"nodeType":"VariableDeclaration","src":"1070:75:92","nodes":[],"constant":true,"functionSelector":"6050f2f8","mutability":"constant","name":"SENDER","nameLocation":"1094:6:92","scope":59032,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58496,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307832463965313133343334616542446437306242393963423635303565314637323643353738443664","id":58497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1103:42:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d"},"visibility":"public"},{"id":58510,"nodeType":"FunctionDefinition","src":"1152:103:92","nodes":[],"body":{"id":58509,"nodeType":"Block","src":"1216:39:92","nodes":[],"statements":[{"expression":{"arguments":[{"id":58506,"name":"SENDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58498,"src":"1241:6:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1233:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58504,"name":"address","nodeType":"ElementaryTypeName","src":"1233:7:92","typeDescriptions":{}}},"id":58507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":58503,"id":58508,"nodeType":"Return","src":"1226:22:92"}]},"baseFunctions":[8991],"functionSelector":"8e0d1a50","implemented":true,"kind":"function","modifiers":[],"name":"pool_admin","nameLocation":"1161:10:92","overrides":{"id":58500,"nodeType":"OverrideSpecifier","overrides":[],"src":"1189:8:92"},"parameters":{"id":58499,"nodeType":"ParameterList","parameters":[],"src":"1171:2:92"},"returnParameters":{"id":58503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58510,"src":"1207:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58501,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1206:9:92"},"scope":59032,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":59031,"nodeType":"FunctionDefinition","src":"1379:3861:92","nodes":[],"body":{"id":59030,"nodeType":"Block","src":"1401:3839:92","nodes":[],"statements":[{"assignments":[58514],"declarations":[{"constant":false,"id":58514,"mutability":"mutable","name":"allo_proxy","nameLocation":"1419:10:92","nodeType":"VariableDeclaration","scope":59030,"src":"1411:18:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58513,"name":"address","nodeType":"ElementaryTypeName","src":"1411:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58519,"initialValue":{"arguments":[{"hexValue":"414c4c4f5f50524f5859","id":58517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1446:12:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""},"value":"ALLO_PROXY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""}],"expression":{"id":58515,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1432:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:10:92","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":22972,"src":"1432:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":58518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1411:48:92"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58520,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58514,"src":"1473:10:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":58523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1495:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1487:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58521,"name":"address","nodeType":"ElementaryTypeName","src":"1487:7:92","typeDescriptions":{}}},"id":58524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1487:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1473:24:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58531,"nodeType":"IfStatement","src":"1469:83:92","trueBody":{"id":58530,"nodeType":"Block","src":"1499:53:92","statements":[{"expression":{"arguments":[{"hexValue":"414c4c4f5f50524f5859206e6f7420736574","id":58527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1520:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""},"value":"ALLO_PROXY not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""}],"id":58526,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1513:6:92","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1513:28:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58529,"nodeType":"ExpressionStatement","src":"1513:28:92"}]}},{"assignments":[58534],"declarations":[{"constant":false,"id":58534,"mutability":"mutable","name":"allo","nameLocation":"1567:4:92","nodeType":"VariableDeclaration","scope":59030,"src":"1562:9:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":58533,"nodeType":"UserDefinedTypeName","pathNode":{"id":58532,"name":"Allo","nameLocations":["1562:4:92"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1562:4:92"},"referencedDeclaration":1390,"src":"1562:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"}],"id":58538,"initialValue":{"arguments":[{"id":58536,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58514,"src":"1579:10:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58535,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"1574:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1574:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"VariableDeclarationStatement","src":"1562:28:92"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58542,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"1619:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1619:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1601:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1604:14:92","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"1601:17:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1601:31:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58545,"nodeType":"ExpressionStatement","src":"1601:31:92"},{"assignments":[58548],"declarations":[{"constant":false,"id":58548,"mutability":"mutable","name":"token","nameLocation":"1654:5:92","nodeType":"VariableDeclaration","scope":59030,"src":"1643:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":58547,"nodeType":"UserDefinedTypeName","pathNode":{"id":58546,"name":"AMockERC20","nameLocations":["1643:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1643:10:92"},"referencedDeclaration":9751,"src":"1643:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":58553,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1662:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":58550,"nodeType":"UserDefinedTypeName","pathNode":{"id":58549,"name":"AMockERC20","nameLocations":["1666:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1666:10:92"},"referencedDeclaration":9751,"src":"1666:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":58552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1662:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"1643:35:92"},{"assignments":[58556],"declarations":[{"constant":false,"id":58556,"mutability":"mutable","name":"registry","nameLocation":"1699:8:92","nodeType":"VariableDeclaration","scope":59030,"src":"1689:18:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":58555,"nodeType":"UserDefinedTypeName","pathNode":{"id":58554,"name":"IRegistry","nameLocations":["1689:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1689:9:92"},"referencedDeclaration":2802,"src":"1689:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"id":58560,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58557,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"1710:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1715:11:92","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":1362,"src":"1710:16:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IRegistry_$2802_$","typeString":"function () view external returns (contract IRegistry)"}},"id":58559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1710:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1689:39:92"},{"assignments":[58563],"declarations":[{"constant":false,"id":58563,"mutability":"mutable","name":"registryFactory","nameLocation":"1755:15:92","nodeType":"VariableDeclaration","scope":59030,"src":"1739:31:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"},"typeName":{"id":58562,"nodeType":"UserDefinedTypeName","pathNode":{"id":58561,"name":"RegistryFactory","nameLocations":["1739:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61061,"src":"1739:15:92"},"referencedDeclaration":61061,"src":"1739:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":58568,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1773:19:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61061_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":58565,"nodeType":"UserDefinedTypeName","pathNode":{"id":58564,"name":"RegistryFactory","nameLocations":["1777:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61061,"src":"1777:15:92"},"referencedDeclaration":61061,"src":"1777:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}}},"id":58567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1773:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"1739:55:92"},{"assignments":[58573],"declarations":[{"constant":false,"id":58573,"mutability":"mutable","name":"params","nameLocation":"1845:6:92","nodeType":"VariableDeclaration","scope":59030,"src":"1805:46:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":58572,"nodeType":"UserDefinedTypeName","pathNode":{"id":58571,"name":"RegistryGardens.InitializeParams","nameLocations":["1805:15:92","1821:16:92"],"nodeType":"IdentifierPath","referencedDeclaration":61234,"src":"1805:32:92"},"referencedDeclaration":61234,"src":"1805:32:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":58574,"nodeType":"VariableDeclarationStatement","src":"1805:46:92"},{"expression":{"id":58582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58575,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"1862:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1869:5:92","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61219,"src":"1862:12:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58580,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"1885:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1877:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58578,"name":"address","nodeType":"ElementaryTypeName","src":"1877:7:92","typeDescriptions":{}}},"id":58581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1877:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1862:28:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58583,"nodeType":"ExpressionStatement","src":"1862:28:92"},{"expression":{"id":58593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58584,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"1900:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1907:12:92","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61222,"src":"1900:19:92","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":58590,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"1937:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1929:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58588,"name":"address","nodeType":"ElementaryTypeName","src":"1929:7:92","typeDescriptions":{}}},"id":58591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1929:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58587,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"1922:6:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":58592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1922:22:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"1900:44:92","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":58594,"nodeType":"ExpressionStatement","src":"1900:44:92"},{"expression":{"id":58599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58595,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"1954:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1961:19:92","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61224,"src":"1954:26:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58598,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58495,"src":"1983:13:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1954:42:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58600,"nodeType":"ExpressionStatement","src":"1954:42:92"},{"expression":{"id":58605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58601,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2006:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2013:12:92","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61226,"src":"2006:19:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":58604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2028:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2006:23:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58606,"nodeType":"ExpressionStatement","src":"2006:23:92"},{"expression":{"id":58611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58607,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2039:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2046:9:92","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61231,"src":"2039:16:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58610,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61854,"src":"2058:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2039:27:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":58612,"nodeType":"ExpressionStatement","src":"2039:27:92"},{"expression":{"id":58626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58613,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2094:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2101:12:92","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"2094:19:92","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58621,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"2154:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58620,"name":"_councilSafeWithOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65876,"src":"2132:21:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_contract$_Safe_$55944_$","typeString":"function (address) returns (contract Safe)"}},"id":58623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:35:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":58619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2124:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58618,"name":"address","nodeType":"ElementaryTypeName","src":"2124:7:92","typeDescriptions":{}}},"id":58624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2124:44:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2116:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":58616,"name":"address","nodeType":"ElementaryTypeName","src":"2116:8:92","stateMutability":"payable","typeDescriptions":{}}},"id":58625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2116:53:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2094:75:92","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":58627,"nodeType":"ExpressionStatement","src":"2094:75:92"},{"assignments":[58630],"declarations":[{"constant":false,"id":58630,"mutability":"mutable","name":"registryGardens","nameLocation":"2196:15:92","nodeType":"VariableDeclaration","scope":59030,"src":"2180:31:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"},"typeName":{"id":58629,"nodeType":"UserDefinedTypeName","pathNode":{"id":58628,"name":"RegistryGardens","nameLocations":["2180:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61829,"src":"2180:15:92"},"referencedDeclaration":61829,"src":"2180:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"id":58637,"initialValue":{"arguments":[{"arguments":[{"id":58634,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2261:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61234_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":58632,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58563,"src":"2230:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61061","typeString":"contract RegistryFactory"}},"id":58633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2246:14:92","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61060,"src":"2230:30:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61234_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":58635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2230:38:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58631,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61829,"src":"2214:15:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61829_$","typeString":"type(contract RegistryGardens)"}},"id":58636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2214:55:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}},"nodeType":"VariableDeclarationStatement","src":"2180:89:92"},{"assignments":[58640],"declarations":[{"constant":false,"id":58640,"mutability":"mutable","name":"strategy1","nameLocation":"2327:9:92","nodeType":"VariableDeclaration","scope":59030,"src":"2316:20:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":58639,"nodeType":"UserDefinedTypeName","pathNode":{"id":58638,"name":"CVStrategy","nameLocations":["2316:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"2316:10:92"},"referencedDeclaration":61014,"src":"2316:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":58649,"initialValue":{"arguments":[{"arguments":[{"id":58646,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2362:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2354:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58644,"name":"address","nodeType":"ElementaryTypeName","src":"2354:7:92","typeDescriptions":{}}},"id":58647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2354:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2339:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61014_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":58642,"nodeType":"UserDefinedTypeName","pathNode":{"id":58641,"name":"CVStrategy","nameLocations":["2343:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"2343:10:92"},"referencedDeclaration":61014,"src":"2343:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}},"id":58648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2339:29:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2316:52:92"},{"assignments":[58652],"declarations":[{"constant":false,"id":58652,"mutability":"mutable","name":"strategy2","nameLocation":"2389:9:92","nodeType":"VariableDeclaration","scope":59030,"src":"2378:20:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"},"typeName":{"id":58651,"nodeType":"UserDefinedTypeName","pathNode":{"id":58650,"name":"CVStrategy","nameLocations":["2378:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"2378:10:92"},"referencedDeclaration":61014,"src":"2378:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":58661,"initialValue":{"arguments":[{"arguments":[{"id":58658,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2424:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2416:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58656,"name":"address","nodeType":"ElementaryTypeName","src":"2416:7:92","typeDescriptions":{}}},"id":58659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2416:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2401:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61014_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":58654,"nodeType":"UserDefinedTypeName","pathNode":{"id":58653,"name":"CVStrategy","nameLocations":["2405:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61014,"src":"2405:10:92"},"referencedDeclaration":61014,"src":"2405:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}},"id":58660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2401:29:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2378:52:92"},{"assignments":[58663],"declarations":[{"constant":false,"id":58663,"mutability":"mutable","name":"poolId","nameLocation":"2449:6:92","nodeType":"VariableDeclaration","scope":59030,"src":"2441:14:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58662,"name":"uint256","nodeType":"ElementaryTypeName","src":"2441:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58685,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":58668,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2494:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2486:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58666,"name":"address","nodeType":"ElementaryTypeName","src":"2486:7:92","typeDescriptions":{}}},"id":58669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2486:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58665,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2481:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2481:19:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":58673,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2510:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}],"id":58672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2502:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58671,"name":"address","nodeType":"ElementaryTypeName","src":"2502:7:92","typeDescriptions":{}}},"id":58674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2502:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58677,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"2530:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":58676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2522:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58675,"name":"address","nodeType":"ElementaryTypeName","src":"2522:7:92","typeDescriptions":{}}},"id":58678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2522:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58679,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"2548:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"id":58682,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"2566:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2558:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58680,"name":"address","nodeType":"ElementaryTypeName","src":"2558:7:92","typeDescriptions":{}}},"id":58683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2558:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58664,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62027,"src":"2470:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":58684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2470:103:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2441:132:92"},{"assignments":[58687],"declarations":[{"constant":false,"id":58687,"mutability":"mutable","name":"poolIdSignaling","nameLocation":"2592:15:92","nodeType":"VariableDeclaration","scope":59030,"src":"2584:23:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58686,"name":"uint256","nodeType":"ElementaryTypeName","src":"2584:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58709,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":58692,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2646:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2638:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58690,"name":"address","nodeType":"ElementaryTypeName","src":"2638:7:92","typeDescriptions":{}}},"id":58693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2638:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58689,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2633:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2633:19:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":58697,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"2662:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}],"id":58696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2654:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58695,"name":"address","nodeType":"ElementaryTypeName","src":"2654:7:92","typeDescriptions":{}}},"id":58698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58701,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"2682:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":58700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2674:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58699,"name":"address","nodeType":"ElementaryTypeName","src":"2674:7:92","typeDescriptions":{}}},"id":58702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58703,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"2700:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"hexValue":"30","id":58706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2718:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2710:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58704,"name":"address","nodeType":"ElementaryTypeName","src":"2710:7:92","typeDescriptions":{}}},"id":58707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2710:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58688,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62027,"src":"2622:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":58708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2622:99:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2584:137:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2765:15:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58713,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"2751:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2751:30:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58710,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2732:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2742:8:92","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60969,"src":"2732:18:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:50:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58717,"nodeType":"ExpressionStatement","src":"2732:50:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2845:9:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58721,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"2831:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58718,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2809:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2819:11:92","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60983,"src":"2809:21:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58725,"nodeType":"ExpressionStatement","src":"2809:47:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2919:12:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58729,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"2905:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2905:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58726,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2885:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2895:9:92","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":60997,"src":"2885:19:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2885:48:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58733,"nodeType":"ExpressionStatement","src":"2885:48:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3027:15:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58737,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"3013:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3013:30:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58734,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"2994:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3004:8:92","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60969,"src":"2994:18:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2994:50:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58741,"nodeType":"ExpressionStatement","src":"2994:50:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3107:9:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58745,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"3093:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3093:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58742,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3071:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:11:92","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60983,"src":"3071:21:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3071:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58749,"nodeType":"ExpressionStatement","src":"3071:47:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3181:12:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58753,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"3167:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58750,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3147:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3157:9:92","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":60997,"src":"3147:19:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3147:48:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58757,"nodeType":"ExpressionStatement","src":"3147:48:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58758,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"3227:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3237:14:92","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59582,"src":"3227:24:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3227:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58762,"nodeType":"ExpressionStatement","src":"3227:26:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58763,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3263:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}},"id":58765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3273:14:92","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59582,"src":"3263:24:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3263:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58767,"nodeType":"ExpressionStatement","src":"3263:26:92"},{"expression":{"arguments":[{"arguments":[{"id":58773,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3392:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3384:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58771,"name":"address","nodeType":"ElementaryTypeName","src":"3384:7:92","typeDescriptions":{}}},"id":58774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":58777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3404:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58776,"name":"uint256","nodeType":"ElementaryTypeName","src":"3404:7:92","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":58775,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3399:4:92","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":58778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3399:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":58779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3413:3:92","memberName":"max","nodeType":"MemberAccess","src":"3399:17:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58768,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3370:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3376:7:92","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3370:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3370:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58781,"nodeType":"ExpressionStatement","src":"3370:47:92"},{"expression":{"arguments":[{"id":58785,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3441:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"315f303030","id":58786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3449:5:92","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":58782,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3427:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3432:8:92","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"3427:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":58787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3427:28:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58788,"nodeType":"ExpressionStatement","src":"3427:28:92"},{"assignments":[58793],"declarations":[{"constant":false,"id":58793,"mutability":"mutable","name":"proposal","nameLocation":"3499:8:92","nodeType":"VariableDeclaration","scope":59030,"src":"3466:41:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58792,"nodeType":"UserDefinedTypeName","pathNode":{"id":58791,"name":"CVStrategy.CreateProposal","nameLocations":["3466:10:92","3477:14:92"],"nodeType":"IdentifierPath","referencedDeclaration":59147,"src":"3466:25:92"},"referencedDeclaration":59147,"src":"3466:25:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58809,"initialValue":{"arguments":[{"hexValue":"31","id":58796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3549:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58797,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3552:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58798,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3560:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3560:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58800,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"3574:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3585:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"3574:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3598:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59131,"src":"3574:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"31303030","id":58803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3607:8:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},{"arguments":[{"id":58806,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3625:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3617:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58804,"name":"address","nodeType":"ElementaryTypeName","src":"3617:7:92","typeDescriptions":{}}},"id":58807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3617:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58794,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"3510:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3521:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"3510:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3510:131:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"3466:175:92"},{"assignments":[58811],"declarations":[{"constant":false,"id":58811,"mutability":"mutable","name":"data","nameLocation":"3664:4:92","nodeType":"VariableDeclaration","scope":59030,"src":"3651:17:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58810,"name":"bytes","nodeType":"ElementaryTypeName","src":"3651:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58816,"initialValue":{"arguments":[{"id":58814,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58793,"src":"3682:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58812,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3671:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3675:6:92","memberName":"encode","nodeType":"MemberAccess","src":"3671:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3671:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3651:40:92"},{"expression":{"arguments":[{"id":58820,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3724:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58821,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58811,"src":"3732:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58817,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3701:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3706:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"3701:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3701:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58823,"nodeType":"ExpressionStatement","src":"3701:36:92"},{"expression":{"id":58840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58824,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58793,"src":"3748:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":58827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3797:1:92","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":58828,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3800:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58829,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3808:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3808:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58831,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"3822:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"3822:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3846:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59131,"src":"3822:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"353030","id":58834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3855:7:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},"value":"500"},{"arguments":[{"id":58837,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3872:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3864:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58835,"name":"address","nodeType":"ElementaryTypeName","src":"3864:7:92","typeDescriptions":{}}},"id":58838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3864:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58825,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"3771:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3782:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"3771:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3771:108:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"3748:131:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58841,"nodeType":"ExpressionStatement","src":"3748:131:92"},{"expression":{"id":58847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58842,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58811,"src":"3889:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58845,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58793,"src":"3907:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58843,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3896:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3900:6:92","memberName":"encode","nodeType":"MemberAccess","src":"3896:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3896:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"3889:27:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58848,"nodeType":"ExpressionStatement","src":"3889:27:92"},{"expression":{"arguments":[{"id":58852,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3949:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58853,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58811,"src":"3957:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58849,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3926:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3931:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"3926:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58855,"nodeType":"ExpressionStatement","src":"3926:36:92"},{"expression":{"id":58872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58856,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58793,"src":"3973:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":58859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4022:1:92","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"id":58860,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4025:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58861,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"4033:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4033:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58863,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"4047:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4058:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"4047:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4071:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59131,"src":"4047:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"393030","id":58866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4080:7:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_900_by_1","typeString":"int_const 900"},"value":"900"},{"arguments":[{"id":58869,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"4097:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4089:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58867,"name":"address","nodeType":"ElementaryTypeName","src":"4089:7:92","typeDescriptions":{}}},"id":58870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4089:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_900_by_1","typeString":"int_const 900"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58857,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"3996:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4007:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"3996:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3996:108:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"3973:131:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58873,"nodeType":"ExpressionStatement","src":"3973:131:92"},{"expression":{"id":58879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58874,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58811,"src":"4114:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58877,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58793,"src":"4132:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58875,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4121:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4125:6:92","memberName":"encode","nodeType":"MemberAccess","src":"4121:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4121:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4114:27:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58880,"nodeType":"ExpressionStatement","src":"4114:27:92"},{"expression":{"arguments":[{"id":58884,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4174:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58885,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58811,"src":"4182:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58881,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4151:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4156:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4151:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4151:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58887,"nodeType":"ExpressionStatement","src":"4151:36:92"},{"assignments":[58892],"declarations":[{"constant":false,"id":58892,"mutability":"mutable","name":"proposal2","nameLocation":"4263:9:92","nodeType":"VariableDeclaration","scope":59030,"src":"4230:42:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58891,"nodeType":"UserDefinedTypeName","pathNode":{"id":58890,"name":"CVStrategy.CreateProposal","nameLocations":["4230:10:92","4241:14:92"],"nodeType":"IdentifierPath","referencedDeclaration":59147,"src":"4230:25:92"},"referencedDeclaration":59147,"src":"4230:25:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58908,"initialValue":{"arguments":[{"hexValue":"31","id":58895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4314:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58896,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4317:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58897,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"4334:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4334:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58899,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"4348:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4359:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59133,"src":"4348:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59133_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4372:9:92","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59130,"src":"4348:33:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":58902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4383:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":58905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4394:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4386:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58903,"name":"address","nodeType":"ElementaryTypeName","src":"4386:7:92","typeDescriptions":{}}},"id":58906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4386:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59133","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58893,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61014,"src":"4275:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61014_$","typeString":"type(contract CVStrategy)"}},"id":58894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4286:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59147,"src":"4275:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59147_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4275:131:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4230:176:92"},{"assignments":[58910],"declarations":[{"constant":false,"id":58910,"mutability":"mutable","name":"data2","nameLocation":"4429:5:92","nodeType":"VariableDeclaration","scope":59030,"src":"4416:18:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58909,"name":"bytes","nodeType":"ElementaryTypeName","src":"4416:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58915,"initialValue":{"arguments":[{"id":58913,"name":"proposal2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58892,"src":"4448:9:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59147_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58911,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4437:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4441:6:92","memberName":"encode","nodeType":"MemberAccess","src":"4437:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4437:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4416:42:92"},{"expression":{"arguments":[{"id":58919,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4491:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58920,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58910,"src":"4508:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58916,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4468:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4473:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4468:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4468:46:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58922,"nodeType":"ExpressionStatement","src":"4468:46:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58923,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4525:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4528:13:92","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"4525:16:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4525:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58927,"nodeType":"ExpressionStatement","src":"4525:18:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c49643a202573","id":58931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4567:12:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},"value":"PoolId: %s"},{"id":58932,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4581:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58928,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4554:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4563:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"4554:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4554:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58934,"nodeType":"ExpressionStatement","src":"4554:34:92"},{"expression":{"arguments":[{"hexValue":"53747261746567793120416464723a202573","id":58938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4611:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},"value":"Strategy1 Addr: %s"},{"arguments":[{"id":58941,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"4641:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}],"id":58940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4633:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58939,"name":"address","nodeType":"ElementaryTypeName","src":"4633:7:92","typeDescriptions":{}}},"id":58942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4633:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58935,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4598:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4607:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4598:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4598:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58944,"nodeType":"ExpressionStatement","src":"4598:54:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c49645369676e616c696e673a202573","id":58948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4676:21:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},"value":"PoolIdSignaling: %s"},{"id":58949,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4699:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58945,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4663:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4672:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"4663:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4663:52:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58951,"nodeType":"ExpressionStatement","src":"4663:52:92"},{"expression":{"arguments":[{"hexValue":"53747261746567793220416464723a202573","id":58955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4738:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},"value":"Strategy2 Addr: %s"},{"arguments":[{"id":58958,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"4768:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61014","typeString":"contract CVStrategy"}],"id":58957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4760:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58956,"name":"address","nodeType":"ElementaryTypeName","src":"4760:7:92","typeDescriptions":{}}},"id":58959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4760:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58952,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4725:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4734:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4725:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4725:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58961,"nodeType":"ExpressionStatement","src":"4725:54:92"},{"expression":{"arguments":[{"hexValue":"416c6c6f20416464723a202573","id":58965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4803:15:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},"value":"Allo Addr: %s"},{"arguments":[{"id":58968,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4828:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4820:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58966,"name":"address","nodeType":"ElementaryTypeName","src":"4820:7:92","typeDescriptions":{}}},"id":58969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4820:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58962,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4790:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4799:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4790:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4790:44:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58971,"nodeType":"ExpressionStatement","src":"4790:44:92"},{"expression":{"arguments":[{"hexValue":"546f6b656e20416464723a202573","id":58975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4857:16:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},"value":"Token Addr: %s"},{"arguments":[{"id":58978,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"4883:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4875:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58976,"name":"address","nodeType":"ElementaryTypeName","src":"4875:7:92","typeDescriptions":{}}},"id":58979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4875:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58972,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4844:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4853:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4844:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4844:46:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58981,"nodeType":"ExpressionStatement","src":"4844:46:92"},{"expression":{"arguments":[{"hexValue":"546f6b656e204e617469766520416464723a202573","id":58985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4913:23:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},"value":"Token Native Addr: %s"},{"arguments":[{"id":58988,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4946:6:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4938:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58986,"name":"address","nodeType":"ElementaryTypeName","src":"4938:7:92","typeDescriptions":{}}},"id":58989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4938:15:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58982,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4900:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4909:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4900:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4900:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58991,"nodeType":"ExpressionStatement","src":"4900:54:92"},{"expression":{"arguments":[{"hexValue":"52656769737472792047617264656e7320416464723a202573","id":58995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4978:27:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},"value":"Registry Gardens Addr: %s"},{"arguments":[{"id":58998,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"5015:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61829","typeString":"contract RegistryGardens"}],"id":58997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5007:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58996,"name":"address","nodeType":"ElementaryTypeName","src":"5007:7:92","typeDescriptions":{}}},"id":58999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5007:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58992,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4965:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4974:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4965:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4965:67:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59001,"nodeType":"ExpressionStatement","src":"4965:67:92"},{"expression":{"arguments":[{"hexValue":"416c6c6f20526567697374727920416464723a202573","id":59005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5056:24:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},"value":"Allo Registry Addr: %s"},{"arguments":[{"id":59008,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"5090:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":59007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5082:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59006,"name":"address","nodeType":"ElementaryTypeName","src":"5082:7:92","typeDescriptions":{}}},"id":59009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5082:17:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59002,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5043:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5052:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5043:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5043:57:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59011,"nodeType":"ExpressionStatement","src":"5043:57:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c2041646d696e20416464723a202573","id":59015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5123:21:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},"value":"Pool Admin Addr: %s"},{"arguments":[],"expression":{"argumentTypes":[],"id":59016,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"5146:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":59017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5146:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59012,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5110:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5119:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5110:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5110:49:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59019,"nodeType":"ExpressionStatement","src":"5110:49:92"},{"expression":{"arguments":[{"hexValue":"436f756e63696c205361666520416464723a202573","id":59023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5182:23:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},"value":"Council Safe Addr: %s"},{"arguments":[{"id":59026,"name":"councilSafeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65745,"src":"5215:16:92","typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":59025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5207:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59024,"name":"address","nodeType":"ElementaryTypeName","src":"5207:7:92","typeDescriptions":{}}},"id":59027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5207:25:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59020,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5169:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5178:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5169:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5169:64:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59029,"nodeType":"ExpressionStatement","src":"5169:64:92"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1388:3:92","parameters":{"id":58511,"nodeType":"ParameterList","parameters":[],"src":"1391:2:92"},"returnParameters":{"id":58512,"nodeType":"ParameterList","parameters":[],"src":"1401:0:92"},"scope":59032,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":58485,"name":"Native","nameLocations":["970:6:92"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"970:6:92"},"id":58486,"nodeType":"InheritanceSpecifier","src":"970:6:92"},{"baseName":{"id":58487,"name":"CVStrategyHelpers","nameLocations":["978:17:92"],"nodeType":"IdentifierPath","referencedDeclaration":62196,"src":"978:17:92"},"id":58488,"nodeType":"InheritanceSpecifier","src":"978:17:92"},{"baseName":{"id":58489,"name":"Script","nameLocations":["997:6:92"],"nodeType":"IdentifierPath","referencedDeclaration":12629,"src":"997:6:92"},"id":58490,"nodeType":"InheritanceSpecifier","src":"997:6:92"},{"baseName":{"id":58491,"name":"SafeSetup","nameLocations":["1005:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":66113,"src":"1005:9:92"},"id":58492,"nodeType":"InheritanceSpecifier","src":"1005:9:92"}],"canonicalName":"DeployCVArbSepolia","contractDependencies":[9751,55944,57710,61014,61061],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[59032,66113,22442,12629,22391,17989,62196,9264,17664,16871,14811,14047,12515,12581,12590,12578,3106],"name":"DeployCVArbSepolia","nameLocation":"948:18:92","scope":59033,"usedErrors":[]}],"license":"UNLICENSED"},"id":92} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SENDER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a081905260139283559091906014906200006090826200012f565b5050601f805460ff19166001908117909155602255503480156200008357600080fd5b50620001fb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b557607f821691505b602082108103620000d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012a57600081815260208120601f850160051c81016020861015620001055750805b601f850160051c820191505b81811015620001265782815560010162000111565b5050505b505050565b81516001600160401b038111156200014b576200014b6200008a565b62000163816200015c8454620000a0565b84620000dc565b602080601f8311600181146200019b5760008415620001825750858301515b600019600386901b1c1916600185901b17855562000126565b600085815260208120601f198616915b82811015620001cc57888601518255948401946001909101908401620001ab565b5085821015620001eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61ea2c806200020b6000396000f3fe60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c3660046200362b565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e3919062003698565b6200048962000c2e565b604051620003e3919062003701565b620004a262000d7c565b604051620003e3929190620037c7565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e39190620037ea565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003916565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e39190620039bc565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe3660046200362b565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003a22565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002eb8565b620003cf62002efa565b620003cf62002f3c565b620003cf62002f7e565b620003cf62002fc0565b6200047062003002565b6200041d620006d136600462003a9e565b62003064565b620003cf62003112565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657231000000000000000000000000000000000000008152506200314f565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d626572000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f726563697069656e7432000000000000000000000000000000000000000000008152506200314f565b6020546000906001600160a01b031662000b35576000604051620007ec9062003564565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b9062003572565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003ad1565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003af1565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003b07565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657231000000000000000000000000000000008152506200314f565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003b6e565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003b6e565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657231000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f726563697069656e7441646472657373000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600981526020017f726563697069656e7400000000000000000000000000000000000000000000008152506200314f565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657232000000000000000000000000000000000000008152506200314f565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003baa565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003bf1565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003c68565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003ce8565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003d27565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003dae565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003af1565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e7400000000000000000000000000000000000000008152506200314f565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003af1565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657232000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e6572000000000000000000000000000000000000000000008152506200314f565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003b6e565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657232000000000000000000000000000000008152506200314f565b601554600090620017b057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003df3565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003baa565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e7431000000000000000000000000000000000000000000008152506200314f565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d80062003163565b6020820152620019a16702c68af0bb14000062003163565b6040820152620019b866038d7ea4c6800062003163565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003af1565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003af1565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003e70565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003baa565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003b6e565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003f8d565b60408051601f198184030181529082905262001d149162003fbf565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003dae565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003ad1565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f349062003580565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003ad1565b9050600060405162001fcd906200358e565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff76200359c565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003b6e565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003fdd565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003ad1565b90506000866040516200219e9062003607565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003607565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c083165900062003163565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a000062003163565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf5263400062003163565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c083165900062003163565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a000062003163565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf5263400062003163565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50505050886001600160a01b03166340c10f19620025c7732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200261157600080fd5b505af115801562002626573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002694573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026ba919062003dae565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200271f57600080fd5b505af115801562002734573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018481526020016200276e732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016103e881526020018b6001600160a01b03168152509050600081604051602001620027af919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620027ef9087908590600401620037c7565b6020604051808303816000875af11580156200280f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002835919062003ad1565b506040518060c00160405280600281526020018581526020016200286a732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016101f481526020018c6001600160a01b0316815250915081604051602001620028a9919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620028e99087908590600401620037c7565b6020604051808303816000875af115801562002909573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200292f919062003ad1565b506040518060c001604052806003815260200185815260200162002964732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b031681526020016001815260200161038481526020018c6001600160a01b0316815250915081604051602001620029a3919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620029e39087908590600401620037c7565b6020604051808303816000875af115801562002a03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a29919062003ad1565b5060006040518060c001604052806001815260200185815260200162002a60732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002aa1919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002ae19088908590600401620037c7565b6020604051808303816000875af115801562002b01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b27919062003ad1565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b8757600080fd5b505af115801562002b9c573d6000803e3d6000fd5b5050505062002be16040518060400160405280600a81526020017f506f6f6c49643a20257300000000000000000000000000000000000000000000815250876200317c565b62002c226040518060400160405280601281526020017f53747261746567793120416464723a202573000000000000000000000000000081525089620031e2565b62002c636040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a20257300000000000000000000000000815250866200317c565b62002ca46040518060400160405280601281526020017f53747261746567793220416464723a202573000000000000000000000000000081525088620031e2565b62002ce56040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f620031e2565b62002d266040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e620031e2565b62002d7b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee620031e2565b62002dbc6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a620031e2565b62002dfd6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d620031e2565b62002e596040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002e53732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b620031e2565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002ea791906001600160a01b0316620031e2565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e61676572000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600b81526020017f72616e646f6d20636861640000000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f7472656173757279000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e65720000000000000000000000000000000000008152506200314f565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b60008481620030866200307f62989680608087901b620040d2565b8362003244565b905060806f80000000000000000000000000000000620030aa8662989680620040f5565b620030ba84600160801b620040f5565b620030c9629896808a6200410b565b620030d591906200410b565b620030e19190620040d2565b620030ed89856200410b565b620030f9919062004125565b62003105919062004125565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200315c82620032f9565b5092915050565b60006200317664174876e80083620040d2565b92915050565b620031de8282604051602401620031959291906200413b565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc000000000000000000000000000000000000000000000000000000001790526200342e565b5050565b620031de8282604051602401620031fb9291906200415f565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200342e565b6000600160801b83106200329b5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b8015620032f15780600116600003620032ce57620032c382836200343c565b915060011c620032a4565b620032da83836200343c565b9250620032e9600182620040f5565b9050620032a4565b505092915050565b600080826040516020016200330f919062003fbf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003391573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620033b7919062003ad1565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033f590859087906004016200418c565b600060405180830381600087803b1580156200341057600080fd5b505af115801562003425573d6000803e3d6000fd5b50505050915091565b620034398162003543565b50565b6000600160801b831115620034ba5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b82106200350f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f800000000000000000000000000000006200352e84866200410b565b6200353a919062004125565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b61085280620041b183390190565b6135948062004a0383390190565b610e678062007f9783390190565b6127688062008dfe83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620035fa604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b56683390190565b6001600160a01b03811681146200343957600080fd5b6000602082840312156200363e57600080fd5b81356200364b8162003615565b9392505050565b600081518084526020808501945080840160005b838110156200368d5781516001600160a01b03168752958201959082019060010162003666565b509495945050505050565b6020815260006200364b602083018462003652565b60005b83811015620036ca578181015183820152602001620036b0565b50506000910152565b60008151808452620036ed816020860160208601620036ad565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015620037b757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015620037a057605f198985030183526200378d848651620036d3565b948e01949350918d01916001016200376e565b505050978a01979450509188019160010162003728565b50919a9950505050505050505050565b828152604060208201526000620037e26040830184620036d3565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200389257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200387c5783516001600160e01b0319168252928b019260019290920191908b019062003850565b50978a0197955050509187019160010162003812565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715620038e357620038e3620038a1565b604052919050565b600067ffffffffffffffff821115620039085762003908620038a1565b50601f01601f191660200190565b6000806000606084860312156200392c57600080fd5b8335620039398162003615565b925060208401359150604084013567ffffffffffffffff8111156200395d57600080fd5b8401601f810186136200396f57600080fd5b8035620039866200398082620038eb565b620038b7565b8181528760208385010111156200399c57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562003a1557603f1988860301845262003a02858351620036d3565b94509285019290850190600101620039e3565b5092979650505050505050565b600080600080600060a0868803121562003a3b57600080fd5b853562003a488162003615565b9450602086013562003a5a8162003615565b9350604086013562003a6c8162003615565b9250606086013562003a7e8162003615565b9150608086013562003a908162003615565b809150509295509295909350565b6000806000806080858703121562003ab557600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003ae457600080fd5b81516200364b8162003615565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003b1d8184018b62003652565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003b8357607f821691505b60208210810362003ba457634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003bbd57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003bed5762003bed62003bc4565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003c1d8285018d620036d3565b925062003c2e606085018c62003bda565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003c7b57600080fd5b815167ffffffffffffffff81111562003c9357600080fd5b8201601f8101841362003ca557600080fd5b805162003cb66200398082620038eb565b81815285602083850101111562003ccc57600080fd5b62003cdf826020830160208601620036ad565b95945050505050565b60008060006060848603121562003cfe57600080fd5b835160ff8116811462003d1057600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003d538285018d620036d3565b915062003d64606085018c62003bda565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d9d8185620036d3565b9d9c50505050505050505050505050565b60006020828403121562003dc157600080fd5b815180151581146200364b57600080fd5b805182526000602082015160406020850152620037e26040850182620036d3565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003e4260e083018662003dd2565b6001600160a01b0385166060840152828103608084015262003e65818562003652565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e9c60e085018a620036d3565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003edd57607f821691505b878210810362003efb57634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003f1f576001811462003f365762003f63565b60ff198416875282151560051b8701945062003f63565b60008681526020902060005b8481101562003f5d57815489820152908901908a0162003f42565b88019550505b5050505086810360c088015262003f7b818962003652565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003fb1816004850160208701620036ad565b919091016004019392505050565b6000825162003fd3818460208701620036ad565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200403a61010085018262003dd2565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004098576200409862003bc4565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b600082620040f057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620031765762003176620040bc565b8082028115828204841417620031765762003176620040bc565b80820180821115620031765762003176620040bc565b604081526000620041506040830185620036d3565b90508260208301529392505050565b604081526000620041746040830185620036d3565b90506001600160a01b03831660208301529392505050565b6001600160a01b0383168152604060208201526000620037e26040830184620036d356fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220955617b70978c6effaa1868be3d00741fac2396e6e354778fdfa8f958a99a00664736f6c63430008130033","sourceMap":"1572:26:40:-:0;;;1594:4;-1:-1:-1;;1572:26:40;;;;;;;;3126:44:44;;;;;;;;;;939:4354:87;534:52:91;;;1572:26:40;939:4354:87;534:52:91;;;;;;-1:-1:-1;;;534:52:91;;;;;;507:79;;;;939:4354:87;;507:79:91;;;;;;;:::i;:::-;-1:-1:-1;;800:28:42;;;-1:-1:-1;;800:28:42;824:4;800:28;;;;;;339:34:92;;-1:-1:-1;939:4354:87;;;;;;;;;;;;14:127:93;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:93;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:93;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:93;;;2580:26;2531:89;-1:-1:-1;;1335:1:93;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:93;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:93;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:93;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:93:o;:::-;939:4354:87;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c3660046200362b565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e3919062003698565b6200048962000c2e565b604051620003e3919062003701565b620004a262000d7c565b604051620003e3929190620037c7565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e39190620037ea565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003916565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e39190620039bc565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe3660046200362b565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003a22565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002eb8565b620003cf62002efa565b620003cf62002f3c565b620003cf62002f7e565b620003cf62002fc0565b6200047062003002565b6200041d620006d136600462003a9e565b62003064565b620003cf62003112565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657231000000000000000000000000000000000000008152506200314f565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d626572000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f726563697069656e7432000000000000000000000000000000000000000000008152506200314f565b6020546000906001600160a01b031662000b35576000604051620007ec9062003564565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b9062003572565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003ad1565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003af1565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003b07565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657231000000000000000000000000000000008152506200314f565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003b6e565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003b6e565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657231000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f726563697069656e7441646472657373000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600981526020017f726563697069656e7400000000000000000000000000000000000000000000008152506200314f565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657232000000000000000000000000000000000000008152506200314f565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003baa565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003bf1565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003c68565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003ce8565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003d27565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003dae565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003af1565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e7400000000000000000000000000000000000000008152506200314f565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003af1565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657232000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e6572000000000000000000000000000000000000000000008152506200314f565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003b6e565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657232000000000000000000000000000000008152506200314f565b601554600090620017b057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003df3565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003baa565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e7431000000000000000000000000000000000000000000008152506200314f565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d80062003163565b6020820152620019a16702c68af0bb14000062003163565b6040820152620019b866038d7ea4c6800062003163565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003af1565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003af1565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003e70565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003baa565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003b6e565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003f8d565b60408051601f198184030181529082905262001d149162003fbf565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003dae565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003ad1565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f349062003580565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003ad1565b9050600060405162001fcd906200358e565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff76200359c565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003b6e565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003fdd565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003ad1565b90506000866040516200219e9062003607565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003607565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c083165900062003163565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a000062003163565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf5263400062003163565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c083165900062003163565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a000062003163565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf5263400062003163565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50505050886001600160a01b03166340c10f19620025c7732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200261157600080fd5b505af115801562002626573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002694573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026ba919062003dae565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200271f57600080fd5b505af115801562002734573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018481526020016200276e732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016103e881526020018b6001600160a01b03168152509050600081604051602001620027af919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620027ef9087908590600401620037c7565b6020604051808303816000875af11580156200280f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002835919062003ad1565b506040518060c00160405280600281526020018581526020016200286a732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016101f481526020018c6001600160a01b0316815250915081604051602001620028a9919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620028e99087908590600401620037c7565b6020604051808303816000875af115801562002909573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200292f919062003ad1565b506040518060c001604052806003815260200185815260200162002964732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b031681526020016001815260200161038481526020018c6001600160a01b0316815250915081604051602001620029a3919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620029e39087908590600401620037c7565b6020604051808303816000875af115801562002a03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a29919062003ad1565b5060006040518060c001604052806001815260200185815260200162002a60732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002aa1919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002ae19088908590600401620037c7565b6020604051808303816000875af115801562002b01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b27919062003ad1565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b8757600080fd5b505af115801562002b9c573d6000803e3d6000fd5b5050505062002be16040518060400160405280600a81526020017f506f6f6c49643a20257300000000000000000000000000000000000000000000815250876200317c565b62002c226040518060400160405280601281526020017f53747261746567793120416464723a202573000000000000000000000000000081525089620031e2565b62002c636040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a20257300000000000000000000000000815250866200317c565b62002ca46040518060400160405280601281526020017f53747261746567793220416464723a202573000000000000000000000000000081525088620031e2565b62002ce56040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f620031e2565b62002d266040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e620031e2565b62002d7b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee620031e2565b62002dbc6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a620031e2565b62002dfd6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d620031e2565b62002e596040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002e53732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b620031e2565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002ea791906001600160a01b0316620031e2565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e61676572000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600b81526020017f72616e646f6d20636861640000000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f7472656173757279000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e65720000000000000000000000000000000000008152506200314f565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b60008481620030866200307f62989680608087901b620040d2565b8362003244565b905060806f80000000000000000000000000000000620030aa8662989680620040f5565b620030ba84600160801b620040f5565b620030c9629896808a6200410b565b620030d591906200410b565b620030e19190620040d2565b620030ed89856200410b565b620030f9919062004125565b62003105919062004125565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200315c82620032f9565b5092915050565b60006200317664174876e80083620040d2565b92915050565b620031de8282604051602401620031959291906200413b565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc000000000000000000000000000000000000000000000000000000001790526200342e565b5050565b620031de8282604051602401620031fb9291906200415f565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200342e565b6000600160801b83106200329b5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b8015620032f15780600116600003620032ce57620032c382836200343c565b915060011c620032a4565b620032da83836200343c565b9250620032e9600182620040f5565b9050620032a4565b505092915050565b600080826040516020016200330f919062003fbf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003391573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620033b7919062003ad1565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033f590859087906004016200418c565b600060405180830381600087803b1580156200341057600080fd5b505af115801562003425573d6000803e3d6000fd5b50505050915091565b620034398162003543565b50565b6000600160801b831115620034ba5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b82106200350f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f800000000000000000000000000000006200352e84866200410b565b6200353a919062004125565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b61085280620041b183390190565b6135948062004a0383390190565b610e678062007f9783390190565b6127688062008dfe83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620035fa604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b56683390190565b6001600160a01b03811681146200343957600080fd5b6000602082840312156200363e57600080fd5b81356200364b8162003615565b9392505050565b600081518084526020808501945080840160005b838110156200368d5781516001600160a01b03168752958201959082019060010162003666565b509495945050505050565b6020815260006200364b602083018462003652565b60005b83811015620036ca578181015183820152602001620036b0565b50506000910152565b60008151808452620036ed816020860160208601620036ad565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015620037b757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015620037a057605f198985030183526200378d848651620036d3565b948e01949350918d01916001016200376e565b505050978a01979450509188019160010162003728565b50919a9950505050505050505050565b828152604060208201526000620037e26040830184620036d3565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200389257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200387c5783516001600160e01b0319168252928b019260019290920191908b019062003850565b50978a0197955050509187019160010162003812565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715620038e357620038e3620038a1565b604052919050565b600067ffffffffffffffff821115620039085762003908620038a1565b50601f01601f191660200190565b6000806000606084860312156200392c57600080fd5b8335620039398162003615565b925060208401359150604084013567ffffffffffffffff8111156200395d57600080fd5b8401601f810186136200396f57600080fd5b8035620039866200398082620038eb565b620038b7565b8181528760208385010111156200399c57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562003a1557603f1988860301845262003a02858351620036d3565b94509285019290850190600101620039e3565b5092979650505050505050565b600080600080600060a0868803121562003a3b57600080fd5b853562003a488162003615565b9450602086013562003a5a8162003615565b9350604086013562003a6c8162003615565b9250606086013562003a7e8162003615565b9150608086013562003a908162003615565b809150509295509295909350565b6000806000806080858703121562003ab557600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003ae457600080fd5b81516200364b8162003615565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003b1d8184018b62003652565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003b8357607f821691505b60208210810362003ba457634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003bbd57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003bed5762003bed62003bc4565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003c1d8285018d620036d3565b925062003c2e606085018c62003bda565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003c7b57600080fd5b815167ffffffffffffffff81111562003c9357600080fd5b8201601f8101841362003ca557600080fd5b805162003cb66200398082620038eb565b81815285602083850101111562003ccc57600080fd5b62003cdf826020830160208601620036ad565b95945050505050565b60008060006060848603121562003cfe57600080fd5b835160ff8116811462003d1057600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003d538285018d620036d3565b915062003d64606085018c62003bda565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d9d8185620036d3565b9d9c50505050505050505050505050565b60006020828403121562003dc157600080fd5b815180151581146200364b57600080fd5b805182526000602082015160406020850152620037e26040850182620036d3565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003e4260e083018662003dd2565b6001600160a01b0385166060840152828103608084015262003e65818562003652565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e9c60e085018a620036d3565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003edd57607f821691505b878210810362003efb57634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003f1f576001811462003f365762003f63565b60ff198416875282151560051b8701945062003f63565b60008681526020902060005b8481101562003f5d57815489820152908901908a0162003f42565b88019550505b5050505086810360c088015262003f7b818962003652565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003fb1816004850160208701620036ad565b919091016004019392505050565b6000825162003fd3818460208701620036ad565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200403a61010085018262003dd2565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004098576200409862003bc4565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b600082620040f057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620031765762003176620040bc565b8082028115828204841417620031765762003176620040bc565b80820180821115620031765762003176620040bc565b604081526000620041506040830185620036d3565b90508260208301529392505050565b604081526000620041746040830185620036d3565b90506001600160a01b03831660208301529392505050565b6001600160a01b0383168152604060208201526000620037e26040830184620036d356fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220955617b70978c6effaa1868be3d00741fac2396e6e354778fdfa8f958a99a00664736f6c63430008130033","sourceMap":"939:4354:87:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:93;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:92:-;;;;;-1:-1:-1;;;;;269:28:92;;;4045:101:38;;;:::i;1021:42:87:-;;1061:2;1021:42;;;;;644:25:93;;;632:2;617:18;1021:42:87;498:177:93;226:92:38;306:4;226:92;;905:138;968:7;905:138;;380:708:92;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:47:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;507:79:91:-;;;:::i;:::-;;;;;;;;:::i;3221:133:47:-;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;1070:75:87:-;;1103:42;1070:75;;4152:99:38;;;:::i;2738:178:47:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:92:-;;;;;;;;-1:-1:-1;;;;;240:23:92;;;1885:763;;;;;;:::i;:::-;;:::i;:::-;;2792:241:38;;;:::i;4376:105::-;;;:::i;339:34:92:-;;;;;;1989:232:38;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;2592:140:47:-;;;:::i;:::-;;;;;;;:::i;304:29:92:-;;;;;-1:-1:-1;;;;;304:29:92;;;1152:103:87;1103:42;1152:103;;3485:113:38;;;:::i;799:361:91:-;;;;;;:::i;:::-;;:::i;3069:146:47:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1166:1463:91:-;;;;;;:::i;:::-;;:::i;2157:141:47:-;;;:::i;1819:584:40:-;;;:::i;:::-;;;10067:14:93;;10060:22;10042:41;;10030:2;10015:18;1819:584:40;9902:187:93;1379:3912:87;;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:47:-;;;:::i;3483:378:91:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;800:28:42:-;;;;;;;;;1572:26:40;;;;;;;;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;380:708:92:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:92;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:92;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:92;;-1:-1:-1;;;;;;592:52:92;;;;;;;-1:-1:-1;;;;;10996:55:93;;;592:52:92;;;10978:74:93;11088:2;11068:18;;;11061:30;642:1:92;11107:18:93;;;11100:29;;;11181:18;;;11174:34;11146:19;;592:52:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;;;-1:-1:-1;;;;;658:45:92;;;;;;;;717:54;;;-1:-1:-1;;;717:54:92;;;;;11706:74:93;;;;11796:18;;;11789:30;11855:2;11835:18;;;11828:30;11894:17;11874:18;;;11867:45;658::92;;-1:-1:-1;717:8:92;;;;11929:19:93;;717:54:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:92;;;-1:-1:-1;;;785:45:92;;-1:-1:-1;;;;;12189:55:93;;785:45:92;;;12171:74:93;12261:18;;;12254:30;;;;12320:2;12300:18;;;12293:30;12359:18;12339;;;12332:46;785:8:92;;-1:-1:-1;785:8:92;;-1:-1:-1;12395:19:93;;785:45:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:92;;-1:-1:-1;884:1:92;;-1:-1:-1;870:16:92;;-1:-1:-1;870:16:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:92;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:92;;;:9;;;;;;;;;;:27;;;;941:16;:97;;;;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:92;;-1:-1:-1;;;;;1065:16:92;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:47:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:47;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;507:79:91:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:47:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:47;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:47;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:47:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:92:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:92;-1:-1:-1;;;;;1993:33:92;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:92;-1:-1:-1;;;;;2240:17:92;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:92;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;16517:25:93;;;;16558:18;;;16551:34;;;2301:17:92;;-1:-1:-1;2301:17:92;2280:18;;;;;;2363:7;;;;16490:18:93;;2363:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;17177:19:93;;;17212:12;;;17205:28;;;17285:66;17271:3;17267:16;;;17263:89;17249:12;;;17242:111;2435:25:92;;;;;;;;;17369:12:93;;;2435:25:92;;;;2489:11;;:152;;;;17267:16:93;;-1:-1:-1;17177:19:93;;-1:-1:-1;17205:28:93;;-1:-1:-1;2489:11:92;;;-1:-1:-1;;;;;2489:11:92;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:92;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:47:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:113:38;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;799:361:91:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:91;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;;;;;;;;1067:12;1103:42:87;;1152:103;1067:12:91;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:91;;;799:361::o;3069:146:47:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:91:-;-1:-1:-1;;;;;;;;1307:14:91;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:91;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:91;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:91;;;;;;;;;;;;-1:-1:-1;1878:16:91;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:91;;;-1:-1:-1;;;;;1904:33:91;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:91;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:91;;;2269:64;;-1:-1:-1;2317:5:91;2269:64;2351:4;-1:-1:-1;;;;;2351:33:91;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;20406:13:93;;-1:-1:-1;;;;;20402:62:93;2509:18:91;;;;20384:81:93;;;;20509:17;;20503:24;20481:20;;;20474:54;20572:17;;;20566:24;20544:20;;;;20537:54;;;;20635:17;;20629:24;20607:20;;;20600:54;2486:8:91;;20356:19:93;;2509:18:91;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:91:o;2157:141:47:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:40;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:40;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23135:74:93;;;2221:17:40;23225:18:93;;;23218:34;2196:43:40;;;;;;;;;23108:18:93;;;2196:43:40;;;-1:-1:-1;;1671:64:40;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:40;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:40:o;1379:3912:87:-;1432:27;;;;;24192:2:93;1432:27:87;;;24174:21:93;24231:2;24211:18;;;24204:30;24270:12;24250:18;;;24243:40;1411:18:87;;1432:13;;;;24300:18:93;;1432:27:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1411:48;-1:-1:-1;;;;;;1473:24:87;;1469:83;;1513:28;;-1:-1:-1;;;1513:28:87;;24787:2:93;1513:28:87;;;24769:21:93;24826:2;24806:18;;;24799:30;24865:20;24845:18;;;24838:48;24903:18;;1513:28:87;;;;;;;;1469:83;1579:10;1601:17;;1103:42;1601:31;;-1:-1:-1;;;;;;1601:31:87;;;;;;;-1:-1:-1;;;;;178:55:93;;;1601:31:87;;;160:74:93;133:18;;1601:31:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:16;1662;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1643:35;;1689:18;1710:4;-1:-1:-1;;;;;1710:16:87;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1689:39;;1739:31;1773:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1739:55;;1805:46;;:::i;:::-;-1:-1:-1;;;;;1862:28:87;;;;;1900:44;;:19;;;;:44;;;;1061:2;1954:26;;;;:42;;;;1862:12;2006:19;;;:23;2039:27;;;;;;;;2058:8;2039:27;;;;;;;;;2058:8;;2039:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:27:87;;;;-1:-1:-1;;;2039:16:87;;;:27;2132:35;1103:42;380:708:92;:::i;2132:35:87:-;-1:-1:-1;;;;;2094:75:87;;;:19;;;:75;2230:38;;;;;2180:31;;2230:30;;;;;:38;;2094:6;;2230:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2180:89;;2316:20;2362:4;2339:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:93;;;160:74;;148:2;133:18;2339:29:87;;;;;;;;;;;;;;;;;;;;;;;2316:52;;2378:20;2424:4;2401:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:93;;;160:74;;148:2;133:18;2401:29:87;;;;;;;;;;;;;;;;;;;;;;;2378:52;;2441:14;2470:103;2494:4;2510:9;2530:15;2548:8;2566:5;2470:10;:103::i;:::-;2441:132;;2584:23;2622:99;2646:4;2662:9;2682:15;2700:8;2718:1;2622:10;:99::i;:::-;2584:137;;2732:9;-1:-1:-1;;;;;2732:18:87;;2751:30;2765:15;2751:13;:30::i;:::-;2732:50;;;;;;;;;;;;;644:25:93;;632:2;617:18;;498:177;2732:50:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2809:9;-1:-1:-1;;;;;2809:21:87;;2831:24;2845:9;2831:13;:24::i;:::-;2809:47;;;;;;;;;;;;;644:25:93;;632:2;617:18;;498:177;2809:47:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2885:9;-1:-1:-1;;;;;2885:19:87;;2905:27;2919:12;2905:13;:27::i;:::-;2885:48;;;;;;;;;;;;;644:25:93;;632:2;617:18;;498:177;2885:48:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2994:9;-1:-1:-1;;;;;2994:18:87;;3013:30;3027:15;3013:13;:30::i;:::-;2994:50;;;;;;;;;;;;;644:25:93;;632:2;617:18;;498:177;2994:50:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3071:9;-1:-1:-1;;;;;3071:21:87;;3093:24;3107:9;3093:13;:24::i;:::-;3071:47;;;;;;;;;;;;;644:25:93;;632:2;617:18;;498:177;3071:47:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3147:9;-1:-1:-1;;;;;3147:19:87;;3167:27;3181:12;3167:13;:27::i;:::-;3147:48;;;;;;;;;;;;;644:25:93;;632:2;617:18;;498:177;3147:48:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3227:9;-1:-1:-1;;;;;3227:24:87;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:9;-1:-1:-1;;;;;3263:24:87;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3370:5;-1:-1:-1;;;;;3370:10:87;;3389:12;1103:42;;1152:103;3389:12;3370:41;;-1:-1:-1;;;;;;3370:41:87;;;;;;;-1:-1:-1;;;;;23153:55:93;;;3370:41:87;;;23135:74:93;3404:6:87;23225:18:93;;;23218:34;23108:18;;3370:41:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3421:47:87;;;;;-1:-1:-1;;;;;23153:55:93;;;3421:47:87;;;23135:74:93;-1:-1:-1;;23225:18:93;;;23218:34;3421:13:87;;;-1:-1:-1;3421:13:87;;-1:-1:-1;23108:18:93;;3421:47:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3478:28:87;;;;;;;;16517:25:93;;;3500:5:87;16558:18:93;;;16551:34;-1:-1:-1;;;;;3478:13:87;;;;;16490:18:93;;3478:28:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3517:41;3561:131;;;;;;;;3600:1;3561:131;;;;3603:6;3561:131;;;;3611:12;1103:42;;1152:103;3611:12;-1:-1:-1;;;;;3561:131:87;;;;;3625:31;3561:131;;;;3658:8;3561:131;;;;3676:5;-1:-1:-1;;;;;3561:131:87;;;;3517:175;;3702:17;3733:8;3722:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3722:20:87;;;;;;;;;;-1:-1:-1;;;3752:36:87;;3722:20;-1:-1:-1;;;;;;3752:22:87;;;;;:36;;3775:6;;3722:20;;3752:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3822:108;;;;;;;;3848:1;3822:108;;;;3851:6;3822:108;;;;3859:12;1103:42;;1152:103;3859:12;-1:-1:-1;;;;;3822:108:87;;;;;3873:31;3822:108;;;;3906:7;3822:108;;;;3923:5;-1:-1:-1;;;;;3822:108:87;;;;3799:131;;3958:8;3947:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3947:20:87;;;;;;;;;;-1:-1:-1;;;3977:36:87;;3947:20;-1:-1:-1;;;;;;3977:22:87;;;;;:36;;4000:6;;3947:20;;3977:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4047:108;;;;;;;;4073:1;4047:108;;;;4076:6;4047:108;;;;4084:12;1103:42;;1152:103;4084:12;-1:-1:-1;;;;;4047:108:87;;;;;4098:31;4047:108;;;;4131:7;4047:108;;;;4148:5;-1:-1:-1;;;;;4047:108:87;;;;4024:131;;4183:8;4172:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4172:20:87;;;;;;;;;;-1:-1:-1;;;4202:36:87;;4172:20;-1:-1:-1;;;;;;4202:22:87;;;;;:36;;4225:6;;4172:20;;4202:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4281:42;4326:131;;;;;;;;4365:1;4326:131;;;;4368:15;4326:131;;;;4385:12;1103:42;;1152:103;4385:12;-1:-1:-1;;;;;4326:131:87;;;;;4399:33;4326:131;;;;4434:1;4326:131;;;;4445:1;-1:-1:-1;;;;;4326:131:87;;;;4281:176;;4467:18;4499:9;4488:21;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4488:21:87;;;;;;;;;;-1:-1:-1;;;4519:46:87;;4488:21;-1:-1:-1;;;;;;4519:22:87;;;;;:46;;4542:15;;4488:21;;4519:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;317:28:41;309:37;;-1:-1:-1;;;;;4576:16:87;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4605:34;;;;;;;;;;;;;;;;;;4632:6;4605:12;:34::i;:::-;4649:54;;;;;;;;;;;;;;;;;;4692:9;4649:12;:54::i;:::-;4714:52;;;;;;;;;;;;;;;;;;4750:15;4714:12;:52::i;:::-;4776:54;;;;;;;;;;;;;;;;;;4819:9;4776:12;:54::i;:::-;4841:44;;;;;;;;;;;;;;;;;;4879:4;4841:12;:44::i;:::-;4895:46;;;;;;;;;;;;;;;;;;4934:5;4895:12;:46::i;:::-;4951:54;;;;;;;;;;;;;;;;;;4445:42:9;4951:12:87;:54::i;:::-;5016:67;;;;;;;;;;;;;;;;;;5066:15;5016:12;:67::i;:::-;5094:57;;;;;;;;;;;;;;;;;;5141:8;5094:12;:57::i;:::-;5161:49;;;;;;;;;;;;;;;;;;5197:12;1103:42;;1152:103;5197:12;5161;:49::i;:::-;5220:64;;;;;;;;;;;;;;;;;;;;;5266:16;5220:64;;;-1:-1:-1;;;;;5266:16:87;5220:12;:64::i;:::-;1401:3890;;;;;;;;;;;;;;;1379:3912::o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:47:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:47;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:91:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:91;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:91;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:91:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:45;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:45;20439:125;-1:-1:-1;;20439:125:45:o;2635:114:91:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;:::-;2717:25;2635:114;-1:-1:-1;;2635:114:91:o;7546:145:56:-;7613:71;7676:2;7680;7629:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7629:54:56;;;;;;;;;;;;;;-1:-1:-1;;;;;7629:54:56;;;;;7613:15;:71::i;:::-;7546:145;;:::o;8147:::-;8214:71;8277:2;8281;8230:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8230:54:56;;;;;;;;;;;;;;-1:-1:-1;;;;;8230:54:56;;;;;8214:15;:71::i;3030:447:91:-;3091:15;-1:-1:-1;;;3126:2:91;:12;3118:53;;;;-1:-1:-1;;;3118:53:91;;29780:2:93;3118:53:91;;;29762:21:93;29819:2;29799:18;;;29792:30;29858;29838:18;;;29831:58;29906:18;;3118:53:91;29578:352:93;3118:53:91;-1:-1:-1;;;;3193:2:91;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:91;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:91;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:45:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:45;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:93;;;20293:33:45;-1:-1:-1;20344:7:45;;;;617:18:93;;20344:19:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:45;;20337:26;;-1:-1:-1;20373:8:45;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;868:133:56:-;939:55;986:7;965:19;939:55::i;:::-;868:133;:::o;2755:269:91:-;2816:15;-1:-1:-1;;;2851:2:91;:13;;2843:66;;;;-1:-1:-1;;;2843:66:91;;30776:2:93;2843:66:91;;;30758:21:93;30815:2;30795:18;;;30788:30;30854:34;30834:18;;;30827:62;30925:10;30905:18;;;30898:38;30953:19;;2843:66:91;30574:404:93;2843:66:91;-1:-1:-1;;;2927:2:91;:12;2919:53;;;;-1:-1:-1;;;2919:53:91;;31185:2:93;2919:53:91;;;31167:21:93;31224:2;31204:18;;;31197:30;31263;31243:18;;;31236:58;31311:18;;2919:53:91;30983:352:93;2919:53:91;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:91:o;1007:380:56:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;680:154:93:-;-1:-1:-1;;;;;759:5:93;755:54;748:5;745:65;735:93;;824:1;821;814:12;839:247;898:6;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;839:247;-1:-1:-1;;;839:247:93:o;1257:484::-;1310:3;1348:5;1342:12;1375:6;1370:3;1363:19;1401:4;1430:2;1425:3;1421:12;1414:19;;1467:2;1460:5;1456:14;1488:1;1498:218;1512:6;1509:1;1506:13;1498:218;;;1577:13;;-1:-1:-1;;;;;1573:62:93;1561:75;;1656:12;;;;1691:15;;;;1534:1;1527:9;1498:218;;;-1:-1:-1;1732:3:93;;1257:484;-1:-1:-1;;;;;1257:484:93:o;1746:261::-;1925:2;1914:9;1907:21;1888:4;1945:56;1997:2;1986:9;1982:18;1974:6;1945:56;:::i;2012:250::-;2097:1;2107:113;2121:6;2118:1;2115:13;2107:113;;;2197:11;;;2191:18;2178:11;;;2171:39;2143:2;2136:10;2107:113;;;-1:-1:-1;;2254:1:93;2236:16;;2229:27;2012:250::o;2267:271::-;2309:3;2347:5;2341:12;2374:6;2369:3;2362:19;2390:76;2459:6;2452:4;2447:3;2443:14;2436:4;2429:5;2425:16;2390:76;:::i;:::-;2520:2;2499:15;-1:-1:-1;;2495:29:93;2486:39;;;;2527:4;2482:50;;2267:271;-1:-1:-1;;2267:271:93:o;2543:1767::-;2778:2;2830:21;;;2900:13;;2803:18;;;2922:22;;;2749:4;;2778:2;2963;;2981:18;;;;3018:1;3061:15;;;3046:31;;3042:40;;3105:15;;;2749:4;;3169:1112;3185:6;3180:3;3177:15;3169:1112;;;-1:-1:-1;;3254:22:93;;;3250:36;3238:49;;3310:13;;3397:9;;-1:-1:-1;;;;;3393:58:93;3378:74;;3491:11;;3485:18;3523:15;;;3516:27;;;3604:19;;3350:15;;;3636:24;;;3817:21;;;;3683:2;3765:17;;;3753:30;;3749:39;;;3707:15;;;;3862:1;3876:296;3892:8;3887:3;3884:17;3876:296;;;3998:2;3994:7;3985:6;3977;3973:19;3969:33;3962:5;3955:48;4030:42;4065:6;4054:8;4048:15;4030:42;:::i;:::-;4101:17;;;;4020:52;-1:-1:-1;4144:14:93;;;;3920:1;3911:11;3876:296;;;-1:-1:-1;;;4259:12:93;;;;4195:6;-1:-1:-1;;4224:15:93;;;;3211:1;3202:11;3169:1112;;;-1:-1:-1;4298:6:93;;2543:1767;-1:-1:-1;;;;;;;;;;2543:1767:93:o;4315:291::-;4492:6;4481:9;4474:25;4535:2;4530;4519:9;4515:18;4508:30;4455:4;4555:45;4596:2;4585:9;4581:18;4573:6;4555:45;:::i;:::-;4547:53;4315:291;-1:-1:-1;;;;4315:291:93:o;4611:1638::-;4815:4;4844:2;4884;4873:9;4869:18;4914:2;4903:9;4896:21;4937:6;4972;4966:13;5003:6;4995;4988:22;5029:2;5019:12;;5062:2;5051:9;5047:18;5040:25;;5124:2;5114:6;5111:1;5107:14;5096:9;5092:30;5088:39;5162:2;5154:6;5150:15;5183:1;5204;5214:1006;5230:6;5225:3;5222:15;5214:1006;;;5299:22;;;-1:-1:-1;;5295:36:93;5283:49;;5355:13;;5442:9;;-1:-1:-1;;;;;5438:58:93;5423:74;;5536:11;;5530:18;5568:15;;;5561:27;;;5649:19;;5395:15;;;5681:24;;;5771:21;;;;5816:1;;5739:2;5727:15;;;5830:282;5846:8;5841:3;5838:17;5830:282;;;5927:15;;-1:-1:-1;;;;;;5923:88:93;5909:103;;6081:17;;;;5874:1;5865:11;;;;;6038:14;;;;5830:282;;;-1:-1:-1;6198:12:93;;;;6135:5;-1:-1:-1;;;6163:15:93;;;;5256:1;5247:11;5214:1006;;;-1:-1:-1;6237:6:93;;4611:1638;-1:-1:-1;;;;;;;;;4611:1638:93:o;6254:184::-;-1:-1:-1;;;6303:1:93;6296:88;6403:4;6400:1;6393:15;6427:4;6424:1;6417:15;6443:275;6514:2;6508:9;6579:2;6560:13;;-1:-1:-1;;6556:27:93;6544:40;;6614:18;6599:34;;6635:22;;;6596:62;6593:88;;;6661:18;;:::i;:::-;6697:2;6690:22;6443:275;;-1:-1:-1;6443:275:93:o;6723:186::-;6771:4;6804:18;6796:6;6793:30;6790:56;;;6826:18;;:::i;:::-;-1:-1:-1;6892:2:93;6871:15;-1:-1:-1;;6867:29:93;6898:4;6863:40;;6723:186::o;6914:874::-;7000:6;7008;7016;7069:2;7057:9;7048:7;7044:23;7040:32;7037:52;;;7085:1;7082;7075:12;7037:52;7124:9;7111:23;7143:31;7168:5;7143:31;:::i;:::-;7193:5;-1:-1:-1;7245:2:93;7230:18;;7217:32;;-1:-1:-1;7300:2:93;7285:18;;7272:32;7327:18;7316:30;;7313:50;;;7359:1;7356;7349:12;7313:50;7382:22;;7435:4;7427:13;;7423:27;-1:-1:-1;7413:55:93;;7464:1;7461;7454:12;7413:55;7500:2;7487:16;7525:48;7541:31;7569:2;7541:31;:::i;:::-;7525:48;:::i;:::-;7596:2;7589:5;7582:17;7636:7;7631:2;7626;7622;7618:11;7614:20;7611:33;7608:53;;;7657:1;7654;7647:12;7608:53;7712:2;7707;7703;7699:11;7694:2;7687:5;7683:14;7670:45;7756:1;7751:2;7746;7739:5;7735:14;7731:23;7724:34;7777:5;7767:15;;;;;6914:874;;;;;:::o;7793:803::-;7955:4;7984:2;8024;8013:9;8009:18;8054:2;8043:9;8036:21;8077:6;8112;8106:13;8143:6;8135;8128:22;8181:2;8170:9;8166:18;8159:25;;8243:2;8233:6;8230:1;8226:14;8215:9;8211:30;8207:39;8193:53;;8281:2;8273:6;8269:15;8302:1;8312:255;8326:6;8323:1;8320:13;8312:255;;;8419:2;8415:7;8403:9;8395:6;8391:22;8387:36;8382:3;8375:49;8447:40;8480:6;8471;8465:13;8447:40;:::i;:::-;8437:50;-1:-1:-1;8545:12:93;;;;8510:15;;;;8348:1;8341:9;8312:255;;;-1:-1:-1;8584:6:93;;7793:803;-1:-1:-1;;;;;;;7793:803:93:o;9053:844::-;9179:6;9187;9195;9203;9211;9264:3;9252:9;9243:7;9239:23;9235:33;9232:53;;;9281:1;9278;9271:12;9232:53;9320:9;9307:23;9339:31;9364:5;9339:31;:::i;:::-;9389:5;-1:-1:-1;9446:2:93;9431:18;;9418:32;9459:33;9418:32;9459:33;:::i;:::-;9511:7;-1:-1:-1;9570:2:93;9555:18;;9542:32;9583:33;9542:32;9583:33;:::i;:::-;9635:7;-1:-1:-1;9694:2:93;9679:18;;9666:32;9707:33;9666:32;9707:33;:::i;:::-;9759:7;-1:-1:-1;9818:3:93;9803:19;;9790:33;9832;9790;9832;:::i;:::-;9884:7;9874:17;;;9053:844;;;;;;;;:::o;10341:385::-;10427:6;10435;10443;10451;10504:3;10492:9;10483:7;10479:23;10475:33;10472:53;;;10521:1;10518;10511:12;10472:53;-1:-1:-1;;10544:23:93;;;10614:2;10599:18;;10586:32;;-1:-1:-1;10665:2:93;10650:18;;10637:32;;10716:2;10701:18;10688:32;;-1:-1:-1;10341:385:93;-1:-1:-1;10341:385:93:o;11219:270::-;11308:6;11361:2;11349:9;11340:7;11336:23;11332:32;11329:52;;;11377:1;11374;11367:12;11329:52;11409:9;11403:16;11428:31;11453:5;11428:31;:::i;12425:184::-;-1:-1:-1;;;12474:1:93;12467:88;12574:4;12571:1;12564:15;12598:4;12595:1;12588:15;12614:1065;13056:4;13085:3;13115:2;13104:9;13097:21;13141:56;13193:2;13182:9;13178:18;13170:6;13141:56;:::i;:::-;13228:2;13213:18;;;13206:34;;;;-1:-1:-1;;;;;13337:15:93;;;13332:2;13317:18;;13310:43;13389:22;;;13384:2;13369:18;;13362:50;-1:-1:-1;13421:17:93;;13507:15;;;13501:3;13486:19;;13479:44;-1:-1:-1;;13560:15:93;;;13554:3;13539:19;;13532:44;13607:3;13592:19;;13585:35;;;;13657:15;;;13651:3;13636:19;;;13629:44;;;;13455:15;;12614:1065;-1:-1:-1;12614:1065:93:o;13684:437::-;13763:1;13759:12;;;;13806;;;13827:61;;13881:4;13873:6;13869:17;13859:27;;13827:61;13934:2;13926:6;13923:14;13903:18;13900:38;13897:218;;-1:-1:-1;;;13968:1:93;13961:88;14072:4;14069:1;14062:15;14100:4;14097:1;14090:15;13897:218;;13684:437;;;:::o;14126:184::-;14196:6;14249:2;14237:9;14228:7;14224:23;14220:32;14217:52;;;14265:1;14262;14255:12;14217:52;-1:-1:-1;14288:16:93;;14126:184;-1:-1:-1;14126:184:93:o;14315:::-;-1:-1:-1;;;14364:1:93;14357:88;14464:4;14461:1;14454:15;14488:4;14485:1;14478:15;14504:140;14585:1;14578:5;14575:12;14565:46;;14591:18;;:::i;:::-;14620;;14504:140::o;14649:1037::-;15056:4;15085:3;-1:-1:-1;;;;;15188:2:93;15180:6;15176:15;15165:9;15158:34;15228:6;15223:2;15212:9;15208:18;15201:34;15271:2;15266;15255:9;15251:18;15244:30;15291:45;15332:2;15321:9;15317:18;15309:6;15291:45;:::i;:::-;15283:53;;15345;15394:2;15383:9;15379:18;15371:6;15345:53;:::i;:::-;15429:3;15414:19;;15407:35;;;;-1:-1:-1;15473:3:93;15458:19;;15451:35;;;;15517:3;15502:19;;15495:35;;;;15567:15;;;15561:3;15546:19;;15539:44;15620:15;;;15614:3;15599:19;;15592:44;15667:3;15652:19;15645:35;;;;14649:1037;;-1:-1:-1;;;;14649:1037:93:o;15691:647::-;15770:6;15823:2;15811:9;15802:7;15798:23;15794:32;15791:52;;;15839:1;15836;15829:12;15791:52;15872:9;15866:16;15905:18;15897:6;15894:30;15891:50;;;15937:1;15934;15927:12;15891:50;15960:22;;16013:4;16005:13;;16001:27;-1:-1:-1;15991:55:93;;16042:1;16039;16032:12;15991:55;16071:2;16065:9;16096:48;16112:31;16140:2;16112:31;:::i;16096:48::-;16167:2;16160:5;16153:17;16207:7;16202:2;16197;16193;16189:11;16185:20;16182:33;16179:53;;;16228:1;16225;16218:12;16179:53;16241:67;16305:2;16300;16293:5;16289:14;16284:2;16280;16276:11;16241:67;:::i;:::-;16327:5;15691:647;-1:-1:-1;;;;;15691:647:93:o;16596:395::-;16682:6;16690;16698;16751:2;16739:9;16730:7;16726:23;16722:32;16719:52;;;16767:1;16764;16757:12;16719:52;16799:9;16793:16;16849:4;16842:5;16838:16;16831:5;16828:27;16818:55;;16869:1;16866;16859:12;16818:55;16937:2;16922:18;;16916:25;16981:2;16966:18;;;16960:25;16892:5;;16916:25;;-1:-1:-1;16960:25:93;16596:395;-1:-1:-1;;;16596:395:93:o;17392:1135::-;17825:4;17854:3;-1:-1:-1;;;;;17957:2:93;17949:6;17945:15;17934:9;17927:34;17997:6;17992:2;17981:9;17977:18;17970:34;18040:2;18035;18024:9;18020:18;18013:30;18066:45;18107:2;18096:9;18092:18;18084:6;18066:45;:::i;:::-;18052:59;;18120:53;18169:2;18158:9;18154:18;18146:6;18120:53;:::i;:::-;18210:6;18204:3;18193:9;18189:19;18182:35;18254:6;18248:3;18237:9;18233:19;18226:35;18298:6;18292:3;18281:9;18277:19;18270:35;18354:2;18346:6;18342:15;18336:3;18325:9;18321:19;18314:44;18407:2;18399:6;18395:15;18389:3;18378:9;18374:19;18367:44;;18460:9;18452:6;18448:22;18442:3;18431:9;18427:19;18420:51;18488:33;18514:6;18506;18488:33;:::i;:::-;18480:41;17392:1135;-1:-1:-1;;;;;;;;;;;;;17392:1135:93:o;18532:277::-;18599:6;18652:2;18640:9;18631:7;18627:23;18623:32;18620:52;;;18668:1;18665;18658:12;18620:52;18700:9;18694:16;18753:5;18746:13;18739:21;18732:5;18729:32;18719:60;;18775:1;18772;18765:12;18814:252;18901:5;18895:12;18890:3;18883:25;18865:3;18954:4;18947:5;18943:16;18937:23;18992:4;18985;18980:3;18976:14;18969:28;19013:47;19054:4;19049:3;19045:14;19031:12;19013:47;:::i;19071:902::-;19495:6;19484:9;19477:25;19538:3;19533:2;19522:9;19518:18;19511:31;19579:2;19573:3;19562:9;19558:19;19551:31;19619:16;19613:3;19602:9;19598:19;19591:45;19672:3;19667:2;19656:9;19652:18;19645:31;19458:4;19699:55;19749:3;19738:9;19734:19;19726:6;19699:55;:::i;:::-;-1:-1:-1;;;;;19794:6:93;19790:55;19785:2;19774:9;19770:18;19763:83;19895:9;19887:6;19883:22;19877:3;19866:9;19862:19;19855:51;19923:44;19960:6;19952;19923:44;:::i;:::-;19915:52;19071:902;-1:-1:-1;;;;;;;19071:902:93:o;20791:2165::-;21213:6;21202:9;21195:25;21176:4;21239:2;-1:-1:-1;;;;;21350:2:93;21342:6;21338:15;21333:2;21322:9;21318:18;21311:43;21390:3;21385:2;21374:9;21370:18;21363:31;21417:46;21458:3;21447:9;21443:19;21435:6;21417:46;:::i;:::-;21511:2;21503:6;21499:15;21494:2;21483:9;21479:18;21472:43;21552:6;21546:3;21535:9;21531:19;21524:35;21608:9;21600:6;21596:22;21590:3;21579:9;21575:19;21568:51;21649:6;21643:13;21635:6;21628:29;21676:4;21666:14;;21721:2;21713:6;21709:15;21757:2;21752;21744:6;21740:15;21733:27;21780:1;21813:12;21807:19;21849:3;21879:9;21875:2;21871:18;21861:28;;21939:2;21928:9;21924:18;21961;21951:61;;22005:4;21997:6;21993:17;21983:27;;21951:61;22058:2;22050:6;22047:14;22027:18;22024:38;22021:222;;-1:-1:-1;;;22092:3:93;22085:90;22198:4;22195:1;22188:15;22228:4;22223:3;22216:17;22021:222;22322:2;22310:15;;1189:19;;;1232:14;;;22252:82;-1:-1:-1;22350:18:93;22377:128;;;;22519:1;22514:321;;;;22343:492;;22377:128;-1:-1:-1;;22410:24:93;;22398:37;;22478:14;;22471:22;22468:1;22464:30;22455:40;;;-1:-1:-1;22377:128:93;;22514:321;20738:1;20731:14;;;20775:4;20762:18;;22615:1;22629:165;22643:6;22640:1;22637:13;22629:165;;;22721:14;;22708:11;;;22701:35;22764:16;;;;22658:10;;22629:165;;;22814:11;;;-1:-1:-1;;22343:492:93;;;;;22881:9;22876:3;22872:19;22866:3;22855:9;22851:19;22844:48;22909:41;22946:3;22938:6;22909:41;:::i;:::-;22901:49;20791:2165;-1:-1:-1;;;;;;;;;;;;;;20791:2165:93:o;23263:430::-;-1:-1:-1;;;;;;23452:6:93;23448:79;23443:3;23436:92;23418:3;23557:6;23551:13;23573:74;23640:6;23636:1;23631:3;23627:11;23620:4;23612:6;23608:17;23573:74;:::i;:::-;23667:16;;;;23685:1;23663:24;;23263:430;-1:-1:-1;;;23263:430:93:o;23698:287::-;23827:3;23865:6;23859:13;23881:66;23940:6;23935:3;23928:4;23920:6;23916:17;23881:66;:::i;:::-;23963:16;;;;;23698:287;-1:-1:-1;;23698:287:93:o;25206:848::-;25405:2;25394:9;25387:21;25368:4;-1:-1:-1;;;;;25524:2:93;25515:6;25509:13;25505:22;25500:2;25489:9;25485:18;25478:50;25592:2;25586;25578:6;25574:15;25568:22;25564:31;25559:2;25548:9;25544:18;25537:59;25650:2;25642:6;25638:15;25632:22;25627:2;25616:9;25612:18;25605:50;25710:2;25702:6;25698:15;25692:22;25686:3;25675:9;25671:19;25664:51;25770:3;25762:6;25758:16;25752:23;25746:3;25735:9;25731:19;25724:52;25823:3;25815:6;25811:16;25805:23;25865:4;25859:3;25848:9;25844:19;25837:33;25893:61;25949:3;25938:9;25934:19;25920:12;25893:61;:::i;:::-;25879:75;;26021:2;26014:3;26006:6;26002:16;25996:23;25992:32;25985:4;25974:9;25970:20;25963:62;26042:6;26034:14;;;;25206:848;;;;:::o;26939:795::-;27097:4;27139:3;27128:9;27124:19;27116:27;;27176:6;27170:13;27159:9;27152:32;27240:4;27232:6;27228:17;27222:24;27215:4;27204:9;27200:20;27193:54;27294:4;27286:6;27282:17;27276:24;-1:-1:-1;;;;;27417:2:93;27403:12;27399:21;27392:4;27381:9;27377:20;27370:51;27470:4;27462:6;27458:17;27452:24;27430:46;;27514:1;27498:14;27495:21;27485:55;;27520:18;;:::i;:::-;27578:14;27571:4;27560:9;27556:20;27549:44;27649:4;27641:6;27637:17;27631:24;27624:4;27613:9;27609:20;27602:54;27724:2;27716:4;27708:6;27704:17;27698:24;27694:33;27687:4;27676:9;27672:20;27665:63;;;26939:795;;;;:::o;28033:184::-;-1:-1:-1;;;28082:1:93;28075:88;28182:4;28179:1;28172:15;28206:4;28203:1;28196:15;28222:274;28262:1;28288;28278:189;;-1:-1:-1;;;28320:1:93;28313:88;28424:4;28421:1;28414:15;28452:4;28449:1;28442:15;28278:189;-1:-1:-1;28481:9:93;;28222:274::o;28501:128::-;28568:9;;;28589:11;;;28586:37;;;28603:18;;:::i;28634:168::-;28707:9;;;28738;;28755:15;;;28749:22;;28735:37;28725:71;;28776:18;;:::i;28807:125::-;28872:9;;;28893:10;;;28890:36;;;28906:18;;:::i;28937:291::-;29114:2;29103:9;29096:21;29077:4;29134:45;29175:2;29164:9;29160:18;29152:6;29134:45;:::i;:::-;29126:53;;29215:6;29210:2;29199:9;29195:18;29188:34;28937:291;;;;;:::o;29233:340::-;29410:2;29399:9;29392:21;29373:4;29430:45;29471:2;29460:9;29456:18;29448:6;29430:45;:::i;:::-;29422:53;;-1:-1:-1;;;;;29515:6:93;29511:55;29506:2;29495:9;29491:18;29484:83;29233:340;;;;;:::o;30229:::-;-1:-1:-1;;;;;30410:6:93;30406:55;30395:9;30388:74;30498:2;30493;30482:9;30478:18;30471:30;30369:4;30518:45;30559:2;30548:9;30544:18;30536:6;30518:45;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","SENDER()":"6050f2f8","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SENDER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":\"DeployCVArbSepolia\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":{\"keccak256\":\"0xd7749e46fc4ee52ae8a7708dbe5d8fc1e915ac96e6a87f1a206d08004c0ad26f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://7c68f9cbbe7990ba045ee9e1fe1893abffa7ff1eebe850fac1b543c0c3631fb4\",\"dweb:/ipfs/QmSY4iD9V1Xgd7X6eTgRCycJYWCYL3bwHUsT2TbTeahCoK\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SENDER","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/DeployCVArbSepolia.s.sol":"DeployCVArbSepolia"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/script/DeployCVArbSepolia.s.sol":{"keccak256":"0xd7749e46fc4ee52ae8a7708dbe5d8fc1e915ac96e6a87f1a206d08004c0ad26f","urls":["bzz-raw://7c68f9cbbe7990ba045ee9e1fe1893abffa7ff1eebe850fac1b543c0c3631fb4","dweb:/ipfs/QmSY4iD9V1Xgd7X6eTgRCycJYWCYL3bwHUsT2TbTeahCoK"],"license":"UNLICENSED"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/script/DeployCVArbSepolia.s.sol","id":57556,"exportedSymbols":{"AMockERC20":[9481],"Accounts":[9264],"Allo":[1390],"BaseStrategy":[3923],"CVStrategy":[59537],"CVStrategyHelpers":[60719],"DeployCVArbSepolia":[57555],"IAllo":[2610],"IERC20":[6903],"IRegistry":[2802],"IWithdrawMember":[57570],"Metadata":[3098],"Native":[3106],"Registry":[2295],"RegistryFactory":[59584],"RegistryGardens":[60352],"SafeSetup":[61100],"Script":[11887],"ScriptBase":[11848],"StdChains":[14069],"StdCheatsSafe":[16129],"StdStorage":[18013],"StdStyle":[20863],"StdUtils":[21649],"VmSafe":[23075],"console":[31615],"console2":[39740],"safeconsole":[54080],"stdJson":[17839],"stdMath":[17981],"stdStorageSafe":[19061]},"nodeType":"SourceUnit","src":"39:5255:87","nodes":[{"id":56970,"nodeType":"PragmaDirective","src":"39:24:87","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":56971,"nodeType":"ImportDirective","src":"65:32:87","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":39741,"symbolAliases":[],"unitAlias":""},{"id":56972,"nodeType":"ImportDirective","src":"98:30:87","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":11888,"symbolAliases":[],"unitAlias":""},{"id":56973,"nodeType":"ImportDirective","src":"129:56:87","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":56974,"nodeType":"ImportDirective","src":"186:31:87","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":59538,"symbolAliases":[],"unitAlias":""},{"id":56976,"nodeType":"ImportDirective","src":"218:66:87","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":56975,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"226:5:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56978,"nodeType":"ImportDirective","src":"285:53:87","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":56977,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"293:4:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56980,"nodeType":"ImportDirective","src":"339:74:87","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":56979,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"347:9:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56982,"nodeType":"ImportDirective","src":"414:61:87","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":56981,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"422:8:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56984,"nodeType":"ImportDirective","src":"476:67:87","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":56983,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"484:6:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56986,"nodeType":"ImportDirective","src":"544:64:87","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"../test/CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":60720,"symbolAliases":[{"foreign":{"id":56985,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60719,"src":"552:17:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56988,"nodeType":"ImportDirective","src":"609:73:87","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":9482,"symbolAliases":[{"foreign":{"id":56987,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9481,"src":"617:9:87","typeDescriptions":{}},"local":"AMockERC20","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56990,"nodeType":"ImportDirective","src":"683:59:87","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":59585,"symbolAliases":[{"foreign":{"id":56989,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59584,"src":"691:15:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56992,"nodeType":"ImportDirective","src":"743:55:87","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"../test/shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":61101,"symbolAliases":[{"foreign":{"id":56991,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61100,"src":"751:9:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56994,"nodeType":"ImportDirective","src":"799:71:87","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":56993,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"807:8:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":56996,"nodeType":"ImportDirective","src":"871:66:87","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":57556,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":56995,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"879:8:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57555,"nodeType":"ContractDefinition","src":"939:4354:87","nodes":[{"id":57007,"nodeType":"VariableDeclaration","src":"1021:42:87","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1045:13:87","scope":57555,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57005,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":57006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1061:2:87","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":57010,"nodeType":"VariableDeclaration","src":"1070:75:87","nodes":[],"constant":true,"functionSelector":"6050f2f8","mutability":"constant","name":"SENDER","nameLocation":"1094:6:87","scope":57555,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57008,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307832463965313133343334616542446437306242393963423635303565314637323643353738443664","id":57009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1103:42:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d"},"visibility":"public"},{"id":57022,"nodeType":"FunctionDefinition","src":"1152:103:87","nodes":[],"body":{"id":57021,"nodeType":"Block","src":"1216:39:87","nodes":[],"statements":[{"expression":{"arguments":[{"id":57018,"name":"SENDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57010,"src":"1241:6:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1233:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57016,"name":"address","nodeType":"ElementaryTypeName","src":"1233:7:87","typeDescriptions":{}}},"id":57019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":57015,"id":57020,"nodeType":"Return","src":"1226:22:87"}]},"baseFunctions":[8991],"functionSelector":"8e0d1a50","implemented":true,"kind":"function","modifiers":[],"name":"pool_admin","nameLocation":"1161:10:87","overrides":{"id":57012,"nodeType":"OverrideSpecifier","overrides":[],"src":"1189:8:87"},"parameters":{"id":57011,"nodeType":"ParameterList","parameters":[],"src":"1171:2:87"},"returnParameters":{"id":57015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57014,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57022,"src":"1207:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57013,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1206:9:87"},"scope":57555,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":57554,"nodeType":"FunctionDefinition","src":"1379:3912:87","nodes":[],"body":{"id":57553,"nodeType":"Block","src":"1401:3890:87","nodes":[],"statements":[{"assignments":[57026],"declarations":[{"constant":false,"id":57026,"mutability":"mutable","name":"allo_proxy","nameLocation":"1419:10:87","nodeType":"VariableDeclaration","scope":57553,"src":"1411:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57025,"name":"address","nodeType":"ElementaryTypeName","src":"1411:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":57031,"initialValue":{"arguments":[{"hexValue":"414c4c4f5f50524f5859","id":57029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1446:12:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""},"value":"ALLO_PROXY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""}],"expression":{"id":57027,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"1432:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23551","typeString":"contract Vm"}},"id":57028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:10:87","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":22230,"src":"1432:13:87","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":57030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:27:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1411:48:87"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":57037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57032,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57026,"src":"1473:10:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":57035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1495:1:87","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1487:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57033,"name":"address","nodeType":"ElementaryTypeName","src":"1487:7:87","typeDescriptions":{}}},"id":57036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1487:10:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1473:24:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57043,"nodeType":"IfStatement","src":"1469:83:87","trueBody":{"id":57042,"nodeType":"Block","src":"1499:53:87","statements":[{"expression":{"arguments":[{"hexValue":"414c4c4f5f50524f5859206e6f7420736574","id":57039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1520:20:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""},"value":"ALLO_PROXY not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""}],"id":57038,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1513:6:87","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":57040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1513:28:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57041,"nodeType":"ExpressionStatement","src":"1513:28:87"}]}},{"assignments":[57046],"declarations":[{"constant":false,"id":57046,"mutability":"mutable","name":"allo","nameLocation":"1567:4:87","nodeType":"VariableDeclaration","scope":57553,"src":"1562:9:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":57045,"nodeType":"UserDefinedTypeName","pathNode":{"id":57044,"name":"Allo","nameLocations":["1562:4:87"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1562:4:87"},"referencedDeclaration":1390,"src":"1562:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"}],"id":57050,"initialValue":{"arguments":[{"id":57048,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57026,"src":"1579:10:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57047,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"1574:4:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1574:16:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"VariableDeclarationStatement","src":"1562:28:87"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57054,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"1619:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1619:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57051,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"1601:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23551","typeString":"contract Vm"}},"id":57053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1604:14:87","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":22558,"src":"1601:17:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1601:31:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57057,"nodeType":"ExpressionStatement","src":"1601:31:87"},{"assignments":[57060],"declarations":[{"constant":false,"id":57060,"mutability":"mutable","name":"token","nameLocation":"1654:5:87","nodeType":"VariableDeclaration","scope":57553,"src":"1643:16:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"},"typeName":{"id":57059,"nodeType":"UserDefinedTypeName","pathNode":{"id":57058,"name":"AMockERC20","nameLocations":["1643:10:87"],"nodeType":"IdentifierPath","referencedDeclaration":9481,"src":"1643:10:87"},"referencedDeclaration":9481,"src":"1643:10:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":57065,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":57063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1662:14:87","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9481_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":57062,"nodeType":"UserDefinedTypeName","pathNode":{"id":57061,"name":"AMockERC20","nameLocations":["1666:10:87"],"nodeType":"IdentifierPath","referencedDeclaration":9481,"src":"1666:10:87"},"referencedDeclaration":9481,"src":"1666:10:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}}},"id":57064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1662:16:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"1643:35:87"},{"assignments":[57068],"declarations":[{"constant":false,"id":57068,"mutability":"mutable","name":"registry","nameLocation":"1699:8:87","nodeType":"VariableDeclaration","scope":57553,"src":"1689:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":57067,"nodeType":"UserDefinedTypeName","pathNode":{"id":57066,"name":"IRegistry","nameLocations":["1689:9:87"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1689:9:87"},"referencedDeclaration":2802,"src":"1689:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"id":57072,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57069,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"1710:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1715:11:87","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":1362,"src":"1710:16:87","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IRegistry_$2802_$","typeString":"function () view external returns (contract IRegistry)"}},"id":57071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1710:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1689:39:87"},{"assignments":[57075],"declarations":[{"constant":false,"id":57075,"mutability":"mutable","name":"registryFactory","nameLocation":"1755:15:87","nodeType":"VariableDeclaration","scope":57553,"src":"1739:31:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59584","typeString":"contract RegistryFactory"},"typeName":{"id":57074,"nodeType":"UserDefinedTypeName","pathNode":{"id":57073,"name":"RegistryFactory","nameLocations":["1739:15:87"],"nodeType":"IdentifierPath","referencedDeclaration":59584,"src":"1739:15:87"},"referencedDeclaration":59584,"src":"1739:15:87","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59584","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":57080,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":57078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1773:19:87","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$59584_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":57077,"nodeType":"UserDefinedTypeName","pathNode":{"id":57076,"name":"RegistryFactory","nameLocations":["1777:15:87"],"nodeType":"IdentifierPath","referencedDeclaration":59584,"src":"1777:15:87"},"referencedDeclaration":59584,"src":"1777:15:87","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59584","typeString":"contract RegistryFactory"}}},"id":57079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1773:21:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59584","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"1739:55:87"},{"assignments":[57085],"declarations":[{"constant":false,"id":57085,"mutability":"mutable","name":"params","nameLocation":"1845:6:87","nodeType":"VariableDeclaration","scope":57553,"src":"1805:46:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":57084,"nodeType":"UserDefinedTypeName","pathNode":{"id":57083,"name":"RegistryGardens.InitializeParams","nameLocations":["1805:15:87","1821:16:87"],"nodeType":"IdentifierPath","referencedDeclaration":59757,"src":"1805:32:87"},"referencedDeclaration":59757,"src":"1805:32:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":57086,"nodeType":"VariableDeclarationStatement","src":"1805:46:87"},{"expression":{"id":57094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57087,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57085,"src":"1862:6:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1869:5:87","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":59742,"src":"1862:12:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":57092,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"1885:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1877:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57090,"name":"address","nodeType":"ElementaryTypeName","src":"1877:7:87","typeDescriptions":{}}},"id":57093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1877:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1862:28:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57095,"nodeType":"ExpressionStatement","src":"1862:28:87"},{"expression":{"id":57105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57096,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57085,"src":"1900:6:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1907:12:87","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":59745,"src":"1900:19:87","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":57102,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"1937:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}],"id":57101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1929:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57100,"name":"address","nodeType":"ElementaryTypeName","src":"1929:7:87","typeDescriptions":{}}},"id":57103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1929:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57099,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"1922:6:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":57104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1922:22:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"1900:44:87","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":57106,"nodeType":"ExpressionStatement","src":"1900:44:87"},{"expression":{"id":57111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57107,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57085,"src":"1954:6:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1961:19:87","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":59747,"src":"1954:26:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57110,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57007,"src":"1983:13:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1954:42:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57112,"nodeType":"ExpressionStatement","src":"1954:42:87"},{"expression":{"id":57117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57113,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57085,"src":"2006:6:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2013:12:87","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":59749,"src":"2006:19:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":57116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2028:1:87","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2006:23:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57118,"nodeType":"ExpressionStatement","src":"2006:23:87"},{"expression":{"id":57123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57119,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57085,"src":"2039:6:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2046:9:87","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":59754,"src":"2039:16:87","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57122,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60377,"src":"2058:8:87","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2039:27:87","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":57124,"nodeType":"ExpressionStatement","src":"2039:27:87"},{"expression":{"id":57138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57125,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57085,"src":"2094:6:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2101:12:87","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":59756,"src":"2094:19:87","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57133,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"2154:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57132,"name":"_councilSafeWithOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60863,"src":"2132:21:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_contract$_Safe_$55202_$","typeString":"function (address) returns (contract Safe)"}},"id":57135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:35:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55202","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55202","typeString":"contract Safe"}],"id":57131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2124:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57130,"name":"address","nodeType":"ElementaryTypeName","src":"2124:7:87","typeDescriptions":{}}},"id":57136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2124:44:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2116:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":57128,"name":"address","nodeType":"ElementaryTypeName","src":"2116:8:87","stateMutability":"payable","typeDescriptions":{}}},"id":57137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2116:53:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2094:75:87","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":57139,"nodeType":"ExpressionStatement","src":"2094:75:87"},{"assignments":[57142],"declarations":[{"constant":false,"id":57142,"mutability":"mutable","name":"registryGardens","nameLocation":"2196:15:87","nodeType":"VariableDeclaration","scope":57553,"src":"2180:31:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"},"typeName":{"id":57141,"nodeType":"UserDefinedTypeName","pathNode":{"id":57140,"name":"RegistryGardens","nameLocations":["2180:15:87"],"nodeType":"IdentifierPath","referencedDeclaration":60352,"src":"2180:15:87"},"referencedDeclaration":60352,"src":"2180:15:87","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"id":57149,"initialValue":{"arguments":[{"arguments":[{"id":57146,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57085,"src":"2261:6:87","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$59757_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":57144,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57075,"src":"2230:15:87","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59584","typeString":"contract RegistryFactory"}},"id":57145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2246:14:87","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":59583,"src":"2230:30:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$59757_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":57147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2230:38:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57143,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60352,"src":"2214:15:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60352_$","typeString":"type(contract RegistryGardens)"}},"id":57148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2214:55:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}},"nodeType":"VariableDeclarationStatement","src":"2180:89:87"},{"assignments":[57152],"declarations":[{"constant":false,"id":57152,"mutability":"mutable","name":"strategy1","nameLocation":"2327:9:87","nodeType":"VariableDeclaration","scope":57553,"src":"2316:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"},"typeName":{"id":57151,"nodeType":"UserDefinedTypeName","pathNode":{"id":57150,"name":"CVStrategy","nameLocations":["2316:10:87"],"nodeType":"IdentifierPath","referencedDeclaration":59537,"src":"2316:10:87"},"referencedDeclaration":59537,"src":"2316:10:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":57161,"initialValue":{"arguments":[{"arguments":[{"id":57158,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"2362:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2354:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57156,"name":"address","nodeType":"ElementaryTypeName","src":"2354:7:87","typeDescriptions":{}}},"id":57159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2354:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2339:14:87","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$59537_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":57154,"nodeType":"UserDefinedTypeName","pathNode":{"id":57153,"name":"CVStrategy","nameLocations":["2343:10:87"],"nodeType":"IdentifierPath","referencedDeclaration":59537,"src":"2343:10:87"},"referencedDeclaration":59537,"src":"2343:10:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}}},"id":57160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2339:29:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2316:52:87"},{"assignments":[57164],"declarations":[{"constant":false,"id":57164,"mutability":"mutable","name":"strategy2","nameLocation":"2389:9:87","nodeType":"VariableDeclaration","scope":57553,"src":"2378:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"},"typeName":{"id":57163,"nodeType":"UserDefinedTypeName","pathNode":{"id":57162,"name":"CVStrategy","nameLocations":["2378:10:87"],"nodeType":"IdentifierPath","referencedDeclaration":59537,"src":"2378:10:87"},"referencedDeclaration":59537,"src":"2378:10:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":57173,"initialValue":{"arguments":[{"arguments":[{"id":57170,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"2424:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2416:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57168,"name":"address","nodeType":"ElementaryTypeName","src":"2416:7:87","typeDescriptions":{}}},"id":57171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2416:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2401:14:87","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$59537_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":57166,"nodeType":"UserDefinedTypeName","pathNode":{"id":57165,"name":"CVStrategy","nameLocations":["2405:10:87"],"nodeType":"IdentifierPath","referencedDeclaration":59537,"src":"2405:10:87"},"referencedDeclaration":59537,"src":"2405:10:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}}},"id":57172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2401:29:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2378:52:87"},{"assignments":[57175],"declarations":[{"constant":false,"id":57175,"mutability":"mutable","name":"poolId","nameLocation":"2449:6:87","nodeType":"VariableDeclaration","scope":57553,"src":"2441:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57174,"name":"uint256","nodeType":"ElementaryTypeName","src":"2441:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57197,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":57180,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"2494:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2486:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57178,"name":"address","nodeType":"ElementaryTypeName","src":"2486:7:87","typeDescriptions":{}}},"id":57181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2486:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57177,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2481:4:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2481:19:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":57185,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57152,"src":"2510:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}],"id":57184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2502:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57183,"name":"address","nodeType":"ElementaryTypeName","src":"2502:7:87","typeDescriptions":{}}},"id":57186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2502:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57189,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57142,"src":"2530:15:87","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}],"id":57188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2522:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57187,"name":"address","nodeType":"ElementaryTypeName","src":"2522:7:87","typeDescriptions":{}}},"id":57190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2522:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57191,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57068,"src":"2548:8:87","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"id":57194,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"2566:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}],"id":57193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2558:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57192,"name":"address","nodeType":"ElementaryTypeName","src":"2558:7:87","typeDescriptions":{}}},"id":57195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2558:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57176,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60550,"src":"2470:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":57196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2470:103:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2441:132:87"},{"assignments":[57199],"declarations":[{"constant":false,"id":57199,"mutability":"mutable","name":"poolIdSignaling","nameLocation":"2592:15:87","nodeType":"VariableDeclaration","scope":57553,"src":"2584:23:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57198,"name":"uint256","nodeType":"ElementaryTypeName","src":"2584:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57221,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":57204,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"2646:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2638:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57202,"name":"address","nodeType":"ElementaryTypeName","src":"2638:7:87","typeDescriptions":{}}},"id":57205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2638:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57201,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2633:4:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2633:19:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":57209,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57164,"src":"2662:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}],"id":57208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2654:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57207,"name":"address","nodeType":"ElementaryTypeName","src":"2654:7:87","typeDescriptions":{}}},"id":57210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57213,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57142,"src":"2682:15:87","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}],"id":57212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2674:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57211,"name":"address","nodeType":"ElementaryTypeName","src":"2674:7:87","typeDescriptions":{}}},"id":57214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57215,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57068,"src":"2700:8:87","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"hexValue":"30","id":57218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2718:1:87","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2710:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57216,"name":"address","nodeType":"ElementaryTypeName","src":"2710:7:87","typeDescriptions":{}}},"id":57219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2710:10:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57200,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60550,"src":"2622:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":57220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2622:99:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2584:137:87"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":57226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2765:15:87","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":57225,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60564,"src":"2751:13:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2751:30:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57222,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57152,"src":"2732:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2742:8:87","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59492,"src":"2732:18:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:50:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57229,"nodeType":"ExpressionStatement","src":"2732:50:87"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":57234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2845:9:87","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":57233,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60564,"src":"2831:13:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57230,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57152,"src":"2809:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2819:11:87","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59506,"src":"2809:21:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:47:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57237,"nodeType":"ExpressionStatement","src":"2809:47:87"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":57242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2919:12:87","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":57241,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60564,"src":"2905:13:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2905:27:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57238,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57152,"src":"2885:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2895:9:87","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59520,"src":"2885:19:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2885:48:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57245,"nodeType":"ExpressionStatement","src":"2885:48:87"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":57250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3027:15:87","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":57249,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60564,"src":"3013:13:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3013:30:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57246,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57164,"src":"2994:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3004:8:87","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59492,"src":"2994:18:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2994:50:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57253,"nodeType":"ExpressionStatement","src":"2994:50:87"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":57258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3107:9:87","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":57257,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60564,"src":"3093:13:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3093:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57254,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57164,"src":"3071:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:11:87","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59506,"src":"3071:21:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3071:47:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57261,"nodeType":"ExpressionStatement","src":"3071:47:87"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":57266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3181:12:87","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":57265,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60564,"src":"3167:13:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:27:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57262,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57164,"src":"3147:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3157:9:87","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59520,"src":"3147:19:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3147:48:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57269,"nodeType":"ExpressionStatement","src":"3147:48:87"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57270,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57152,"src":"3227:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3237:14:87","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58105,"src":"3227:24:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3227:26:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57274,"nodeType":"ExpressionStatement","src":"3227:26:87"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57275,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57164,"src":"3263:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}},"id":57277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3273:14:87","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58105,"src":"3263:24:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3263:26:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57279,"nodeType":"ExpressionStatement","src":"3263:26:87"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57285,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"3389:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3389:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3381:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57283,"name":"address","nodeType":"ElementaryTypeName","src":"3381:7:87","typeDescriptions":{}}},"id":57287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3381:21:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31305f303030","id":57288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3404:6:87","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}],"expression":{"id":57280,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"3370:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}},"id":57282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3376:4:87","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9335,"src":"3370:10:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":57289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3370:41:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57290,"nodeType":"ExpressionStatement","src":"3370:41:87"},{"expression":{"arguments":[{"arguments":[{"id":57296,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"3443:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3435:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57294,"name":"address","nodeType":"ElementaryTypeName","src":"3435:7:87","typeDescriptions":{}}},"id":57297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3435:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":57300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3455:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57299,"name":"uint256","nodeType":"ElementaryTypeName","src":"3455:7:87","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":57298,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3450:4:87","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":57301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":57302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3464:3:87","memberName":"max","nodeType":"MemberAccess","src":"3450:17:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57291,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"3421:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}},"id":57293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3427:7:87","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3421:13:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3421:47:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57304,"nodeType":"ExpressionStatement","src":"3421:47:87"},{"expression":{"arguments":[{"id":57308,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"3492:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"315f303030","id":57309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3500:5:87","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":57305,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"3478:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3483:8:87","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"3478:13:87","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":57310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3478:28:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57311,"nodeType":"ExpressionStatement","src":"3478:28:87"},{"assignments":[57316],"declarations":[{"constant":false,"id":57316,"mutability":"mutable","name":"proposal","nameLocation":"3550:8:87","nodeType":"VariableDeclaration","scope":57553,"src":"3517:41:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":57315,"nodeType":"UserDefinedTypeName","pathNode":{"id":57314,"name":"CVStrategy.CreateProposal","nameLocations":["3517:10:87","3528:14:87"],"nodeType":"IdentifierPath","referencedDeclaration":57670,"src":"3517:25:87"},"referencedDeclaration":57670,"src":"3517:25:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":57332,"initialValue":{"arguments":[{"hexValue":"31","id":57319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3600:1:87","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":57320,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"3603:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":57321,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"3611:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":57323,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"3625:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3636:12:87","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57656,"src":"3625:23:87","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57656_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":57325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3649:7:87","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57654,"src":"3625:31:87","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"31303030","id":57326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3658:8:87","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},{"arguments":[{"id":57329,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"3676:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}],"id":57328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3668:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57327,"name":"address","nodeType":"ElementaryTypeName","src":"3668:7:87","typeDescriptions":{}}},"id":57330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3668:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57317,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"3561:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3572:14:87","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57670,"src":"3561:25:87","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57670_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":57331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3561:131:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"3517:175:87"},{"assignments":[57334],"declarations":[{"constant":false,"id":57334,"mutability":"mutable","name":"data","nameLocation":"3715:4:87","nodeType":"VariableDeclaration","scope":57553,"src":"3702:17:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57333,"name":"bytes","nodeType":"ElementaryTypeName","src":"3702:5:87","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57339,"initialValue":{"arguments":[{"id":57337,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57316,"src":"3733:8:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":57335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3722:3:87","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3726:6:87","memberName":"encode","nodeType":"MemberAccess","src":"3722:10:87","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3722:20:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3702:40:87"},{"expression":{"arguments":[{"id":57343,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"3775:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57344,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57334,"src":"3783:4:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":57340,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"3752:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3757:17:87","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"3752:22:87","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":57345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3752:36:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57346,"nodeType":"ExpressionStatement","src":"3752:36:87"},{"expression":{"id":57363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57347,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57316,"src":"3799:8:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":57350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3848:1:87","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":57351,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"3851:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":57352,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"3859:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":57354,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"3873:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3884:12:87","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57656,"src":"3873:23:87","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57656_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":57356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3897:7:87","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57654,"src":"3873:31:87","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"353030","id":57357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3906:7:87","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},"value":"500"},{"arguments":[{"id":57360,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"3923:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}],"id":57359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3915:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57358,"name":"address","nodeType":"ElementaryTypeName","src":"3915:7:87","typeDescriptions":{}}},"id":57361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3915:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57348,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"3822:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:14:87","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57670,"src":"3822:25:87","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57670_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":57362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3822:108:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"3799:131:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":57364,"nodeType":"ExpressionStatement","src":"3799:131:87"},{"expression":{"id":57370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57365,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57334,"src":"3940:4:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":57368,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57316,"src":"3958:8:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":57366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3947:3:87","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3951:6:87","memberName":"encode","nodeType":"MemberAccess","src":"3947:10:87","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3947:20:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"3940:27:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57371,"nodeType":"ExpressionStatement","src":"3940:27:87"},{"expression":{"arguments":[{"id":57375,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"4000:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57376,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57334,"src":"4008:4:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":57372,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"3977:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3982:17:87","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"3977:22:87","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":57377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3977:36:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57378,"nodeType":"ExpressionStatement","src":"3977:36:87"},{"expression":{"id":57395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57379,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57316,"src":"4024:8:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":57382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4073:1:87","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"id":57383,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"4076:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":57384,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"4084:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":57386,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"4098:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4109:12:87","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57656,"src":"4098:23:87","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57656_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":57388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4122:7:87","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57654,"src":"4098:31:87","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"393030","id":57389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4131:7:87","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_900_by_1","typeString":"int_const 900"},"value":"900"},{"arguments":[{"id":57392,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"4148:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}],"id":57391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4140:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57390,"name":"address","nodeType":"ElementaryTypeName","src":"4140:7:87","typeDescriptions":{}}},"id":57393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4140:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_900_by_1","typeString":"int_const 900"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57380,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"4047:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4058:14:87","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57670,"src":"4047:25:87","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57670_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":57394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:108:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"4024:131:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":57396,"nodeType":"ExpressionStatement","src":"4024:131:87"},{"expression":{"id":57402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57397,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57334,"src":"4165:4:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":57400,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57316,"src":"4183:8:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":57398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4172:3:87","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4176:6:87","memberName":"encode","nodeType":"MemberAccess","src":"4172:10:87","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:20:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4165:27:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57403,"nodeType":"ExpressionStatement","src":"4165:27:87"},{"expression":{"arguments":[{"id":57407,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"4225:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57408,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57334,"src":"4233:4:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":57404,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"4202:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4207:17:87","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4202:22:87","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":57409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4202:36:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57410,"nodeType":"ExpressionStatement","src":"4202:36:87"},{"assignments":[57415],"declarations":[{"constant":false,"id":57415,"mutability":"mutable","name":"proposal2","nameLocation":"4314:9:87","nodeType":"VariableDeclaration","scope":57553,"src":"4281:42:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":57414,"nodeType":"UserDefinedTypeName","pathNode":{"id":57413,"name":"CVStrategy.CreateProposal","nameLocations":["4281:10:87","4292:14:87"],"nodeType":"IdentifierPath","referencedDeclaration":57670,"src":"4281:25:87"},"referencedDeclaration":57670,"src":"4281:25:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":57431,"initialValue":{"arguments":[{"hexValue":"31","id":57418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4365:1:87","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":57419,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57199,"src":"4368:15:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":57420,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"4385:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":57422,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"4399:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4410:12:87","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57656,"src":"4399:23:87","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57656_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":57424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4423:9:87","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":57653,"src":"4399:33:87","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":57425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4434:1:87","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":57428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4445:1:87","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4437:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57426,"name":"address","nodeType":"ElementaryTypeName","src":"4437:7:87","typeDescriptions":{}}},"id":57429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4437:10:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57656","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57416,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59537,"src":"4326:10:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59537_$","typeString":"type(contract CVStrategy)"}},"id":57417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4337:14:87","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57670,"src":"4326:25:87","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57670_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":57430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4326:131:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4281:176:87"},{"assignments":[57433],"declarations":[{"constant":false,"id":57433,"mutability":"mutable","name":"data2","nameLocation":"4480:5:87","nodeType":"VariableDeclaration","scope":57553,"src":"4467:18:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57432,"name":"bytes","nodeType":"ElementaryTypeName","src":"4467:5:87","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57438,"initialValue":{"arguments":[{"id":57436,"name":"proposal2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57415,"src":"4499:9:87","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57670_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":57434,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4488:3:87","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4492:6:87","memberName":"encode","nodeType":"MemberAccess","src":"4488:10:87","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":57437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4488:21:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4467:42:87"},{"expression":{"arguments":[{"id":57442,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57199,"src":"4542:15:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57443,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"4559:5:87","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":57439,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"4519:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4524:17:87","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4519:22:87","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":57444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4519:46:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57445,"nodeType":"ExpressionStatement","src":"4519:46:87"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57446,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11832,"src":"4576:2:87","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$23551","typeString":"contract Vm"}},"id":57448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4579:13:87","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":22566,"src":"4576:16:87","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":57449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57450,"nodeType":"ExpressionStatement","src":"4576:18:87"},{"expression":{"arguments":[{"hexValue":"506f6f6c49643a202573","id":57454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4618:12:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},"value":"PoolId: %s"},{"id":57455,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57175,"src":"4632:6:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57451,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"4605:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4614:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32367,"src":"4605:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4605:34:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57457,"nodeType":"ExpressionStatement","src":"4605:34:87"},{"expression":{"arguments":[{"hexValue":"53747261746567793120416464723a202573","id":57461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4662:20:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},"value":"Strategy1 Addr: %s"},{"arguments":[{"id":57464,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57152,"src":"4692:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}],"id":57463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4684:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57462,"name":"address","nodeType":"ElementaryTypeName","src":"4684:7:87","typeDescriptions":{}}},"id":57465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4684:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57458,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"4649:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4658:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"4649:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4649:54:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57467,"nodeType":"ExpressionStatement","src":"4649:54:87"},{"expression":{"arguments":[{"hexValue":"506f6f6c49645369676e616c696e673a202573","id":57471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4727:21:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},"value":"PoolIdSignaling: %s"},{"id":57472,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57199,"src":"4750:15:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57468,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"4714:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4723:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32367,"src":"4714:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":57473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4714:52:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57474,"nodeType":"ExpressionStatement","src":"4714:52:87"},{"expression":{"arguments":[{"hexValue":"53747261746567793220416464723a202573","id":57478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4789:20:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},"value":"Strategy2 Addr: %s"},{"arguments":[{"id":57481,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57164,"src":"4819:9:87","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$59537","typeString":"contract CVStrategy"}],"id":57480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4811:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57479,"name":"address","nodeType":"ElementaryTypeName","src":"4811:7:87","typeDescriptions":{}}},"id":57482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4811:18:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57475,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"4776:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4785:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"4776:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4776:54:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57484,"nodeType":"ExpressionStatement","src":"4776:54:87"},{"expression":{"arguments":[{"hexValue":"416c6c6f20416464723a202573","id":57488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4854:15:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},"value":"Allo Addr: %s"},{"arguments":[{"id":57491,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57046,"src":"4879:4:87","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4871:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57489,"name":"address","nodeType":"ElementaryTypeName","src":"4871:7:87","typeDescriptions":{}}},"id":57492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4871:13:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57485,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"4841:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4850:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"4841:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4841:44:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57494,"nodeType":"ExpressionStatement","src":"4841:44:87"},{"expression":{"arguments":[{"hexValue":"546f6b656e20416464723a202573","id":57498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4908:16:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},"value":"Token Addr: %s"},{"arguments":[{"id":57501,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57060,"src":"4934:5:87","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9481","typeString":"contract MockERC20"}],"id":57500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4926:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57499,"name":"address","nodeType":"ElementaryTypeName","src":"4926:7:87","typeDescriptions":{}}},"id":57502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4926:14:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57495,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"4895:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4904:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"4895:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4895:46:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57504,"nodeType":"ExpressionStatement","src":"4895:46:87"},{"expression":{"arguments":[{"hexValue":"546f6b656e204e617469766520416464723a202573","id":57508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4964:23:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},"value":"Token Native Addr: %s"},{"arguments":[{"id":57511,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4997:6:87","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4989:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57509,"name":"address","nodeType":"ElementaryTypeName","src":"4989:7:87","typeDescriptions":{}}},"id":57512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:15:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57505,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"4951:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4960:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"4951:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4951:54:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57514,"nodeType":"ExpressionStatement","src":"4951:54:87"},{"expression":{"arguments":[{"hexValue":"52656769737472792047617264656e7320416464723a202573","id":57518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5029:27:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},"value":"Registry Gardens Addr: %s"},{"arguments":[{"id":57521,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57142,"src":"5066:15:87","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60352","typeString":"contract RegistryGardens"}],"id":57520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5058:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57519,"name":"address","nodeType":"ElementaryTypeName","src":"5058:7:87","typeDescriptions":{}}},"id":57522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5058:24:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57515,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"5016:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5025:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"5016:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5016:67:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57524,"nodeType":"ExpressionStatement","src":"5016:67:87"},{"expression":{"arguments":[{"hexValue":"416c6c6f20526567697374727920416464723a202573","id":57528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5107:24:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},"value":"Allo Registry Addr: %s"},{"arguments":[{"id":57531,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57068,"src":"5141:8:87","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":57530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5133:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57529,"name":"address","nodeType":"ElementaryTypeName","src":"5133:7:87","typeDescriptions":{}}},"id":57532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5133:17:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57525,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"5094:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5103:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"5094:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5094:57:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57534,"nodeType":"ExpressionStatement","src":"5094:57:87"},{"expression":{"arguments":[{"hexValue":"506f6f6c2041646d696e20416464723a202573","id":57538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5174:21:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},"value":"Pool Admin Addr: %s"},{"arguments":[],"expression":{"argumentTypes":[],"id":57539,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57022],"referencedDeclaration":57022,"src":"5197:10:87","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:12:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57535,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"5161:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5170:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"5161:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5161:49:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57542,"nodeType":"ExpressionStatement","src":"5161:49:87"},{"expression":{"arguments":[{"hexValue":"436f756e63696c205361666520416464723a202573","id":57546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5233:23:87","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},"value":"Council Safe Addr: %s"},{"arguments":[{"id":57549,"name":"councilSafeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60732,"src":"5266:16:87","typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55202","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55202","typeString":"contract Safe"}],"id":57548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5258:7:87","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57547,"name":"address","nodeType":"ElementaryTypeName","src":"5258:7:87","typeDescriptions":{}}},"id":57550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5258:25:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57543,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39740,"src":"5220:8:87","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$39740_$","typeString":"type(library console2)"}},"id":57545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:3:87","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":32435,"src":"5220:12:87","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":57551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5220:64:87","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57552,"nodeType":"ExpressionStatement","src":"5220:64:87"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1388:3:87","parameters":{"id":57023,"nodeType":"ParameterList","parameters":[],"src":"1391:2:87"},"returnParameters":{"id":57024,"nodeType":"ParameterList","parameters":[],"src":"1401:0:87"},"scope":57555,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":56997,"name":"Native","nameLocations":["970:6:87"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"970:6:87"},"id":56998,"nodeType":"InheritanceSpecifier","src":"970:6:87"},{"baseName":{"id":56999,"name":"CVStrategyHelpers","nameLocations":["978:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":60719,"src":"978:17:87"},"id":57000,"nodeType":"InheritanceSpecifier","src":"978:17:87"},{"baseName":{"id":57001,"name":"Script","nameLocations":["997:6:87"],"nodeType":"IdentifierPath","referencedDeclaration":11887,"src":"997:6:87"},"id":57002,"nodeType":"InheritanceSpecifier","src":"997:6:87"},{"baseName":{"id":57003,"name":"SafeSetup","nameLocations":["1005:9:87"],"nodeType":"IdentifierPath","referencedDeclaration":61100,"src":"1005:9:87"},"id":57004,"nodeType":"InheritanceSpecifier","src":"1005:9:87"}],"canonicalName":"DeployCVArbSepolia","contractDependencies":[9481,55202,56968,59537,59584],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[57555,61100,21700,11887,21649,17247,60719,9264,16922,16129,14069,13305,11773,11839,11848,11836,3106],"name":"DeployCVArbSepolia","nameLocation":"948:18:87","scope":57556,"usedErrors":[]}],"license":"UNLICENSED"},"id":87} \ No newline at end of file diff --git a/pkg/contracts/script/DeployCVArbSepolia.s.sol b/pkg/contracts/script/DeployCVArbSepolia.s.sol index 6e407f219..69073f573 100644 --- a/pkg/contracts/script/DeployCVArbSepolia.s.sol +++ b/pkg/contracts/script/DeployCVArbSepolia.s.sol @@ -80,6 +80,7 @@ contract DeployCVArbSepolia is Native, CVStrategyHelpers, Script, SafeSetup { // allo.fundPool{value: 0.1 ether}(poolIdNative, 0.1 ether); + token.mint(address(pool_admin()), 10_000); token.approve(address(allo), type(uint256).max); allo.fundPool(poolId, 1_000); diff --git a/pkg/contracts/test/CVStrategyTest.t.sol b/pkg/contracts/test/CVStrategyTest.t.sol index 6a75cbaaf..7e741ae35 100644 --- a/pkg/contracts/test/CVStrategyTest.t.sol +++ b/pkg/contracts/test/CVStrategyTest.t.sol @@ -767,4 +767,23 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers assertEq(registryGardens.isMember(pool_admin()), true, "isMember"); } + + function test_deactivate_points() public { + (IAllo.Pool memory pool, uint256 poolId) = _createProposal(address(0), 0, 0); + + CVStrategy cv = CVStrategy(payable(address(pool.strategy))); + + vm.expectRevert(abi.encodeWithSelector(RegistryGardens.UserAlreadyActivated.selector)); + cv.activatePoints(); + + cv.deactivatePoints(); + assertEq(registryGardens.isMember(local()), false, "isMember"); + + vm.startPrank(pool_admin()); + cv.activatePoints(); + cv.deactivatePoints(); + vm.stopPrank(); + + assertEq(registryGardens.isMember(pool_admin()), false, "isMember"); + } } From f2bc5c4ea72414248113a621fcc7378a6301642d Mon Sep 17 00:00:00 2001 From: Felipe Novaes F Rocha Date: Thu, 11 Jan 2024 04:22:41 -0300 Subject: [PATCH 2/4] :bug: fix tests --- pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json | 2 +- pkg/contracts/test/CVStrategyTest.t.sol | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json b/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json index 29d8125e2..1daa60d69 100644 --- a/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json +++ b/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUESTED_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createProposal","inputs":[{"name":"_tokenPool","type":"address","internalType":"address"},{"name":"requestAmount","type":"uint256","internalType":"uint256"},{"name":"poolAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"pool","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]},{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disabled_test_threshold_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBalance","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testRevert_allocate_ProposalIdDuplicated","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_UserNotInRegistry","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_1_proposalSupported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_activate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_allocate_proposalSupport_empty_array","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_function","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_deactivate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_native_token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_signaling_proposal","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_change_support","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_conviction_threshold_2_users","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_total_staked_amount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602492835590919060259062000060908262000136565b5050600160288190556029805460ff19169055602c5550613a98602e553480156200008a57600080fd5b5062000202565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000bc57607f821691505b602082108103620000dd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013157600081815260208120601f850160051c810160208610156200010c5750805b601f850160051c820191505b818110156200012d5782815560010162000118565b5050505b505050565b81516001600160401b0381111562000152576200015262000091565b6200016a81620001638454620000a7565b84620000e3565b602080601f831160018114620001a25760008415620001895750858301515b600019600386901b1c1916600185901b1785556200012d565b600085815260208120601f198616915b82811015620001d357888601518255948401946001909101908401620001b2565b5085821015620001f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201beff80620002136000396000f3fe60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae620017d1565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009e23565b62001ad9565b6200064762001e24565b6200064762001e66565b6200072362001ea8565b6040516200065b919062009e90565b6200073c62001f0c565b6040516200065b919062009ef9565b620006ae6200075c36600462009fce565b6029805460ff1916911515919091179055565b620006ae6200205a565b6023546001600160a01b031662000647565b62000795620022d1565b6040516200065b92919062009fee565b620006ae62002370565b60205462000695565b62000723620025c6565b6200072362002628565b620007236200268a565b620006ae620026ad565b620006476200354f565b62000695602e5481565b6200064762003591565b620006ae620035d3565b6200064762003b4d565b6200081c62003b8f565b6040516200065b91906200a011565b6200064762003c79565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a169565b62003cbb565b6200072362003f8c565b620006ae6200402e565b6200064762004caa565b62000695602c5481565b6200072362004cec565b601d546001600160a01b031662000647565b6200064762004d5b565b6200064762004d9d565b620008c762004ddf565b6040516200065b91906200a20f565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004eb9565b6200064762005352565b6200064762005394565b6200069561afc881565b620006ae620053d6565b620006956200093736600462009e23565b6200590b565b6200081c620059e8565b620006ae62005ad2565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005ccd565b620006ae62005d3c565b62000647620061e3565b620006956200099c3660046200a275565b62006225565b620009b9620009b33660046200a2f1565b62006425565b6040516200065b9291906200a34a565b620008c762006b6c565b620009dd62006c46565b60405190151581526020016200065b565b620006ae62006d7d565b62000695613a9881565b6021546001600160a01b031662000647565b62000647620070a5565b62000647620070e7565b620006ae62007129565b6200069562000a433660046200a3b4565b620074b8565b620006476200758c565b601c546001600160a01b031662000647565b620006ae620075ce565b6200064762007980565b62000647620079c2565b620006ae62007a04565b6200072362007e7d565b6200069562000aa83660046200a3f2565b62007edf565b620006ae62007f8d565b6200064762008523565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525062008560565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525062008560565b62000bc262008574565b62000bdf62000bd9601d546001600160a01b031690565b62008b7e565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009cd9565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec762005352565b62000ed6600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a45e565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009ce7565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009cf5565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a47e565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008d55565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a4ba565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a53d565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a45e565b505050565b6000806200141b600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a577565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b5050602f546200160f92506001600160a01b0316905063a230c524305b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620015c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015e691906200a45e565b60006040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200163362005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ca57600080fd5b505af1158015620016df573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200171f57600080fd5b505af115801562001734573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200179757600080fd5b505af1158015620017ac573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200157b62005352565b600080620017e3600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200184c92016200a577565b600060405180830381600087803b1580156200186757600080fd5b505af11580156200187c573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018bc57600080fd5b505af1158015620018d1573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018fc905062005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200193e57600080fd5b505af115801562001953573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200199357600080fd5b505af1158015620019a8573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001a0b57600080fd5b505af115801562001a20573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c52462001a4562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801562001a8a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ab091906200a45e565b60016040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b602a546000906001600160a01b031662001e1357600060405162001afd9062009d60565b604051809103906000f08015801562001b1a573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001b3c9062009d6e565b604051809103906000f08015801562001b59573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001bb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bdc91906200a53d565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001c7f57600080fd5b505af115801562001c94573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001d2457600080fd5b505af115801562001d39573d6000803e3d6000fd5b50600092506001915062001d4a9050565b60405190808252806020026020018201604052801562001d74578160200160208202803683370190505b509050848160008151811062001d8e5762001d8e6200a58c565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001ddb90849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b15801562001df657600080fd5b505af115801562001e0b573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525062008560565b6060601480548060200260200160405190810160405280929190818152602001828054801562001f0257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001ee3575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200205157600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156200203957838290600052602060002001805462001fa5906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001fd3906200a47e565b8015620020245780601f1062001ff85761010080835404028352916020019162002024565b820191906000526020600020905b8154815290600101906020018083116200200657829003601f168201915b50505050508152602001906001019062001f83565b50505050815250508152602001906001019062001f30565b50505050905090565b60006200207e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915050620020b66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620020ce5790505090506040518060400160405280600181526020016050815250816000815181106200212557620021256200a58c565b60200260200101819052506040518060400160405280600181526020016014815250816001815181106200215d576200215d6200a58c565b60200260200101819052506000816040516020016200217d91906200a609565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200221d91906004016200a577565b600060405180830381600087803b1580156200223857600080fd5b505af11580156200224d573d6000803e3d6000fd5b5050505062002264601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200229392919062009fee565b600060405180830381600087803b158015620022ae57600080fd5b505af1158015620022c3573d6000803e3d6000fd5b505050506200140462009253565b6024805460258054919291620022e7906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462002315906200a47e565b8015620023665780601f106200233a5761010080835404028352916020019162002366565b820191906000526020600020905b8154815290600101906020018083116200234857829003601f168201915b5050505050905082565b6000806200239573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620023ce6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023e65790505090506040518060400160405280600181526020016064815250816000815181106200243d576200243d6200a58c565b6020026020010181905250806001815181106200245e576200245e6200a58c565b5050604051600090620024769083906020016200a609565b60405160208183030381529060405290506200249a601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620024c992919062009fee565b600060405180830381600087803b158015620024e457600080fd5b505af1158015620024f9573d6000803e3d6000fd5b505050506200250762009253565b6020840151604051631c1ba58760e31b8152600160048201523060248201526200258c906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa1580156200255e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200258491906200a55d565b6032620092e6565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d9060240162002540565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b600080620026d060006802b5e3af16b1880000683635c9adc5dea0000062006425565b602082015191935091506001600160a01b0381166369fa25c4620026fc670dd46c0831659000620093fc565b6040518263ffffffff1660e01b81526004016200271b91815260200190565b600060405180830381600087803b1580156200273657600080fd5b505af11580156200274b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200277167016345785d8a0000620093fc565b6040518263ffffffff1660e01b81526004016200279091815260200190565b600060405180830381600087803b158015620027ab57600080fd5b505af1158015620027c0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027e56601c6bf52634000620093fc565b6040518263ffffffff1660e01b81526004016200280491815260200190565b600060405180830381600087803b1580156200281f57600080fd5b505af115801562002834573d6000803e3d6000fd5b505050506200286d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620028885790505090506040518060400160405280600181526020018381525081600081518110620028de57620028de6200a58c565b6020026020010181905250600081604051602001620028fe91906200a609565b604051602081830303815290604052905062002922601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b81526004016200295192919062009fee565b600060405180830381600087803b1580156200296c57600080fd5b505af115801562002981573d6000803e3d6000fd5b505050506200298f62009253565b60006064620029a06032866200a65a565b620029ac91906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062002a2e906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002a01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a2791906200a55d565b82620092e6565b60405163dc96ff2d60e01b81526001600482015262002a61906001600160a01b0387169063dc96ff2d90602401620029e3565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662002a8562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002ac757600080fd5b505af115801562002adc573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b1c57600080fd5b505af115801562002b31573d6000803e3d6000fd5b50600092506001915062002b429050565b60405190808252806020026020018201604052801562002b8957816020015b604080518082019091526000808252602082015281526020019060019003908162002b615790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002bbe5762002bbe6200a58c565b60200260200101819052508160405160200162002bdc91906200a609565b604051602081830303815290604052935062002c00601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002c2f92919062009fee565b600060405180830381600087803b15801562002c4a57600080fd5b505af115801562002c5f573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002cc257600080fd5b505af115801562002cd7573d6000803e3d6000fd5b505050506000606460328362002cee91906200a65a565b62002cfa91906200a43b565b905062002d4e886001600160a01b031663e0dd2c38600162002d1b62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401620029e3565b60405163dc96ff2d60e01b81526001600482015262002dd1906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002d99573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dbf91906200a55d565b62002dcb83876200a674565b620092e6565b62002e126040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002e53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e7991906200a55d565b905062002ebc6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250826200940f565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002f5591906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002f29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f4f91906200a55d565b6200940f565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200300f91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002fca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ff091906200a55d565b6040518263ffffffff1660e01b815260040162002f0b91815260200190565b60405163950559d760e01b815260048101829052620030ae906001600160a01b038b169063950559d790602401602060405180830381865afa1580156200305a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200308091906200a55d565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b81525062009471565b60405163dc96ff2d60e01b815260016004820152620031b7906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200312791906200a55d565b6040518263ffffffff1660e01b81526004016200314691815260200190565b602060405180830381865afa15801562003164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200318a91906200a55d565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b81525062009471565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200320557600080fd5b505af11580156200321a573d6000803e3d6000fd5b505050506200325f6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620032a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620032cd91906200a55d565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200330691815260200190565b61018060405180830381865afa15801562003325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200334b91906200a69a565b9b509b50509a5050505097509750505050620033946040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620033c9604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620033fa6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b6200343160405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b620034726040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b620034b68261e1ce6040518060400160405280600981526020017f7468726573686f6c64000000000000000000000000000000000000000000000081525062009471565b620034fa836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c61737400000000000000000000000000000000000081525062009471565b6200353d8160646040518060400160405280600e81526020017f766f746572506f696e747350637400000000000000000000000000000000000081525062009471565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525062008560565b600080620035f873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602f5460405161afc8602482015292945090925062003665916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003cbb565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200367c579050509050604051806040016040528060018152602001606481525081600081518110620036d357620036d36200a58c565b6020026020010181905250600081604051602001620036f391906200a609565b604051602081830303815290604052905062003717601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200374692919062009fee565b600060405180830381600087803b1580156200376157600080fd5b505af115801562003776573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003803906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620037d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620037fc91906200a55d565b83620092e6565b60405163dc96ff2d60e01b81526001600482015262003836906001600160a01b0383169063dc96ff2d90602401620037b8565b604051806040016040528060018152602001606319815250846000815181106200386457620038646200a58c565b6020026020010181905250836040516020016200388291906200a609565b6040516020818303038152906040529250620038a6601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b8152600401620038d592919062009fee565b600060405180830381600087803b158015620038f057600080fd5b505af115801562003905573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620039be92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa1580156200395a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200398091906200a55d565b60006040518060400160405280600a81526020017f566f7465725374616b650000000000000000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b81526001600482015262003a6d906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003a09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2f91906200a55d565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e74000000000000000000000000000000000000000081525062009471565b62003b14816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003ab0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ad691906200a55d565b60006040518060400160405280600b81526020017f546f74616c5374616b656400000000000000000000000000000000000000000081525062009471565b602f546040516032602482015262003b45916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525062008560565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003c6057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003c215790505b5050505050815250508152602001906001019062003bb3565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525062008560565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003d41573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003d6791906200a55d565b6040518b63ffffffff1660e01b815260040162003d8e9a999897969594939291906200a78c565b600060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003dd691908101906200a839565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003e5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e8391906200a887565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003f3a908c908c908c90600090819081908190819081908d906065016200a8c6565b6020604051808303816000875af115801562003f5a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f8091906200a45e565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003fbb62001e66565b8160008151811062003fd15762003fd16200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62004d5b565b816001815181106200401157620040116200a58c565b6001600160a01b0390921660209283029190910190910152919050565b6000806200405373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200408c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260509160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620040a75790505090506040518060400160405280600181526020018381525081600081518110620040fd57620040fd6200a58c565b60200260200101819052506000816040516020016200411d91906200a609565b604051602081830303815290604052905062004141601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200417092919062009fee565b600060405180830381600087803b1580156200418b57600080fd5b505af1158015620041a0573d6000803e3d6000fd5b50505050620041ae62009253565b60006064620041bf6032866200a65a565b620041cb91906200a43b565b6020870151604051631c1ba58760e31b8152600160048201523060248201529192509062004288906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200424b91906200a55d565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65310000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620042bb906001600160a01b0383169063dc96ff2d90602401620037b8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620042df62005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200432157600080fd5b505af115801562004336573d6000803e3d6000fd5b5050505060006002905060006040518060c001604052808381526020018981526020016200436362005352565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620043a9918491016200a94d565b6040516020818303038152906040529050620043cd601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b8152600401620043fc92919062009fee565b6020604051808303816000875af11580156200441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200444291906200a53d565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa1580156200449a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620044c091906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200450c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200453291906200a45e565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200456f57600080fd5b505af115801562004584573d6000803e3d6000fd5b506000925060019150620045959050565b604051908082528060200260200182016040528015620045dc57816020015b6040805180820190915260008082526020820152815260200190600190039081620045b45790505b509050600060649050604051806040016040528086815260200182815250826000815181106200461057620046106200a58c565b6020026020010181905250816040516020016200462e91906200a609565b604051602081830303815290604052975062004652601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b81526004016200468192919062009fee565b600060405180830381600087803b1580156200469c57600080fd5b505af1158015620046b1573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200471457600080fd5b505af115801562004729573d6000803e3d6000fd5b50505050600060646032836200474091906200a65a565b6200474c91906200a43b565b90506200481a876001600160a01b031663e0dd2c38886200476c62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015620047b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047dd91906200a55d565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65320000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260048101879052620048c8906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa15801562004865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200488b91906200a55d565b826040518060400160405280600c81526020017f5374616b65644d6f756e7432000000000000000000000000000000000000000081525062009471565b620049096040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6200497f6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002fca573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b815260016004820152620049db91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002fac565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b15801562004a2957600080fd5b505af115801562004a3e573d6000803e3d6000fd5b5050505062004a836040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004acb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004af191906200a55d565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004b2a91815260200190565b61018060405180830381865afa15801562004b49573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004b6f91906200a69a565b9b509b50509a505050509750975050505062004bb86040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b62004bed604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b62004c1e6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b62004c5560405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b62004c966040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525062008560565b6040805160028082526060808301845292600092919060208301908036833701905050905062004d1b62000aed565b8160008151811062004d315762004d316200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62003c79565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525062008560565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462004e25906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462004e53906200a47e565b801562004ea45780601f1062004e785761010080835404028352916020019162004ea4565b820191906000526020600020905b81548152906001019060200180831162004e8657829003601f168201915b50505050508152602001906001019062004e03565b60008062004ede73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b9150915062004f176040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004f32579050509050604051806040016040528060018152602001838152508160008151811062004f885762004f886200a58c565b602002602001018190525062004fa6601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004fc891906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004ff692919062009fee565b600060405180830381600087803b1580156200501157600080fd5b505af115801562005026573d6000803e3d6000fd5b505050506200503462009253565b60006064620050456032856200a65a565b6200505191906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062005093906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260016004820152620050c6906001600160a01b0383169063dc96ff2d90602401620037b8565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620050ff91815260200190565b61018060405180830381865afa1580156200511e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200514491906200a69a565b509a505099509950505097509750509650506200518e6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620051c3604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620051f46040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620052356040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200526c60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620052a3908a620074b8565b9050620052b2816000620092e6565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b8152600401620052ef939291906200a9b6565b600060405180830381600087803b1580156200530a57600080fd5b505af11580156200531f573d6000803e3d6000fd5b50505050620053338f604001518a620074b8565b9050620053418189620092e6565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525062008560565b600080620053fb73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005427670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b81526004016200544691815260200190565b600060405180830381600087803b1580156200546157600080fd5b505af115801562005476573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200549c6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b8152600401620054bb91815260200190565b600060405180830381600087803b158015620054d657600080fd5b505af1158015620054eb573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200551066071afd498d0000620093fc565b6040518263ffffffff1660e01b81526004016200552f91815260200190565b600060405180830381600087803b1580156200554a57600080fd5b505af11580156200555f573d6000803e3d6000fd5b5050602f5460405161afc86024820181905293506200559a92506001600160a01b03909116906000906318fb0de560e11b906044016200362d565b620055cf6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055e65790505090506040518060400160405280600181526020016064815250816000815181106200563d576200563d6200a58c565b60200260200101819052506000816040516020016200565d91906200a609565b604051602081830303815290604052905062005681601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620056b092919062009fee565b600060405180830381600087803b158015620056cb57600080fd5b505af1158015620056e0573d6000803e3d6000fd5b50505050620056ee62009253565b604051631c1ba58760e31b8152600160048201523060248201526200576d906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa15801562005740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576691906200a55d565b84620092e6565b60405163dc96ff2d60e01b815260016004820152620057a0906001600160a01b0386169063dc96ff2d9060240162005722565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa158015620057fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200582091906200a55d565b9050620058536040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062005868600a6000856289544062007edf565b9050620058986040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b620058a48282620092e6565b620058b283613a98620092e6565b620058c08661afc8620092e6565b620058cf8262017da2620092e6565b602f546040516032602482015262005900916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050505050565b602654600090620059e057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200596b62005352565b6200597562004cec565b6040518563ffffffff1660e01b81526004016200599694939291906200a9ef565b6020604051808303816000875af1158015620059b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620059dc91906200a55d565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005ab957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162005a7a5790505b5050505050815250508152602001906001019062005a0c565b600062005af673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505060006040518060c001604052806001815260200183815260200162005b1d62005352565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005b7291906200a94d565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005c0b91906004016200a577565b600060405180830381600087803b15801562005c2657600080fd5b505af115801562005c3b573d6000803e3d6000fd5b5050505062005c52601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005c8192919062009fee565b6020604051808303816000875af115801562005ca1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005cc791906200a53d565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005cfc6200354f565b8160008151811062005d125762005d126200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62005394565b60008062005d6173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005d8d670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162005dac91815260200190565b600060405180830381600087803b15801562005dc757600080fd5b505af115801562005ddc573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005e026702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162005e2191815260200190565b600060405180830381600087803b15801562005e3c57600080fd5b505af115801562005e51573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005e7666071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162005e9591815260200190565b600060405180830381600087803b15801562005eb057600080fd5b505af115801562005ec5573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005efd93506001600160a01b0390911691506000906318fb0de560e11b906044016200362d565b62005f326040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005f4957905050905060405180604001604052806001815260200160648152508160008151811062005fa05762005fa06200a58c565b602002602001018190525060008160405160200162005fc091906200a609565b604051602081830303815290604052905062005fe4601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200601392919062009fee565b600060405180830381600087803b1580156200602e57600080fd5b505af115801562006043573d6000803e3d6000fd5b505050506200605162009253565b604051631c1ba58760e31b81526001600482015230602482015261afc8906200608e906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b815260016004820152620060c1906001600160a01b0386169063dc96ff2d90602401620029e3565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200614a91906200a55d565b90506200618d6040518060400160405280600c81526020017f7468726573686f6c642025730000000000000000000000000000000000000000815250826200940f565b6200619b8261afc8620092e6565b620061a98161c5c1620092e6565b602f5460405160326024820152620061da916001600160a01b0316906000906318fb0de560e11b906044016200362d565b50505050505050565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525062008560565b60408051608081018252600080825260208201819052918101829052606081018290526200625b670de0a46bc207d800620093fc565b6020820152620062736702c68af0bb140000620093fc565b60408201526200628a66038d7ea4c68000620093fc565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110620062d857620062d86200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200630f576200630f6200a58c565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615620063465750835b886001600160a01b031663e1007d4a62006360886200590b565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b8152600401620063d297969594939291906200aa77565b6020604051808303816000875af1158015620063f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200641891906200a55d565b9998505050505050505050565b6200642f62009d7c565b60008360000362006440576103e893505b826000036200644f57613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620064815750602d546001600160a01b03165b620064b26040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620064d662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200651857600080fd5b505af11580156200652d573d6000803e3d6000fd5b50505050600062006546601c546001600160a01b031690565b604051620065549062009de3565b6001600160a01b039091168152602001604051809103906000f08015801562006581573d6000803e3d6000fd5b509050620065c26200659b601c546001600160a01b031690565b82620065af602f546001600160a01b031690565b601d546001600160a01b03168662006225565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200662357600080fd5b505af115801562006638573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200667857600080fd5b505af11580156200668d573d6000803e3d6000fd5b50505050620066a4601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b8152600401620066d291815260200190565b600060405180830381865afa158015620066f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200671a91908101906200ac09565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b1580156200678a57600080fd5b505af11580156200679f573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200684a57601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200682a57600080fd5b505af11580156200683f573d6000803e3d6000fd5b5050505050620069ce565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620068ac57600080fd5b505af1158015620068c1573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b3620068e7601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af115801562006935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200695b91906200a45e565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620069b457600080fd5b505af1158015620069c9573d6000803e3d6000fd5b505050505b835162006a2890620069ec62000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c65494400000000000000000000000000000000000000815250620094be565b62006a596040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b60006040518060c001604052806001815260200185815260200162006a7d62005352565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006abc91906200a94d565b604051602081830303815290604052905062006ae0601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006b0f92919062009fee565b6020604051808303816000875af115801562006b2f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006b5591906200a53d565b5062006b6062009253565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462006bb2906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462006be0906200a47e565b801562006c315780601f1062006c055761010080835404028352916020019162006c31565b820191906000526020600020905b81548152906001019060200180831162006c1357829003601f168201915b50505050508152602001906001019062006b90565b600754600090610100900460ff161562006c695750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006d785760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006cfa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200acc9565b60408051601f198184030181529082905262006d16916200acfb565b6000604051808303816000865af19150503d806000811462006d55576040519150601f19603f3d011682016040523d82523d6000602084013e62006d5a565b606091505b509150508080602001905181019062006d7491906200a45e565b9150505b919050565b600062006da173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505062006dd96040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006df157905050905060405180604001604052806001815260200160508152508160008151811062006e485762006e486200a58c565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006e805762006e806200a58c565b602002602001018190525060008160405160200162006ea091906200a609565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006ed662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006f1857600080fd5b505af115801562006f2d573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006fb757600080fd5b505af115801562006fcc573d6000803e3d6000fd5b5050505062006fe3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200701292919062009fee565b600060405180830381600087803b1580156200702d57600080fd5b505af115801562007042573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620022ae57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525062008560565b6000806200714e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620071876040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200719e579050509050604051806040016040528060018152602001605081525081600081518110620071f557620071f56200a58c565b60200260200101819052506000816040516020016200721591906200a609565b604051602081830303815290604052905062007239601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200726892919062009fee565b600060405180830381600087803b1580156200728357600080fd5b505af115801562007298573d6000803e3d6000fd5b50505050620072a662009253565b60006064620072b8603260506200a65a565b620072c491906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062007306906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b81526001600482015262007339906001600160a01b0383169063dc96ff2d90602401620037b8565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007350579050509050604051806040016040528060018152602001601481525081600081518110620073a757620073a76200a58c565b602002602001018190525080604051602001620073c591906200a609565b6040516020818303038152906040529350620073e9601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200741892919062009fee565b600060405180830381600087803b1580156200743357600080fd5b505af115801562007448573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200748592506001600160a01b038516915063e0dd2c389060440162002540565b60405163dc96ff2d60e01b815260016004820152620061da906001600160a01b0384169063dc96ff2d9060240162002540565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620074fd57506001600160a01b0381163162007586565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156200755d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200758391906200a55d565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525062008560565b600080620075f373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200762c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007643579050509050604051806040016040528060018152602001606319815250816000815181106200769b576200769b6200a58c565b6020026020010181905250600081604051602001620076bb91906200a609565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200776391906004016200a577565b600060405180830381600087803b1580156200777e57600080fd5b505af115801562007793573d6000803e3d6000fd5b50505050620077aa601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620077d992919062009fee565b600060405180830381600087803b158015620077f457600080fd5b505af115801562007809573d6000803e3d6000fd5b505050506200781762009253565b6020840151604051631c1ba58760e31b815260016004820152306024820152620078d1906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa1580156200786d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200789391906200a55d565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e740000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa1580156200791c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200794291906200a55d565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c000000000081525062009471565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525062008560565b60008062007a2973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462007a55670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162007a7491815260200190565b600060405180830381600087803b15801562007a8f57600080fd5b505af115801562007aa4573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007aca6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162007ae991815260200190565b600060405180830381600087803b15801562007b0457600080fd5b505af115801562007b19573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007b3e66071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162007b5d91815260200190565b600060405180830381600087803b15801562007b7857600080fd5b505af115801562007b8d573d6000803e3d6000fd5b5050505062007bc66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007bdd57905050905060405180604001604052806001815260200160508152508160008151811062007c345762007c346200a58c565b602002602001018190525060008160405160200162007c5491906200a609565b604051602081830303815290604052905062007c78601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007ca792919062009fee565b600060405180830381600087803b15801562007cc257600080fd5b505af115801562007cd7573d6000803e3d6000fd5b5050505062007ce562009253565b6000606462007cf7603260506200a65a565b62007d0391906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062007d3f906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b81526001600482015262007d72906001600160a01b0386169063dc96ff2d90602401620029e3565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007dc9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007def91906200a55d565b905062007e226040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062007e37600a6000856289544062007edf565b905062007e676040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b62007e738282620092e6565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6000848162007f0162007efa62989680608087901b6200a43b565b836200950b565b905060806f8000000000000000000000000000000062007f2586629896806200ad19565b62007f3584600160801b6200ad19565b62007f44629896808a6200a65a565b62007f5091906200a65a565b62007f5c91906200a43b565b62007f6889856200a65a565b62007f7491906200a674565b62007f8091906200a674565b901c979650505050505050565b60008062007f9f600080600062006425565b9150915062007fd46040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a0830181905292519192916200801a918491016200a94d565b60405160208183030381529060405290506200803e601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b81526004016200806d92919062009fee565b6020604051808303816000875af11580156200808d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620080b391906200a53d565b50620080be62009253565b620080f36040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252606491600291600091816020015b604080518082019091526000808252602082015281526020019060019003908162008110579050509050604051806040016040528083815260200184815250816000815181106200816557620081656200a58c565b602002602001018190525062008183601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620081a591906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401620081d392919062009fee565b600060405180830381600087803b158015620081ee57600080fd5b505af115801562008203573d6000803e3d6000fd5b505050506200821162009253565b60006064620082226032866200a65a565b6200822e91906200a43b565b6020890151604051631c1ba58760e31b8152600481018690523060248201529192509062008270906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260048101859052620082a3906001600160a01b0383169063dc96ff2d90602401620037b8565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620082db91815260200190565b61018060405180830381865afa158015620082fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200832091906200a69a565b509a505099509950505097509750505050620083696040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b6200839e604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620083cf6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620084106040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200844760405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b6000896040516020016200845d91815260200190565b604051602081830303815290604052905062008481601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f6000604051908082528060200260200182016040528015620084bc578160200160208202803683370190505b50846040518463ffffffff1660e01b8152600401620084de939291906200a9b6565b600060405180830381600087803b158015620084f957600080fd5b505af11580156200850e573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200856d82620095c4565b5092915050565b6200857e620096f9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620085a262005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620085e457600080fd5b505af1158015620085f9573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200866762005352565b6200867162004cec565b6040518563ffffffff1660e01b81526004016200869294939291906200a9ef565b6020604051808303816000875af1158015620086b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620086d891906200a55d565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008725573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200874f91908101906200ad2f565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762008796620070e7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620087d857600080fd5b505af1158015620087ed573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65310000000000000000000000000000000000000000000000008152508152506200886c620070e7565b6200887662003f8c565b6040518563ffffffff1660e01b81526004016200889794939291906200ae05565b6020604051808303816000875af1158015620088b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620088dd91906200a55d565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200892a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200895491908101906200ad2f565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa76200899b62001e24565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620089dd57600080fd5b505af1158015620089f2573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653200000000000000000000000000000000000000000000000081525081525062008a7162001e24565b62008a7b62005ccd565b6040518563ffffffff1660e01b815260040162008a9c94939291906200ae77565b6020604051808303816000875af115801562008abc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ae291906200a55d565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008b2f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008b5991908101906200ad2f565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ba262004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008be457600080fd5b505af115801562008bf9573d6000803e3d6000fd5b5050505060405162008c0b9062009df1565b604051809103906000f08015801562008c28573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008c5762004d9d565b8362008c6262007980565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008cc857600080fd5b505af115801562008cdd573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008d4057600080fd5b505af1158015620025bf573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008dae9160040190815260200190565b602060405180830381865afa15801562008dcc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008df291906200a53d565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008e9357600080fd5b505af115801562008ea8573d6000803e3d6000fd5b505060295461010090046001600160a01b03169150620091ca905057600060405162008ed49062009d60565b604051809103906000f08015801562008ef1573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008f139062009d6e565b604051809103906000f08015801562008f30573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008f8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008fb391906200a53d565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a20257300000000000000000060208201529394506200903693920416620097aa565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620090c757600080fd5b505af1158015620090dc573d6000803e3d6000fd5b506000925060019150620090ed9050565b60405190808252806020026020018201604052801562009117578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200913e576200913e6200a58c565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d906200919290849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b158015620091ad57600080fd5b505af1158015620091c2573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200921c91906200aec6565b60405180910390a16200140483836200980c565b60295460ff1615620092505760276200924a82826200af59565b505a6028555b50565b60295460ff1615620092e45760005a905060006064826028546200927891906200ad19565b6200928491906200ad19565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a86027604051602001620092bb91906200b026565b60408051601f1981840301815290829052620092d99184906200b0c9565b60405180910390a150505b565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620093749060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620093ad91906200b0ed565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051620093e691906200b126565b60405180910390a1620093f86200999e565b5050565b60006200758664174876e800836200a43b565b620093f88282604051602401620094289291906200b0c9565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d00000000000000000000000000000000000000000000000000000000017905262009ab1565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094aa91906200aec6565b60405180910390a1620014048383620092e6565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094f791906200aec6565b60405180910390a162001404838362009ad2565b6000600160801b8310620095665760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095bc578060011660000362009599576200958e828362009bd2565b915060011c6200956f565b620095a5838362009bd2565b9250620095b46001826200ad19565b90506200956f565b505092915050565b60008082604051602001620095da91906200acfb565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200965c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200968291906200a53d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620096c090859087906004016200b151565b600060405180830381600087803b158015620096db57600080fd5b505af1158015620096f0573d6000803e3d6000fd5b50505050915091565b604051620097079062009dff565b604051809103906000f08015801562009724573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862009753620079c2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200979557600080fd5b505af115801562005cc7573d6000803e3d6000fd5b620093f88282604051602401620097c39291906200b175565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905262009ab1565b80151582151514620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516200989e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382620098f1576040518060400160405280600581526020016466616c736560d81b8152506200990f565b604051806040016040528060048152602001637472756560e01b8152505b6040516200991e91906200b1a2565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838162009971576040518060400160405280600581526020016466616c736560d81b8152506200998f565b604051806040016040528060048152602001637472756560e01b8152505b604051620093e691906200b1e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562009aa05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262009a3b92916020016200acc9565b60408051601f198184030181529082905262009a57916200acfb565b6000604051808303816000865af19150503d806000811462009a96576040519150601f19603f3d011682016040523d82523d6000602084013e62009a9b565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009b609060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009b9991906200b0ed565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051620093e691906200b126565b6000600160801b83111562009c505760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016200955d565b600160801b821062009ca55760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016200955d565b60806f8000000000000000000000000000000062009cc484866200a65a565b62009cd091906200a674565b901c9392505050565b610e67806200b20d83390190565b612768806200c07483390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009d53604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e7dc83390190565b613594806200f02e83390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009dcf604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61349180620125c283390190565b6135c18062015a5383390190565b612eb6806201901483390190565b6001600160a01b03811681146200925057600080fd5b60006020828403121562009e3657600080fd5b813562009e438162009e0d565b9392505050565b600081518084526020808501945080840160005b8381101562009e855781516001600160a01b03168752958201959082019060010162009e5e565b509495945050505050565b60208152600062009e43602083018462009e4a565b60005b8381101562009ec257818101518382015260200162009ea8565b50506000910152565b6000815180845262009ee581602086016020860162009ea5565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009faf57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009f9857605f1989850301835262009f8584865162009ecb565b948e01949350918d019160010162009f66565b505050978a01979450509188019160010162009f20565b50919a9950505050505050505050565b80151581146200925057600080fd5b60006020828403121562009fe157600080fd5b813562009e438162009fbf565b8281526040602082015260006200a009604083018462009ecb565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200a0b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200a0a35783516001600160e01b0319168252928b019260019290920191908b01906200a077565b50978a019795505050918701916001016200a039565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a104576200a1046200a0c8565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a136576200a1366200a0c8565b604052919050565b600067ffffffffffffffff8211156200a15b576200a15b6200a0c8565b50601f01601f191660200190565b6000806000606084860312156200a17f57600080fd5b83356200a18c8162009e0d565b925060208401359150604084013567ffffffffffffffff8111156200a1b057600080fd5b8401601f810186136200a1c257600080fd5b80356200a1d96200a1d3826200a13e565b6200a10a565b8181528760208385010111156200a1ef57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a26857603f198886030184526200a25585835162009ecb565b945092850192908501906001016200a236565b5092979650505050505050565b600080600080600060a086880312156200a28e57600080fd5b85356200a29b8162009e0d565b945060208601356200a2ad8162009e0d565b935060408601356200a2bf8162009e0d565b925060608601356200a2d18162009e0d565b915060808601356200a2e38162009e0d565b809150509295509295909350565b6000806000606084860312156200a30757600080fd5b83356200a3148162009e0d565b95602085013595506040909401359392505050565b8051825260006020820151604060208501526200a009604085018262009ecb565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a3966101008401826200a329565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a3c857600080fd5b82356200a3d58162009e0d565b915060208301356200a3e78162009e0d565b809150509250929050565b600080600080608085870312156200a40957600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a45957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a47157600080fd5b815162009e438162009fbf565b600181811c908216806200a49357607f821691505b6020821081036200a4b457634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a5176101008501826200a329565b90508160c08601511660e0850152809250505092915050565b805162006d788162009e0d565b6000602082840312156200a55057600080fd5b815162009e438162009e0d565b6000602082840312156200a57057600080fd5b5051919050565b60208152600062009e43602083018462009ecb565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a5b88184018b62009e4a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a64d578151805185528601518685015292840192908501906001016200a626565b5091979650505050505050565b80820281158282048414176200758657620075866200a425565b808201808211156200758657620075866200a425565b80516004811062006d7857600080fd5b6000806000806000806000806000806000806101808d8f0312156200a6be57600080fd5b8c516200a6cb8162009e0d565b60208e0151909c506200a6de8162009e0d565b60408e0151909b506200a6f18162009e0d565b809a505060608d0151985060808d0151975060a08d0151600381106200a71657600080fd5b96506200a72660c08e016200a68a565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a788576200a7886200a75f565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a7b88285018d62009ecb565b92506200a7c9606085018c6200a775565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a8146200a1d3846200a13e565b90508281528383830111156200a82957600080fd5b62009e4383602083018462009ea5565b6000602082840312156200a84c57600080fd5b815167ffffffffffffffff8111156200a86457600080fd5b8201601f810184136200a87657600080fd5b6200a009848251602084016200a803565b6000806000606084860312156200a89d57600080fd5b835160ff811681146200a8af57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8f28285018d62009ecb565b91506200a903606085018c6200a775565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a93c818562009ecb565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a992576200a9926200a75f565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a9d1606083018562009e4a565b82810360408401526200a9e5818562009ecb565b9695505050505050565b84815260a0602082015260006200aa3360a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200aa4781876200a329565b90506001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200aaa360e085018a62009ecb565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aada816200a47e565b806040870152868216600081146200aafb57600181146200ab16576200ab46565b60ff1983168787015281151560051b8701860193506200ab46565b846000528860002060005b838110156200ab3e578154898201890152908901908a016200ab21565b880187019450505b50505087810360c08901526200ab5d818a62009e4a565b9f9e505050505050505050505050505050565b600082601f8301126200ab8257600080fd5b62009e43838351602085016200a803565b6000604082840312156200aba657600080fd5b6040516040810167ffffffffffffffff82821081831117156200abcd576200abcd6200a0c8565b816040528293508451835260208501519150808211156200abed57600080fd5b506200abfc858286016200ab70565b6020830152505092915050565b6000602082840312156200ac1c57600080fd5b815167ffffffffffffffff808211156200ac3557600080fd5b9083019060c082860312156200ac4a57600080fd5b6200ac546200a0de565b8251815260208301516200ac688162009e0d565b602082015260408301516200ac7d8162009e0d565b60408201526060830151828111156200ac9557600080fd5b6200aca3878286016200ab93565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200aced81600485016020870162009ea5565b919091016004019392505050565b600082516200ad0f81846020870162009ea5565b9190910192915050565b818103818111156200758657620075866200a425565b6000602082840312156200ad4257600080fd5b815167ffffffffffffffff808211156200ad5b57600080fd5b9083019060c082860312156200ad7057600080fd5b6200ad7a6200a0de565b82518152602083015160208201526040830151828111156200ad9b57600080fd5b6200ada9878286016200ab70565b6040830152506060830151828111156200adc257600080fd5b6200add0878286016200ab93565b6060830152506200ade4608084016200a530565b60808201526200adf760a084016200a530565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b6001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009e43608083018462009ecb565b601f8211156200140457600081815260208120601f850160051c810160208610156200af385750805b601f850160051c820191505b8181101562003b45578281556001016200af44565b815167ffffffffffffffff8111156200af76576200af766200a0c8565b6200af8e816200af8784546200a47e565b846200af0f565b602080601f8311600181146200afc657600084156200afad5750858301515b600019600386901b1c1916600185901b17855562003b45565b600085815260208120601f198616915b828110156200aff7578886015182559484019460019091019084016200afd6565b50858210156200b0165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200b036816200a47e565b600182811680156200b05157600181146200b067576200b098565b60ff19841687528215158302870194506200b098565b8760005260208060002060005b858110156200b08f5781548a8201529084019082016200b074565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b0de604083018562009ecb565b90508260208301529392505050565b6040815260006200b11860408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b11860408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b03831681526040602082015260006200a009604083018462009ecb565b6040815260006200b18a604083018562009ecb565b90506001600160a01b03831660208301529392505050565b6040815260006200b1cd60408301600a8152690808080808081319599d60b21b602082015260400190565b82810360208401526200a009818562009ecb565b6040815260006200b1cd60408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a2646970667358221220e9eef85e86e96ebffc2eac9551e7b19974f3d9311ed2aefa40b9b3c28e297a2864736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:47;;;;;;;;;;1525:29417:94;534:52:93;;;1572:26:44;1525:29417:94;534:52:93;;;;;;-1:-1:-1;;;534:52:93;;;;;;507:79;;;;1525:29417:94;;507:79:93;;;;;;;:::i;:::-;-1:-1:-1;;194:1:95;158:37;;;;226:34;;;-1:-1:-1;;226:34:95;;;339::96;;-1:-1:-1;1700:5:94;1672:33;;1525:29417;;;;;;;;;;;;14:127:97;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:97;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:97;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:97;;;2580:26;2531:89;-1:-1:-1;;1335:1:97;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:97;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:97;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:97;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:97:o;:::-;1525:29417:94;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae620017d1565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009e23565b62001ad9565b6200064762001e24565b6200064762001e66565b6200072362001ea8565b6040516200065b919062009e90565b6200073c62001f0c565b6040516200065b919062009ef9565b620006ae6200075c36600462009fce565b6029805460ff1916911515919091179055565b620006ae6200205a565b6023546001600160a01b031662000647565b62000795620022d1565b6040516200065b92919062009fee565b620006ae62002370565b60205462000695565b62000723620025c6565b6200072362002628565b620007236200268a565b620006ae620026ad565b620006476200354f565b62000695602e5481565b6200064762003591565b620006ae620035d3565b6200064762003b4d565b6200081c62003b8f565b6040516200065b91906200a011565b6200064762003c79565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a169565b62003cbb565b6200072362003f8c565b620006ae6200402e565b6200064762004caa565b62000695602c5481565b6200072362004cec565b601d546001600160a01b031662000647565b6200064762004d5b565b6200064762004d9d565b620008c762004ddf565b6040516200065b91906200a20f565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004eb9565b6200064762005352565b6200064762005394565b6200069561afc881565b620006ae620053d6565b620006956200093736600462009e23565b6200590b565b6200081c620059e8565b620006ae62005ad2565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005ccd565b620006ae62005d3c565b62000647620061e3565b620006956200099c3660046200a275565b62006225565b620009b9620009b33660046200a2f1565b62006425565b6040516200065b9291906200a34a565b620008c762006b6c565b620009dd62006c46565b60405190151581526020016200065b565b620006ae62006d7d565b62000695613a9881565b6021546001600160a01b031662000647565b62000647620070a5565b62000647620070e7565b620006ae62007129565b6200069562000a433660046200a3b4565b620074b8565b620006476200758c565b601c546001600160a01b031662000647565b620006ae620075ce565b6200064762007980565b62000647620079c2565b620006ae62007a04565b6200072362007e7d565b6200069562000aa83660046200a3f2565b62007edf565b620006ae62007f8d565b6200064762008523565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525062008560565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525062008560565b62000bc262008574565b62000bdf62000bd9601d546001600160a01b031690565b62008b7e565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009cd9565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec762005352565b62000ed6600261afc86200a43b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a45e565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009ce7565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009cf5565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a47e565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008d55565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a4ba565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a53d565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a45e565b505050565b6000806200141b600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a577565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b5050602f546200160f92506001600160a01b0316905063a230c524305b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620015c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015e691906200a45e565b60006040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200163362005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ca57600080fd5b505af1158015620016df573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200171f57600080fd5b505af115801562001734573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200179757600080fd5b505af1158015620017ac573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200157b62005352565b600080620017e3600080600062006425565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200184c92016200a577565b600060405180830381600087803b1580156200186757600080fd5b505af11580156200187c573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018bc57600080fd5b505af1158015620018d1573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018fc905062005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200193e57600080fd5b505af115801562001953573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200199357600080fd5b505af1158015620019a8573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001a0b57600080fd5b505af115801562001a20573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c52462001a4562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801562001a8a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ab091906200a45e565b60016040518060400160405280600881526020016734b9a6b2b6b132b960c11b815250620091df565b602a546000906001600160a01b031662001e1357600060405162001afd9062009d60565b604051809103906000f08015801562001b1a573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001b3c9062009d6e565b604051809103906000f08015801562001b59573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001bb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bdc91906200a53d565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001c7f57600080fd5b505af115801562001c94573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001d2457600080fd5b505af115801562001d39573d6000803e3d6000fd5b50600092506001915062001d4a9050565b60405190808252806020026020018201604052801562001d74578160200160208202803683370190505b509050848160008151811062001d8e5762001d8e6200a58c565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001ddb90849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b15801562001df657600080fd5b505af115801562001e0b573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525062008560565b6060601480548060200260200160405190810160405280929190818152602001828054801562001f0257602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001ee3575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200205157600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156200203957838290600052602060002001805462001fa5906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462001fd3906200a47e565b8015620020245780601f1062001ff85761010080835404028352916020019162002024565b820191906000526020600020905b8154815290600101906020018083116200200657829003601f168201915b50505050508152602001906001019062001f83565b50505050815250508152602001906001019062001f30565b50505050905090565b60006200207e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915050620020b66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620020ce5790505090506040518060400160405280600181526020016050815250816000815181106200212557620021256200a58c565b60200260200101819052506040518060400160405280600181526020016014815250816001815181106200215d576200215d6200a58c565b60200260200101819052506000816040516020016200217d91906200a609565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200221d91906004016200a577565b600060405180830381600087803b1580156200223857600080fd5b505af11580156200224d573d6000803e3d6000fd5b5050505062002264601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200229392919062009fee565b600060405180830381600087803b158015620022ae57600080fd5b505af1158015620022c3573d6000803e3d6000fd5b505050506200140462009253565b6024805460258054919291620022e7906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462002315906200a47e565b8015620023665780601f106200233a5761010080835404028352916020019162002366565b820191906000526020600020905b8154815290600101906020018083116200234857829003601f168201915b5050505050905082565b6000806200239573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620023ce6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023e65790505090506040518060400160405280600181526020016064815250816000815181106200243d576200243d6200a58c565b6020026020010181905250806001815181106200245e576200245e6200a58c565b5050604051600090620024769083906020016200a609565b60405160208183030381529060405290506200249a601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620024c992919062009fee565b600060405180830381600087803b158015620024e457600080fd5b505af1158015620024f9573d6000803e3d6000fd5b505050506200250762009253565b6020840151604051631c1ba58760e31b8152600160048201523060248201526200258c906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa1580156200255e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200258491906200a55d565b6032620092e6565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d9060240162002540565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b600080620026d060006802b5e3af16b1880000683635c9adc5dea0000062006425565b602082015191935091506001600160a01b0381166369fa25c4620026fc670dd46c0831659000620093fc565b6040518263ffffffff1660e01b81526004016200271b91815260200190565b600060405180830381600087803b1580156200273657600080fd5b505af11580156200274b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200277167016345785d8a0000620093fc565b6040518263ffffffff1660e01b81526004016200279091815260200190565b600060405180830381600087803b158015620027ab57600080fd5b505af1158015620027c0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027e56601c6bf52634000620093fc565b6040518263ffffffff1660e01b81526004016200280491815260200190565b600060405180830381600087803b1580156200281f57600080fd5b505af115801562002834573d6000803e3d6000fd5b505050506200286d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620028885790505090506040518060400160405280600181526020018381525081600081518110620028de57620028de6200a58c565b6020026020010181905250600081604051602001620028fe91906200a609565b604051602081830303815290604052905062002922601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b81526004016200295192919062009fee565b600060405180830381600087803b1580156200296c57600080fd5b505af115801562002981573d6000803e3d6000fd5b505050506200298f62009253565b60006064620029a06032866200a65a565b620029ac91906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062002a2e906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002a01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a2791906200a55d565b82620092e6565b60405163dc96ff2d60e01b81526001600482015262002a61906001600160a01b0387169063dc96ff2d90602401620029e3565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662002a8562005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002ac757600080fd5b505af115801562002adc573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b1c57600080fd5b505af115801562002b31573d6000803e3d6000fd5b50600092506001915062002b429050565b60405190808252806020026020018201604052801562002b8957816020015b604080518082019091526000808252602082015281526020019060019003908162002b615790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002bbe5762002bbe6200a58c565b60200260200101819052508160405160200162002bdc91906200a609565b604051602081830303815290604052935062002c00601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002c2f92919062009fee565b600060405180830381600087803b15801562002c4a57600080fd5b505af115801562002c5f573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002cc257600080fd5b505af115801562002cd7573d6000803e3d6000fd5b505050506000606460328362002cee91906200a65a565b62002cfa91906200a43b565b905062002d4e886001600160a01b031663e0dd2c38600162002d1b62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401620029e3565b60405163dc96ff2d60e01b81526001600482015262002dd1906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002d99573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dbf91906200a55d565b62002dcb83876200a674565b620092e6565b62002e126040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002e53573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e7991906200a55d565b905062002ebc6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250826200940f565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002f5591906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002f29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f4f91906200a55d565b6200940f565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200300f91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002fca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002ff091906200a55d565b6040518263ffffffff1660e01b815260040162002f0b91815260200190565b60405163950559d760e01b815260048101829052620030ae906001600160a01b038b169063950559d790602401602060405180830381865afa1580156200305a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200308091906200a55d565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b81525062009471565b60405163dc96ff2d60e01b815260016004820152620031b7906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200312791906200a55d565b6040518263ffffffff1660e01b81526004016200314691815260200190565b602060405180830381865afa15801562003164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200318a91906200a55d565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b81525062009471565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200320557600080fd5b505af11580156200321a573d6000803e3d6000fd5b505050506200325f6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620032a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620032cd91906200a55d565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200330691815260200190565b61018060405180830381865afa15801562003325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200334b91906200a69a565b9b509b50509a5050505097509750505050620033946040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620033c9604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620033fa6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b6200343160405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b620034726040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b620034b68261e1ce6040518060400160405280600981526020017f7468726573686f6c64000000000000000000000000000000000000000000000081525062009471565b620034fa836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c61737400000000000000000000000000000000000081525062009471565b6200353d8160646040518060400160405280600e81526020017f766f746572506f696e747350637400000000000000000000000000000000000081525062009471565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525062008560565b600080620035f873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602f5460405161afc8602482015292945090925062003665916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003cbb565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200367c579050509050604051806040016040528060018152602001606481525081600081518110620036d357620036d36200a58c565b6020026020010181905250600081604051602001620036f391906200a609565b604051602081830303815290604052905062003717601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200374692919062009fee565b600060405180830381600087803b1580156200376157600080fd5b505af115801562003776573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003803906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620037d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620037fc91906200a55d565b83620092e6565b60405163dc96ff2d60e01b81526001600482015262003836906001600160a01b0383169063dc96ff2d90602401620037b8565b604051806040016040528060018152602001606319815250846000815181106200386457620038646200a58c565b6020026020010181905250836040516020016200388291906200a609565b6040516020818303038152906040529250620038a6601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b8152600401620038d592919062009fee565b600060405180830381600087803b158015620038f057600080fd5b505af115801562003905573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620039be92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa1580156200395a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200398091906200a55d565b60006040518060400160405280600a81526020017f566f7465725374616b650000000000000000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b81526001600482015262003a6d906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003a09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2f91906200a55d565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e74000000000000000000000000000000000000000081525062009471565b62003b14816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003ab0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ad691906200a55d565b60006040518060400160405280600b81526020017f546f74616c5374616b656400000000000000000000000000000000000000000081525062009471565b602f546040516032602482015262003b45916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525062008560565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003c6057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003c215790505b5050505050815250508152602001906001019062003bb3565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525062008560565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003d41573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003d6791906200a55d565b6040518b63ffffffff1660e01b815260040162003d8e9a999897969594939291906200a78c565b600060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003dd691908101906200a839565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003e5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e8391906200a887565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003f3a908c908c908c90600090819081908190819081908d906065016200a8c6565b6020604051808303816000875af115801562003f5a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f8091906200a45e565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003fbb62001e66565b8160008151811062003fd15762003fd16200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62004d5b565b816001815181106200401157620040116200a58c565b6001600160a01b0390921660209283029190910190910152919050565b6000806200405373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200408c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260509160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620040a75790505090506040518060400160405280600181526020018381525081600081518110620040fd57620040fd6200a58c565b60200260200101819052506000816040516020016200411d91906200a609565b604051602081830303815290604052905062004141601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200417092919062009fee565b600060405180830381600087803b1580156200418b57600080fd5b505af1158015620041a0573d6000803e3d6000fd5b50505050620041ae62009253565b60006064620041bf6032866200a65a565b620041cb91906200a43b565b6020870151604051631c1ba58760e31b8152600160048201523060248201529192509062004288906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200424b91906200a55d565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65310000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620042bb906001600160a01b0383169063dc96ff2d90602401620037b8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620042df62005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200432157600080fd5b505af115801562004336573d6000803e3d6000fd5b5050505060006002905060006040518060c001604052808381526020018981526020016200436362005352565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620043a9918491016200a94d565b6040516020818303038152906040529050620043cd601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b8152600401620043fc92919062009fee565b6020604051808303816000875af11580156200441c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200444291906200a53d565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa1580156200449a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620044c091906200a55d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200450c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200453291906200a45e565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200456f57600080fd5b505af115801562004584573d6000803e3d6000fd5b506000925060019150620045959050565b604051908082528060200260200182016040528015620045dc57816020015b6040805180820190915260008082526020820152815260200190600190039081620045b45790505b509050600060649050604051806040016040528086815260200182815250826000815181106200461057620046106200a58c565b6020026020010181905250816040516020016200462e91906200a609565b604051602081830303815290604052975062004652601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b81526004016200468192919062009fee565b600060405180830381600087803b1580156200469c57600080fd5b505af1158015620046b1573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200471457600080fd5b505af115801562004729573d6000803e3d6000fd5b50505050600060646032836200474091906200a65a565b6200474c91906200a43b565b90506200481a876001600160a01b031663e0dd2c38886200476c62005352565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015620047b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047dd91906200a55d565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b65320000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260048101879052620048c8906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa15801562004865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200488b91906200a55d565b826040518060400160405280600c81526020017f5374616b65644d6f756e7432000000000000000000000000000000000000000081525062009471565b620049096040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d62657200000000000000000000000000815250436200940f565b6200497f6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002fca573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b815260016004820152620049db91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002fac565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b15801562004a2957600080fd5b505af115801562004a3e573d6000803e3d6000fd5b5050505062004a836040518060400160405280601281526020017f616674657220626c6f636b2e6e756d6265720000000000000000000000000000815250436200940f565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004acb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004af191906200a55d565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004b2a91815260200190565b61018060405180830381865afa15801562004b49573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004b6f91906200a69a565b9b509b50509a505050509750975050505062004bb86040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b62004bed604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b62004c1e6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250836200940f565b62004c5560405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250846200940f565b62004c966040518060400160405280601381526020017f566f74657220706f696e74732070637420257300000000000000000000000000815250826200940f565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525062008560565b6040805160028082526060808301845292600092919060208301908036833701905050905062004d1b62000aed565b8160008151811062004d315762004d316200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62003c79565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525062008560565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462004e25906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462004e53906200a47e565b801562004ea45780601f1062004e785761010080835404028352916020019162004ea4565b820191906000526020600020905b81548152906001019060200180831162004e8657829003601f168201915b50505050508152602001906001019062004e03565b60008062004ede73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b9150915062004f176040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004f32579050509050604051806040016040528060018152602001838152508160008151811062004f885762004f886200a58c565b602002602001018190525062004fa6601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004fc891906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004ff692919062009fee565b600060405180830381600087803b1580156200501157600080fd5b505af115801562005026573d6000803e3d6000fd5b505050506200503462009253565b60006064620050456032856200a65a565b6200505191906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062005093906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260016004820152620050c6906001600160a01b0383169063dc96ff2d90602401620037b8565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620050ff91815260200190565b61018060405180830381865afa1580156200511e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200514491906200a69a565b509a505099509950505097509750509650506200518e6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b620051c3604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620051f46040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620052356040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200526c60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620052a3908a620074b8565b9050620052b2816000620092e6565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b8152600401620052ef939291906200a9b6565b600060405180830381600087803b1580156200530a57600080fd5b505af11580156200531f573d6000803e3d6000fd5b50505050620053338f604001518a620074b8565b9050620053418189620092e6565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525062008560565b600080620053fb73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005427670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b81526004016200544691815260200190565b600060405180830381600087803b1580156200546157600080fd5b505af115801562005476573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae36200549c6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b8152600401620054bb91815260200190565b600060405180830381600087803b158015620054d657600080fd5b505af1158015620054eb573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200551066071afd498d0000620093fc565b6040518263ffffffff1660e01b81526004016200552f91815260200190565b600060405180830381600087803b1580156200554a57600080fd5b505af11580156200555f573d6000803e3d6000fd5b5050602f5460405161afc86024820181905293506200559a92506001600160a01b03909116906000906318fb0de560e11b906044016200362d565b620055cf6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055e65790505090506040518060400160405280600181526020016064815250816000815181106200563d576200563d6200a58c565b60200260200101819052506000816040516020016200565d91906200a609565b604051602081830303815290604052905062005681601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620056b092919062009fee565b600060405180830381600087803b158015620056cb57600080fd5b505af1158015620056e0573d6000803e3d6000fd5b50505050620056ee62009253565b604051631c1ba58760e31b8152600160048201523060248201526200576d906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa15801562005740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576691906200a55d565b84620092e6565b60405163dc96ff2d60e01b815260016004820152620057a0906001600160a01b0386169063dc96ff2d9060240162005722565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa158015620057fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200582091906200a55d565b9050620058536040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062005868600a6000856289544062007edf565b9050620058986040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b620058a48282620092e6565b620058b283613a98620092e6565b620058c08661afc8620092e6565b620058cf8262017da2620092e6565b602f546040516032602482015262005900916001600160a01b0316906000906318fb0de560e11b906044016200362d565b505050505050505050565b602654600090620059e057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200596b62005352565b6200597562004cec565b6040518563ffffffff1660e01b81526004016200599694939291906200a9ef565b6020604051808303816000875af1158015620059b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620059dc91906200a55d565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015620020515760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005ab957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162005a7a5790505b5050505050815250508152602001906001019062005a0c565b600062005af673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505060006040518060c001604052806001815260200183815260200162005b1d62005352565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005b7291906200a94d565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005c0b91906004016200a577565b600060405180830381600087803b15801562005c2657600080fd5b505af115801562005c3b573d6000803e3d6000fd5b5050505062005c52601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005c8192919062009fee565b6020604051808303816000875af115801562005ca1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005cc791906200a53d565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005cfc6200354f565b8160008151811062005d125762005d126200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505062003ffb62005394565b60008062005d6173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462005d8d670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162005dac91815260200190565b600060405180830381600087803b15801562005dc757600080fd5b505af115801562005ddc573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005e026702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162005e2191815260200190565b600060405180830381600087803b15801562005e3c57600080fd5b505af115801562005e51573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005e7666071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162005e9591815260200190565b600060405180830381600087803b15801562005eb057600080fd5b505af115801562005ec5573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005efd93506001600160a01b0390911691506000906318fb0de560e11b906044016200362d565b62005f326040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005f4957905050905060405180604001604052806001815260200160648152508160008151811062005fa05762005fa06200a58c565b602002602001018190525060008160405160200162005fc091906200a609565b604051602081830303815290604052905062005fe4601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b81526004016200601392919062009fee565b600060405180830381600087803b1580156200602e57600080fd5b505af115801562006043573d6000803e3d6000fd5b505050506200605162009253565b604051631c1ba58760e31b81526001600482015230602482015261afc8906200608e906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b815260016004820152620060c1906001600160a01b0386169063dc96ff2d90602401620029e3565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200614a91906200a55d565b90506200618d6040518060400160405280600c81526020017f7468726573686f6c642025730000000000000000000000000000000000000000815250826200940f565b6200619b8261afc8620092e6565b620061a98161c5c1620092e6565b602f5460405160326024820152620061da916001600160a01b0316906000906318fb0de560e11b906044016200362d565b50505050505050565b600062000b2f6040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525062008560565b60408051608081018252600080825260208201819052918101829052606081018290526200625b670de0a46bc207d800620093fc565b6020820152620062736702c68af0bb140000620093fc565b60408201526200628a66038d7ea4c68000620093fc565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110620062d857620062d86200a58c565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200630f576200630f6200a58c565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615620063465750835b886001600160a01b031663e1007d4a62006360886200590b565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b8152600401620063d297969594939291906200aa77565b6020604051808303816000875af1158015620063f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200641891906200a55d565b9998505050505050505050565b6200642f62009d7c565b60008360000362006440576103e893505b826000036200644f57613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620064815750602d546001600160a01b03165b620064b26040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620064d662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200651857600080fd5b505af11580156200652d573d6000803e3d6000fd5b50505050600062006546601c546001600160a01b031690565b604051620065549062009de3565b6001600160a01b039091168152602001604051809103906000f08015801562006581573d6000803e3d6000fd5b509050620065c26200659b601c546001600160a01b031690565b82620065af602f546001600160a01b031690565b601d546001600160a01b03168662006225565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200662357600080fd5b505af115801562006638573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200667857600080fd5b505af11580156200668d573d6000803e3d6000fd5b50505050620066a4601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b8152600401620066d291815260200190565b600060405180830381865afa158015620066f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200671a91908101906200ac09565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b1580156200678a57600080fd5b505af11580156200679f573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200684a57601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200682a57600080fd5b505af11580156200683f573d6000803e3d6000fd5b5050505050620069ce565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620068ac57600080fd5b505af1158015620068c1573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b3620068e7601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af115801562006935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200695b91906200a45e565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620069b457600080fd5b505af1158015620069c9573d6000803e3d6000fd5b505050505b835162006a2890620069ec62000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c65494400000000000000000000000000000000000000815250620094be565b62006a596040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b60006040518060c001604052806001815260200185815260200162006a7d62005352565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006abc91906200a94d565b604051602081830303815290604052905062006ae0601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006b0f92919062009fee565b6020604051808303816000875af115801562006b2f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006b5591906200a53d565b5062006b6062009253565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200205157838290600052602060002001805462006bb2906200a47e565b80601f016020809104026020016040519081016040528092919081815260200182805462006be0906200a47e565b801562006c315780601f1062006c055761010080835404028352916020019162006c31565b820191906000526020600020905b81548152906001019060200180831162006c1357829003601f168201915b50505050508152602001906001019062006b90565b600754600090610100900460ff161562006c695750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006d785760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006cfa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200acc9565b60408051601f198184030181529082905262006d16916200acfb565b6000604051808303816000865af19150503d806000811462006d55576040519150601f19603f3d011682016040523d82523d6000602084013e62006d5a565b606091505b509150508080602001905181019062006d7491906200a45e565b9150505b919050565b600062006da173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91505062006dd96040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006df157905050905060405180604001604052806001815260200160508152508160008151811062006e485762006e486200a58c565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006e805762006e806200a58c565b602002602001018190525060008160405160200162006ea091906200a609565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006ed662005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006f1857600080fd5b505af115801562006f2d573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006fb757600080fd5b505af115801562006fcc573d6000803e3d6000fd5b5050505062006fe3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200701292919062009fee565b600060405180830381600087803b1580156200702d57600080fd5b505af115801562007042573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620022ae57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525062008560565b6000806200714e73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b91509150620071876040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200719e579050509050604051806040016040528060018152602001605081525081600081518110620071f557620071f56200a58c565b60200260200101819052506000816040516020016200721591906200a609565b604051602081830303815290604052905062007239601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200726892919062009fee565b600060405180830381600087803b1580156200728357600080fd5b505af115801562007298573d6000803e3d6000fd5b50505050620072a662009253565b60006064620072b8603260506200a65a565b620072c491906200a43b565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062007306906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b81526001600482015262007339906001600160a01b0383169063dc96ff2d90602401620037b8565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007350579050509050604051806040016040528060018152602001601481525081600081518110620073a757620073a76200a58c565b602002602001018190525080604051602001620073c591906200a609565b6040516020818303038152906040529350620073e9601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200741892919062009fee565b600060405180830381600087803b1580156200743357600080fd5b505af115801562007448573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200748592506001600160a01b038516915063e0dd2c389060440162002540565b60405163dc96ff2d60e01b815260016004820152620061da906001600160a01b0384169063dc96ff2d9060240162002540565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620074fd57506001600160a01b0381163162007586565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156200755d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200758391906200a55d565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525062008560565b600080620075f373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b915091506200762c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007643579050509050604051806040016040528060018152602001606319815250816000815181106200769b576200769b6200a58c565b6020026020010181905250600081604051602001620076bb91906200a609565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200776391906004016200a577565b600060405180830381600087803b1580156200777e57600080fd5b505af115801562007793573d6000803e3d6000fd5b50505050620077aa601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620077d992919062009fee565b600060405180830381600087803b158015620077f457600080fd5b505af115801562007809573d6000803e3d6000fd5b505050506200781762009253565b6020840151604051631c1ba58760e31b815260016004820152306024820152620078d1906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa1580156200786d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200789391906200a55d565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e740000000000000000000000000000000081525062009471565b60405163dc96ff2d60e01b815260016004820152620025bf906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa1580156200791c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200794291906200a55d565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c000000000081525062009471565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525062008560565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525062008560565b60008062007a2973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60008062006425565b602082015191935091506001600160a01b0381166369fa25c462007a55670c7d713b49da0000620093fc565b6040518263ffffffff1660e01b815260040162007a7491815260200190565b600060405180830381600087803b15801562007a8f57600080fd5b505af115801562007aa4573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007aca6702c68af0bb140000620093fc565b6040518263ffffffff1660e01b815260040162007ae991815260200190565b600060405180830381600087803b15801562007b0457600080fd5b505af115801562007b19573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007b3e66071afd498d0000620093fc565b6040518263ffffffff1660e01b815260040162007b5d91815260200190565b600060405180830381600087803b15801562007b7857600080fd5b505af115801562007b8d573d6000803e3d6000fd5b5050505062007bc66040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007bdd57905050905060405180604001604052806001815260200160508152508160008151811062007c345762007c346200a58c565b602002602001018190525060008160405160200162007c5491906200a609565b604051602081830303815290604052905062007c78601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007ca792919062009fee565b600060405180830381600087803b15801562007cc257600080fd5b505af115801562007cd7573d6000803e3d6000fd5b5050505062007ce562009253565b6000606462007cf7603260506200a65a565b62007d0391906200a43b565b604051631c1ba58760e31b81526001600482015230602482015290915062007d3f906001600160a01b0386169063e0dd2c3890604401620029e3565b60405163dc96ff2d60e01b81526001600482015262007d72906001600160a01b0386169063dc96ff2d90602401620029e3565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007dc9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007def91906200a55d565b905062007e226040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b815250826200940f565b600062007e37600a6000856289544062007edf565b905062007e676040518060400160405280600a81526020016963765f636d703a20257360b01b815250826200940f565b62007e738282620092e6565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001f02576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001ee3575050505050905090565b6000848162007f0162007efa62989680608087901b6200a43b565b836200950b565b905060806f8000000000000000000000000000000062007f2586629896806200ad19565b62007f3584600160801b6200ad19565b62007f44629896808a6200a65a565b62007f5091906200a65a565b62007f5c91906200a43b565b62007f6889856200a65a565b62007f7491906200a674565b62007f8091906200a674565b901c979650505050505050565b60008062007f9f600080600062006425565b9150915062007fd46040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009230565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a0830181905292519192916200801a918491016200a94d565b60405160208183030381529060405290506200803e601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b81526004016200806d92919062009fee565b6020604051808303816000875af11580156200808d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620080b391906200a53d565b50620080be62009253565b620080f36040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009230565b604080516001808252818301909252606491600291600091816020015b604080518082019091526000808252602082015281526020019060019003908162008110579050509050604051806040016040528083815260200184815250816000815181106200816557620081656200a58c565b602002602001018190525062008183601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620081a591906200a609565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401620081d392919062009fee565b600060405180830381600087803b158015620081ee57600080fd5b505af115801562008203573d6000803e3d6000fd5b505050506200821162009253565b60006064620082226032866200a65a565b6200822e91906200a43b565b6020890151604051631c1ba58760e31b8152600481018690523060248201529192509062008270906001600160a01b0383169063e0dd2c3890604401620037b8565b60405163dc96ff2d60e01b815260048101859052620082a3906001600160a01b0383169063dc96ff2d90602401620037b8565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b8152600401620082db91815260200190565b61018060405180830381865afa158015620082fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200832091906200a69a565b509a505099509950505097509750505050620083696040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b815250866200940f565b6200839e604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b815250856200940f565b620083cf6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b815250826200940f565b620084106040518060400160405280600e81526020017f426c6f636b204c6173743a202573000000000000000000000000000000000000815250846200940f565b6200844760405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b815250836200940f565b6000896040516020016200845d91815260200190565b604051602081830303815290604052905062008481601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f6000604051908082528060200260200182016040528015620084bc578160200160208202803683370190505b50846040518463ffffffff1660e01b8152600401620084de939291906200a9b6565b600060405180830381600087803b158015620084f957600080fd5b505af11580156200850e573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200856d82620095c4565b5092915050565b6200857e620096f9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620085a262005352565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620085e457600080fd5b505af1158015620085f9573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b8152508152506200866762005352565b6200867162004cec565b6040518563ffffffff1660e01b81526004016200869294939291906200a9ef565b6020604051808303816000875af1158015620086b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620086d891906200a55d565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008725573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200874f91908101906200ad2f565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762008796620070e7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620087d857600080fd5b505af1158015620087ed573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65310000000000000000000000000000000000000000000000008152508152506200886c620070e7565b6200887662003f8c565b6040518563ffffffff1660e01b81526004016200889794939291906200ae05565b6020604051808303816000875af1158015620088b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620088dd91906200a55d565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200892a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200895491908101906200ad2f565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa76200899b62001e24565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620089dd57600080fd5b505af1158015620089f2573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653200000000000000000000000000000000000000000000000081525081525062008a7162001e24565b62008a7b62005ccd565b6040518563ffffffff1660e01b815260040162008a9c94939291906200ae77565b6020604051808303816000875af115801562008abc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ae291906200a55d565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008b2f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008b5991908101906200ad2f565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ba262004d9d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008be457600080fd5b505af115801562008bf9573d6000803e3d6000fd5b5050505060405162008c0b9062009df1565b604051809103906000f08015801562008c28573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008c5762004d9d565b8362008c6262007980565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008cc857600080fd5b505af115801562008cdd573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008d4057600080fd5b505af1158015620025bf573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008dae9160040190815260200190565b602060405180830381865afa15801562008dcc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008df291906200a53d565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008e9357600080fd5b505af115801562008ea8573d6000803e3d6000fd5b505060295461010090046001600160a01b03169150620091ca905057600060405162008ed49062009d60565b604051809103906000f08015801562008ef1573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008f139062009d6e565b604051809103906000f08015801562008f30573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008f8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008fb391906200a53d565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a20257300000000000000000060208201529394506200903693920416620097aa565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620090c757600080fd5b505af1158015620090dc573d6000803e3d6000fd5b506000925060019150620090ed9050565b60405190808252806020026020018201604052801562009117578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200913e576200913e6200a58c565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d906200919290849060019060009081908190819081906004016200a5a2565b600060405180830381600087803b158015620091ad57600080fd5b505af1158015620091c2573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200921c91906200aec6565b60405180910390a16200140483836200980c565b60295460ff1615620092505760276200924a82826200af59565b505a6028555b50565b60295460ff1615620092e45760005a905060006064826028546200927891906200ad19565b6200928491906200ad19565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a86027604051602001620092bb91906200b026565b60408051601f1981840301815290829052620092d99184906200b0c9565b60405180910390a150505b565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620093749060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620093ad91906200b0ed565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051620093e691906200b126565b60405180910390a1620093f86200999e565b5050565b60006200758664174876e800836200a43b565b620093f88282604051602401620094289291906200b0c9565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d00000000000000000000000000000000000000000000000000000000017905262009ab1565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094aa91906200aec6565b60405180910390a1620014048383620092e6565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620094f791906200aec6565b60405180910390a162001404838362009ad2565b6000600160801b8310620095665760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095bc578060011660000362009599576200958e828362009bd2565b915060011c6200956f565b620095a5838362009bd2565b9250620095b46001826200ad19565b90506200956f565b505092915050565b60008082604051602001620095da91906200acfb565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200965c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200968291906200a53d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620096c090859087906004016200b151565b600060405180830381600087803b158015620096db57600080fd5b505af1158015620096f0573d6000803e3d6000fd5b50505050915091565b604051620097079062009dff565b604051809103906000f08015801562009724573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862009753620079c2565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200979557600080fd5b505af115801562005cc7573d6000803e3d6000fd5b620093f88282604051602401620097c39291906200b175565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905262009ab1565b80151582151514620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516200989e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382620098f1576040518060400160405280600581526020016466616c736560d81b8152506200990f565b604051806040016040528060048152602001637472756560e01b8152505b6040516200991e91906200b1a2565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838162009971576040518060400160405280600581526020016466616c736560d81b8152506200998f565b604051806040016040528060048152602001637472756560e01b8152505b604051620093e691906200b1e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562009aa05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262009a3b92916020016200acc9565b60408051601f198184030181529082905262009a57916200acfb565b6000604051808303816000865af19150503d806000811462009a96576040519150601f19603f3d011682016040523d82523d6000602084013e62009a9b565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b808214620093f8577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009b609060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009b9991906200b0ed565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051620093e691906200b126565b6000600160801b83111562009c505760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016200955d565b600160801b821062009ca55760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016200955d565b60806f8000000000000000000000000000000062009cc484866200a65a565b62009cd091906200a674565b901c9392505050565b610e67806200b20d83390190565b612768806200c07483390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009d53604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e7dc83390190565b613594806200f02e83390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009dcf604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b61349180620125c283390190565b6135c18062015a5383390190565b612eb6806201901483390190565b6001600160a01b03811681146200925057600080fd5b60006020828403121562009e3657600080fd5b813562009e438162009e0d565b9392505050565b600081518084526020808501945080840160005b8381101562009e855781516001600160a01b03168752958201959082019060010162009e5e565b509495945050505050565b60208152600062009e43602083018462009e4a565b60005b8381101562009ec257818101518382015260200162009ea8565b50506000910152565b6000815180845262009ee581602086016020860162009ea5565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009faf57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009f9857605f1989850301835262009f8584865162009ecb565b948e01949350918d019160010162009f66565b505050978a01979450509188019160010162009f20565b50919a9950505050505050505050565b80151581146200925057600080fd5b60006020828403121562009fe157600080fd5b813562009e438162009fbf565b8281526040602082015260006200a009604083018462009ecb565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200a0b957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200a0a35783516001600160e01b0319168252928b019260019290920191908b01906200a077565b50978a019795505050918701916001016200a039565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a104576200a1046200a0c8565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a136576200a1366200a0c8565b604052919050565b600067ffffffffffffffff8211156200a15b576200a15b6200a0c8565b50601f01601f191660200190565b6000806000606084860312156200a17f57600080fd5b83356200a18c8162009e0d565b925060208401359150604084013567ffffffffffffffff8111156200a1b057600080fd5b8401601f810186136200a1c257600080fd5b80356200a1d96200a1d3826200a13e565b6200a10a565b8181528760208385010111156200a1ef57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a26857603f198886030184526200a25585835162009ecb565b945092850192908501906001016200a236565b5092979650505050505050565b600080600080600060a086880312156200a28e57600080fd5b85356200a29b8162009e0d565b945060208601356200a2ad8162009e0d565b935060408601356200a2bf8162009e0d565b925060608601356200a2d18162009e0d565b915060808601356200a2e38162009e0d565b809150509295509295909350565b6000806000606084860312156200a30757600080fd5b83356200a3148162009e0d565b95602085013595506040909401359392505050565b8051825260006020820151604060208501526200a009604085018262009ecb565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a3966101008401826200a329565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a3c857600080fd5b82356200a3d58162009e0d565b915060208301356200a3e78162009e0d565b809150509250929050565b600080600080608085870312156200a40957600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a45957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a47157600080fd5b815162009e438162009fbf565b600181811c908216806200a49357607f821691505b6020821081036200a4b457634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a5176101008501826200a329565b90508160c08601511660e0850152809250505092915050565b805162006d788162009e0d565b6000602082840312156200a55057600080fd5b815162009e438162009e0d565b6000602082840312156200a57057600080fd5b5051919050565b60208152600062009e43602083018462009ecb565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a5b88184018b62009e4a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a64d578151805185528601518685015292840192908501906001016200a626565b5091979650505050505050565b80820281158282048414176200758657620075866200a425565b808201808211156200758657620075866200a425565b80516004811062006d7857600080fd5b6000806000806000806000806000806000806101808d8f0312156200a6be57600080fd5b8c516200a6cb8162009e0d565b60208e0151909c506200a6de8162009e0d565b60408e0151909b506200a6f18162009e0d565b809a505060608d0151985060808d0151975060a08d0151600381106200a71657600080fd5b96506200a72660c08e016200a68a565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a788576200a7886200a75f565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a7b88285018d62009ecb565b92506200a7c9606085018c6200a775565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a8146200a1d3846200a13e565b90508281528383830111156200a82957600080fd5b62009e4383602083018462009ea5565b6000602082840312156200a84c57600080fd5b815167ffffffffffffffff8111156200a86457600080fd5b8201601f810184136200a87657600080fd5b6200a009848251602084016200a803565b6000806000606084860312156200a89d57600080fd5b835160ff811681146200a8af57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8f28285018d62009ecb565b91506200a903606085018c6200a775565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a93c818562009ecb565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a992576200a9926200a75f565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a9d1606083018562009e4a565b82810360408401526200a9e5818562009ecb565b9695505050505050565b84815260a0602082015260006200aa3360a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200aa4781876200a329565b90506001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200aaa360e085018a62009ecb565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aada816200a47e565b806040870152868216600081146200aafb57600181146200ab16576200ab46565b60ff1983168787015281151560051b8701860193506200ab46565b846000528860002060005b838110156200ab3e578154898201890152908901908a016200ab21565b880187019450505b50505087810360c08901526200ab5d818a62009e4a565b9f9e505050505050505050505050505050565b600082601f8301126200ab8257600080fd5b62009e43838351602085016200a803565b6000604082840312156200aba657600080fd5b6040516040810167ffffffffffffffff82821081831117156200abcd576200abcd6200a0c8565b816040528293508451835260208501519150808211156200abed57600080fd5b506200abfc858286016200ab70565b6020830152505092915050565b6000602082840312156200ac1c57600080fd5b815167ffffffffffffffff808211156200ac3557600080fd5b9083019060c082860312156200ac4a57600080fd5b6200ac546200a0de565b8251815260208301516200ac688162009e0d565b602082015260408301516200ac7d8162009e0d565b60408201526060830151828111156200ac9557600080fd5b6200aca3878286016200ab93565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200aced81600485016020870162009ea5565b919091016004019392505050565b600082516200ad0f81846020870162009ea5565b9190910192915050565b818103818111156200758657620075866200a425565b6000602082840312156200ad4257600080fd5b815167ffffffffffffffff808211156200ad5b57600080fd5b9083019060c082860312156200ad7057600080fd5b6200ad7a6200a0de565b82518152602083015160208201526040830151828111156200ad9b57600080fd5b6200ada9878286016200ab70565b6040830152506060830151828111156200adc257600080fd5b6200add0878286016200ab93565b6060830152506200ade4608084016200a530565b60808201526200adf760a084016200a530565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b6001600160a01b038516606084015282810360808401526200aa6c818562009e4a565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ae5460e08301866200a329565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009e43608083018462009ecb565b601f8211156200140457600081815260208120601f850160051c810160208610156200af385750805b601f850160051c820191505b8181101562003b45578281556001016200af44565b815167ffffffffffffffff8111156200af76576200af766200a0c8565b6200af8e816200af8784546200a47e565b846200af0f565b602080601f8311600181146200afc657600084156200afad5750858301515b600019600386901b1c1916600185901b17855562003b45565b600085815260208120601f198616915b828110156200aff7578886015182559484019460019091019084016200afd6565b50858210156200b0165787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200b036816200a47e565b600182811680156200b05157600181146200b067576200b098565b60ff19841687528215158302870194506200b098565b8760005260208060002060005b858110156200b08f5781548a8201529084019082016200b074565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b0de604083018562009ecb565b90508260208301529392505050565b6040815260006200b11860408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b11860408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b03831681526040602082015260006200a009604083018462009ecb565b6040815260006200b18a604083018562009ecb565b90506001600160a01b03831660208301529392505050565b6040815260006200b1cd60408301600a8152690808080808081319599d60b21b602082015260400190565b82810360208401526200a009818562009ecb565b6040815260006200b1cd60408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a2646970667358221220e9eef85e86e96ebffc2eac9551e7b19974f3d9311ed2aefa40b9b3c28e297a2864736f6c63430008130033","sourceMap":"1525:29417:94:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:97;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:96:-;;;;;-1:-1:-1;;;;;269:28:96;;;4045:101:38;;;:::i;1810:42:94:-;;1850:2;1810:42;;;;;644:25:97;;;632:2;617:18;1810:42:94;498:177:97;1959:1152:94;;;:::i;:::-;;30306:634;;;:::i;226:92:38:-;306:4;226:92;;29804:496:94;;;:::i;905:138:38:-;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:96;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:50:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:95:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:95;;;;;;;;;;267:84;5385:977:94;;;:::i;2757:105:40:-;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;507:79:93;;;:::i;:::-;;;;;;;;:::i;16709:866:94:-;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:50;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;17581:3967:94:-;;;:::i;3366:113:38:-;;;:::i;1672:33:94:-;;;;;;4257:113:38;;;:::i;15181:1522:94:-;;;:::i;4152:99:38:-;;;:::i;2738:178:50:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:96:-;;;;;;;;-1:-1:-1;;;;;240:23:96;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;21554:3158:94:-;;;:::i;4376:105:38:-;;;:::i;339:34:96:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:50:-;;;:::i;:::-;;;;;;;:::i;1858:47:94:-;;1901:4;1858:47;;304:29:96;;;;;-1:-1:-1;;;;;304:29:96;;;24718:2468:94;;;:::i;1537:101:38:-;;;:::i;3485:113::-;;;:::i;1711:44:94:-;;1750:5;1711:44;;11645:1898;;;:::i;799:361:93:-;;;;;;:::i;:::-;;:::i;3069:146:50:-;;;:::i;8309:519:94:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;13549:1626:94:-;;;:::i;3938:101:38:-;;;:::i;1166:1463:93:-;;;;;;:::i;:::-;;:::i;3273:1814:94:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2157:141:50:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;12299:14:97;;12292:22;12274:41;;12262:2;12247:18;1819:584:44;12134:187:97;6368:1028:94;;;:::i;1761:43::-;;1799:5;1761:43;;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;8834:1541:94:-;;;:::i;5093:254::-;;;;;;:::i;:::-;;:::i;4571:105:38:-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;7402:901:94;;;:::i;546:124:38:-;;;:::i;324:109::-;;;:::i;10381:1258:94:-;;;:::i;2304:142:50:-;;;:::i;3483:378:93:-;;;;;;:::i;:::-;;:::i;27192:2606:94:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1644:22:94;;;;;-1:-1:-1;;;;;1644:22:94;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1959:1152:94:-;1993:21;:19;:21::i;:::-;2024:32;2044:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;2044:10:94;2024:11;:32::i;:::-;2067:13;;2081:12;:10;:12::i;:::-;2067:27;;-1:-1:-1;;;;;;2067:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2067:27:94;;;160:74:97;133:18;;2067:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2104:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2104:6:94;:23;;;;;2125:1;2104:23;;;644:25:97;-1:-1:-1;;;;;2104:20:94;;;;;;;617:18:97;;2104:23:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2137:6:94;:26;;;;;2161:1;2137:26;;;644:25:97;-1:-1:-1;;;;;2137:23:94;;;;;;;617:18:97;;2137:26:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2173:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2198:5:94;:23;;-1:-1:-1;;;;;;2198:23:94;-1:-1:-1;;;;;2198:23:94;;;;;;;;;2231:10;306:4:38;2251:16:94;2266:1;1750:5;2251:16;:::i;:::-;2231:37;;-1:-1:-1;;;;;;2231:37:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2231:37:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2231:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2278:5:94;;-1:-1:-1;;;;;2278:5:94;;-1:-1:-1;2278:10:94;;-1:-1:-1;2289:12:94;:10;:12::i;:::-;2303:16;2318:1;1750:5;2303:16;:::i;:::-;2278:42;;-1:-1:-1;;;;;;2278:42:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2278:42:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2278:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2330:5:94;;-1:-1:-1;;;;;2330:5:94;;-1:-1:-1;2330:13:94;;-1:-1:-1;2352:6:94;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2352:6:94;2361:10;;2330:42;;-1:-1:-1;;;;;;2330:42:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2330:42:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2330:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2383:13:94;;2397:12;:10;:12::i;:::-;2383:27;;-1:-1:-1;;;;;;2383:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2383:27:94;;;160:74:97;133:18;;2383:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2420:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2420:6:94;-1:-1:-1;;;;;2420:24:94;;306:4:38;2420:33:94;;-1:-1:-1;;;;;;2420:33:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2420:33:94;;;160:74:97;133:18;;2420:33:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2463:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:31;2574:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2540:55;;2605:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2661:30:94;;2738:5;;;2701:19;;;;:44;;;;1850:2;2755:26;;;;:42;;;;2829:1;2807:19;;;:23;2840:27;;;;;;;;2859:8;2840:27;;;;;;;;;2859:8;;2840:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2840:27:94;;;;-1:-1:-1;;;2840:16:94;;;:27;2915:14;:12;:14::i;:::-;-1:-1:-1;;;;;2877:54:94;;;:19;;;:54;2975:38;;;;;:30;;;;;;:38;;2877:6;;2975:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2941:15;:73;;-1:-1:-1;;;;;;2941:73:94;-1:-1:-1;;;;;2941:73:94;;;;;;;;;3025:5;;3065:38;;;-1:-1:-1;;;3065:38:94;;;;3025:5;;;;;:13;;2941:73;;;3065:36;;:38;;;;;;;;;;;;;;2941:73;3065:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3025:79;;-1:-1:-1;;;;;;3025:79:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;3025:79:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;3025:79:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1983:1128;;1959:1152::o;30306:634::-;30358:22;30382:14;30400:33;30424:1;30428;30431;30400:15;:33::i;:::-;30487:13;;;;;30530:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30530:69:94;-1:-1:-1;;;30530:69:94;;;30514:86;;-1:-1:-1;;;30514:86:94;;30357:76;;-1:-1:-1;30357:76:94;;-1:-1:-1;30487:13:94;30514:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30610:2;-1:-1:-1;;;;;30610:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30640:2;-1:-1:-1;;;;;30640:19:94;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30680:15:94;;30671:62;;-1:-1:-1;;;;;;30680:15:94;;-1:-1:-1;30680:24:94;306:4:38;30705:7:94;30680:33;;-1:-1:-1;;;;;;30680:33:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30680:33:94;;;160:74:97;133:18;;30680:33:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30715:5;30671:62;;;;;;;;;;;;;-1:-1:-1;;;30671:62:94;;;:8;:62::i;:::-;30744:13;;30758:12;:10;:12::i;:::-;30744:27;;-1:-1:-1;;;;;;30744:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30744:27:94;;;160:74:97;133:18;;30744:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30781:2;-1:-1:-1;;;;;30781:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30810:2;-1:-1:-1;;;;;30810:19:94;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30841:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30875:15:94;;30866:67;;-1:-1:-1;;;;;;30875:15:94;;-1:-1:-1;30875:24:94;30900:12;:10;:12::i;29804:496::-;29854:22;29878:14;29896:33;29920:1;29924;29927;29896:15;:33::i;:::-;29983:13;;;;;30026:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30026:69:94;-1:-1:-1;;;30026:69:94;;;30010:86;;-1:-1:-1;;;30010:86:94;;29853:76;;-1:-1:-1;29853:76:94;;-1:-1:-1;29983:13:94;30010:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30106:2;-1:-1:-1;;;;;30106:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30136:13:94;;-1:-1:-1;30136:13:94;;-1:-1:-1;30150:12:94;;-1:-1:-1;30150:10:94;:12::i;:::-;30136:27;;-1:-1:-1;;;;;;30136:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30136:27:94;;;160:74:97;133:18;;30136:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30173:2;-1:-1:-1;;;;;30173:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30202:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30236:15:94;;30227:66;;-1:-1:-1;;;;;;30236:15:94;;-1:-1:-1;30236:24:94;30261:12;:10;:12::i;:::-;30236:38;;-1:-1:-1;;;;;;30236:38:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30236:38:94;;;160:74:97;133:18;;30236:38:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30276:4;30227:66;;;;;;;;;;;;;-1:-1:-1;;;30227:66:94;;;:8;:66::i;380:708:96:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:96;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:96;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:96;;-1:-1:-1;;;;;;592:52:96;;;;;;;-1:-1:-1;;;;;17430:55:97;;;592:52:96;;;17412:74:97;17522:2;17502:18;;;17495:30;642:1:96;17541:18:97;;;17534:29;;;17615:18;;;17608:34;17580:19;;592:52:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:96;-1:-1:-1;;;;;658:45:96;;;;;;;;717:54;;;-1:-1:-1;;;717:54:96;;;;;18140:74:97;;;;18230:18;;;18223:30;18289:2;18269:18;;;18262:30;18328:17;18308:18;;;18301:45;658::96;;-1:-1:-1;717:8:96;;;;18363:19:97;;717:54:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:96;;;-1:-1:-1;;;785:45:96;;-1:-1:-1;;;;;18623:55:97;;785:45:96;;;18605:74:97;18695:18;;;18688:30;;;;18754:2;18734:18;;;18727:30;18793:18;18773;;;18766:46;785:8:96;;-1:-1:-1;785:8:96;;-1:-1:-1;18829:19:97;;785:45:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:96;;-1:-1:-1;884:1:96;;-1:-1:-1;870:16:96;;-1:-1:-1;870:16:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:96;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:96;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:96;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:96;;-1:-1:-1;;;;;1065:16:96;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:50:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:50;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;5385:977:94:-;5485:14;5503:29;4445:42:9;5527:1:94;5530;5503:15;:29::i;:::-;5454:78;;;5597:39;;;;;;;;;;;;;;-1:-1:-1;;;5597:39:94;;;:17;:39::i;:::-;5690:35;;;5723:1;5690:35;;;;;;;;;5646:41;;5690:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5690:35:94;;;;;;;;;;;;;;;5646:79;;5824:33;;;;;;;;5851:1;5824:33;;;;5854:2;5824:33;;;5813:5;5819:1;5813:8;;;;;;;;:::i;:::-;;;;;;:44;;;;5899:33;;;;;;;;5926:1;5899:33;;;;5929:2;5899:33;;;5888:5;5894:1;5888:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6074:17;6105:5;6094:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6094:17:94;;;;;;;;;6282:1;6212:75;;;21115:36:97;309:37:45;21167:18:97;;;;21160:45;;;;6212:75:94;;;;;;;;;;21088:18:97;;;;6212:75:94;;;;;;;-1:-1:-1;;;;;6212:75:94;6235:45;6212:75;;;6196:92;;-1:-1:-1;;;6196:92:94;;6094:17;;-1:-1:-1;6196:15:94;;;;:92;;6212:75;6196:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;6298:6:94;-1:-1:-1;;;;;6298:15:94;;6314:6;6322:4;6298:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6337:18;:16;:18::i;507:79:93:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16709:866:94:-;16780:22;16804:14;16822:29;4445:42:9;16846:1:94;16849;16822:15;:29::i;:::-;16779:72;;;;16916:39;;;;;;;;;;;;;;-1:-1:-1;;;16916:39:94;;;:17;:39::i;:::-;17009:35;;;17042:1;17009:35;;;;;;;;;16965:41;;17009:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;17009:35:94;;;;;;;;;;;;;;;16965:79;;17065:34;;;;;;;;17092:1;17065:34;;;;17095:3;17065:34;;;17054:5;17060:1;17054:8;;;;;;;;:::i;:::-;;;;;;:45;;;;17109:5;17115:1;17109:8;;;;;;;;:::i;:::-;-1:-1:-1;;17147:17:94;;17127;;17147;;17158:5;;17109:8;17147:17;;:::i;:::-;;;;;;;;;;;;;17127:37;;17280:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;17280:6:94;-1:-1:-1;;;;;17280:15:94;;17296:6;17304:4;17280:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17319:18;:16;:18::i;:::-;17391:13;;;;17427:42;;-1:-1:-1;;;17427:42:94;;17452:1;17427:42;;;21692:25:97;17463:4:94;21733:18:97;;;21726:83;17418:67:94;;-1:-1:-1;;;;;17427:24:94;;;;;21665:18:97;;17427:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1850:2;17418:8;:67::i;:::-;17523:29;;-1:-1:-1;;;17523:29:94;;17550:1;17523:29;;;644:25:97;17514:54:94;;-1:-1:-1;;;;;17523:26:94;;;;;617:18:97;;17523:29:94;498:177:97;17514:54:94;16769:806;;;;;16709:866::o;3221:133:50:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:50;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:50;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;17581:3967:94:-;17662:22;17686:14;17704:50;17728:1;17732:8;17742:11;17704:15;:50::i;:::-;17808:13;;;;17661:93;;-1:-1:-1;17661:93:94;-1:-1:-1;;;;;;18084:11:94;;;18096:30;18110:15;18096:13;:30::i;:::-;18084:43;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18084:43:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18154:2;-1:-1:-1;;;;;18154:14:94;;18169:24;18183:9;18169:13;:24::i;:::-;18154:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18154:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18223:2;-1:-1:-1;;;;;18223:12:94;;18236:27;18250:12;18236:13;:27::i;:::-;18223:41;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18223:41:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:39;;;;;;;;;;;;;;-1:-1:-1;;;18349:39:94;;;:17;:39::i;:::-;18476:35;;;18509:1;18476:35;;;;;;;;;18419:3;;18398:18;;18476:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;18476:35:94;;;;;;;;;;;;;;;18432:79;;18532:42;;;;;;;;18559:1;18532:42;;;;18562:11;18532:42;;;18521:5;18527:1;18521:8;;;;;;;;:::i;:::-;;;;;;:53;;;;18605:17;18636:5;18625:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;18605:37;;18652:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;18652:6:94;-1:-1:-1;;;;;18652:15:94;;18668:6;18676:4;18652:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18691:18;:16;:18::i;:::-;18720:21;18783:3;18744:36;1850:2;18752:11;18744:36;:::i;:::-;:42;;;;:::i;:::-;18805;;-1:-1:-1;;;18805:42:94;;18830:1;18805:42;;;21692:25:97;18841:4:94;21733:18:97;;;21726:83;18720:66:94;;-1:-1:-1;18796:67:94;;-1:-1:-1;;;;;18805:24:94;;;;;21665:18:97;;18805:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18849:13;18796:8;:67::i;:::-;18900:29;;-1:-1:-1;;;18900:29:94;;18927:1;18900:29;;;644:25:97;18891:54:94;;-1:-1:-1;;;;;18900:26:94;;;;;617:18:97;;18900:29:94;498:177:97;18891:54:94;19028:13;;19042:12;:10;:12::i;:::-;19028:27;;-1:-1:-1;;;;;;19028:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;19028:27:94;;;160:74:97;133:18;;19028:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19158:2;-1:-1:-1;;;;;19158:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19188:42:94;;-1:-1:-1;19266:1:94;;-1:-1:-1;19233:35:94;;-1:-1:-1;19233:35:94;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;19233:35:94;;;;;;;;;;;;;;;;19188:80;;19278:19;19300:3;19278:25;;19325:43;;;;;;;;19352:1;19325:43;;;;19355:12;19325:43;;;19313:6;19320:1;19313:9;;;;;;;;:::i;:::-;;;;;;:55;;;;19396:6;19385:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;19378:25;;19464:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;19464:6:94;-1:-1:-1;;;;;19464:15:94;;19480:6;19488:4;19464:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;19503:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:22;19593:3;1850:2;19561:12;19553:37;;;;:::i;:::-;:43;;;;:::i;:::-;19528:68;;19607:76;19616:2;-1:-1:-1;;;;;19616:24:94;;19641:1;19652:12;:10;:12::i;:::-;19616:50;;-1:-1:-1;;;;;;19616:50:94;;;;;;;;;;21692:25:97;;;;-1:-1:-1;;;;;21753:55:97;21733:18;;;21726:83;21665:18;;19616:50:94;21510:305:97;19607:76:94;19721:29;;-1:-1:-1;;;19721:29:94;;19748:1;19721:29;;;644:25:97;19712:71:94;;-1:-1:-1;;;;;19721:26:94;;;;;617:18:97;;19721:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19752:30;19768:14;19752:13;:30;:::i;:::-;19712:8;:71::i;:::-;19848:48;;;;;;;;;;;;;;;;;;19883:12;19848:11;:48::i;:::-;19906:34;19943:2;-1:-1:-1;;;;;19943:29:94;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19906:68;;19984:69;;;;;;;;;;;;;;;;;;20026:26;19984:11;:69::i;:::-;20063:75;;;;;;;;;;;-1:-1:-1;;;20063:75:94;;;;20090:47;;-1:-1:-1;;;20090:47:94;;;;;644:25:97;;;20063:75:94;;;-1:-1:-1;;;;;20090:19:94;;;;;617:18:97;;20090:47:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20063:11;:75::i;:::-;20148:78;;;;;;;;;;;-1:-1:-1;;;20148:78:94;;;;20195:29;;-1:-1:-1;;;20195:29:94;;20222:1;20195:29;;;644:25:97;20148:78:94;;;-1:-1:-1;;;;;20175:19:94;;;;;;;20195:26;;617:18:97;;20195:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20175:50;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;20148:78:94;20246:47;;-1:-1:-1;;;20246:47:94;;;;;644:25:97;;;20237:80:94;;-1:-1:-1;;;;;20246:19:94;;;;;617:18:97;;20246:47:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20295:6;20237:80;;;;;;;;;;;;;-1:-1:-1;;;20237:80:94;;;:8;:80::i;:::-;20356:29;;-1:-1:-1;;;20356:29:94;;20383:1;20356:29;;;644:25:97;20327:82:94;;-1:-1:-1;;;;;20336:19:94;;;;;;;20356:26;;617:18:97;;20356:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20336:50;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;20336:50:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20388:5;20327:82;;;;;;;;;;;;;-1:-1:-1;;;20327:82:94;;;:8;:82::i;:::-;20420:12;;-1:-1:-1;;;20420:12:94;;20428:3;20420:12;;;644:25:97;20420:7:94;;;;617:18:97;;20420:12:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:47;;;;;;;;;;;;;;;;;;20476:12;20442:11;:47::i;:::-;20746:30;;-1:-1:-1;;;20746:30:94;;20774:1;20746:30;;;644:25:97;-1:-1:-1;;;;;20746:27:94;;;;;617:18:97;;20746:30:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20843:23;20880:20;20956:22;21006:17;21037:22;21072:2;-1:-1:-1;;;;;21072:14:94;;21087:1;21072:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;21072:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20787:302;;;;;;;;;;;;;;;;;21100:52;;;;;;;;;;;;;;-1:-1:-1;;;21100:52:94;;;21136:15;21100:11;:52::i;:::-;21162:46;;;;;;;;;;;;;;-1:-1:-1;;;21162:46:94;;;21195:12;21162:11;:46::i;:::-;21218:39;;;;;;;;;;;;;;-1:-1:-1;;;21218:39:94;;;21247:9;21218:11;:39::i;:::-;21267:50;;;;;;;;;;;;;;-1:-1:-1;;;21267:50:94;;;21302:14;21267:11;:50::i;:::-;21327;;;;;;;;;;;;;;;;;;21362:14;21327:11;:50::i;:::-;21387:39;21396:9;21407:5;21387:39;;;;;;;;;;;;;;;;;:8;:39::i;:::-;21436:48;21445:14;21461:4;21436:48;;;;;;;;;;;;;;;;;:8;:48::i;:::-;21494:47;21503:14;21519:3;21494:47;;;;;;;;;;;;;;;;;:8;:47::i;:::-;17651:3897;;;;;;;;;;;;;;;;17581:3967::o;3366:113:38:-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;15181:1522:94:-;15235:22;15259:14;15277:29;4445:42:9;15301:1:94;15304;15277:15;:29::i;:::-;15404:15;;15425:76;;15495:5;15425:76;;;24068:38:97;15234:72:94;;-1:-1:-1;15234:72:94;;-1:-1:-1;15372:139:94;;-1:-1:-1;;;;;15404:15:94;;;;;;-1:-1:-1;;;15448:45:94;24041:18:97;;15425:76:94;;;;-1:-1:-1;;15425:76:94;;;;;;;;;;;;;;-1:-1:-1;;;;;15425:76:94;-1:-1:-1;;;;;;15425:76:94;;;;;;;;;;15372:10;:139::i;:::-;15660:35;;;15693:1;15660:35;;;;;;;;;15616:41;;15660:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;15660:35:94;;;;;;;;;;;;;;;15616:79;;15716:34;;;;;;;;15743:1;15716:34;;;;15746:3;15716:34;;;15705:5;15711:1;15705:8;;;;;;;;:::i;:::-;;;;;;:45;;;;15760:17;15791:5;15780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;15760:37;;15807:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;15807:6:94;-1:-1:-1;;;;;15807:15:94;;15823:6;15831:4;15807:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;15960:13:94;;;;15995:42;;-1:-1:-1;;;15995:42:94;;16020:1;15995:42;;;21692:25:97;16031:4:94;21733:18:97;;;21726:83;15902:5:94;;15960:13;15986:67;;-1:-1:-1;;;;;15995:24:94;;;;;21665:18:97;;15995:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16039:13;15986:8;:67::i;:::-;16072:29;;-1:-1:-1;;;16072:29:94;;16099:1;16072:29;;;644:25:97;16063:54:94;;-1:-1:-1;;;;;16072:26:94;;;;;617:18:97;;16072:29:94;498:177:97;16063:54:94;16139:35;;;;;;;;16166:1;16139:35;;;;-1:-1:-1;;16139:35:94;;;16128:5;16134:1;16128:8;;;;;;;;:::i;:::-;;;;;;:46;;;;16202:5;16191:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;16184:24;;16218:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;16218:6:94;-1:-1:-1;;;;;16218:15:94;;16234:6;16242:4;16218:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16267:42:94;;-1:-1:-1;;;16267:42:94;;16292:1;16267:42;;;21692:25:97;16303:4:94;21733:18:97;;;21726:83;16258:69:94;;-1:-1:-1;;;;;;16267:24:94;;;-1:-1:-1;16267:24:94;;21665:18:97;;16267:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16311:1;16258:69;;;;;;;;;;;;;;;;;:8;:69::i;:::-;16346:29;;-1:-1:-1;;;16346:29:94;;16373:1;16346:29;;;644:25:97;16337:58:94;;-1:-1:-1;;;;;16346:26:94;;;;;617:18:97;;16346:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16377:1;16337:58;;;;;;;;;;;;;;;;;:8;:58::i;:::-;16406:44;16415:2;-1:-1:-1;;;;;16415:14:94;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16433:1;16406:44;;;;;;;;;;;;;;;;;:8;:44::i;:::-;16557:15;;16602:84;;1850:2;16602:84;;;644:25:97;16525:171:94;;-1:-1:-1;;;;;16557:15:94;;;;-1:-1:-1;;;16625:45:94;617:18:97;;16602:84:94;498:177:97;16525:171:94;15224:1479;;;;;;15181:1522::o;4152:99:38:-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:50:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:96:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:96;-1:-1:-1;;;;;1993:33:96;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:96;-1:-1:-1;;;;;2240:17:96;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:96;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;26454:25:97;;;;26495:18;;;26488:34;;;2301:17:96;;-1:-1:-1;2301:17:96;2280:18;;;;;;2363:7;;;;26427:18:97;;2363:36:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;27114:19:97;;;27149:12;;;27142:28;;;27222:66;27208:3;27204:16;;;27200:89;27186:12;;;27179:111;2435:25:96;;;;;;;;;27306:12:97;;;2435:25:96;;;;2489:11;;:152;;;;27204:16:97;;-1:-1:-1;27114:19:97;;-1:-1:-1;27142:28:97;;-1:-1:-1;2489:11:96;;;-1:-1:-1;;;;;2489:11:96;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:96;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;21554:3158:94:-;21608:22;21632:14;21650:29;4445:42:9;21674:1:94;21677;21650:15;:29::i;:::-;21607:72;;;;21744:39;;;;;;;;;;;;;;-1:-1:-1;;;21744:39:94;;;:17;:39::i;:::-;21870:35;;;21903:1;21870:35;;;;;;;;;21814:2;;21793:18;;21870:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;21870:35:94;;;;;;;;;;;;;;;21826:79;;21926:42;;;;;;;;21953:1;21926:42;;;;21956:11;21926:42;;;21915:5;21921:1;21915:8;;;;;;;;:::i;:::-;;;;;;:53;;;;21999:17;22030:5;22019:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;21999:37;;22046:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22046:6:94;-1:-1:-1;;;;;22046:15:94;;22062:6;22070:4;22046:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22085:18;:16;:18::i;:::-;22114:21;22177:3;22138:36;1850:2;22146:11;22138:36;:::i;:::-;:42;;;;:::i;:::-;22233:13;;;;22268:42;;-1:-1:-1;;;22268:42:94;;22293:1;22268:42;;;21692:25:97;22304:4:94;21733:18:97;;;21726:83;22114:66:94;;-1:-1:-1;22233:13:94;22259:90;;-1:-1:-1;;;;;22268:24:94;;;;;21665:18:97;;22268:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22312:13;22259:90;;;;;;;;;;;;;;;;;:8;:90::i;:::-;22386:29;;-1:-1:-1;;;22386:29:94;;22413:1;22386:29;;;644:25:97;22377:54:94;;-1:-1:-1;;;;;22386:26:94;;;;;617:18:97;;22386:29:94;498:177:97;22377:54:94;22514:13;;22528:12;:10;:12::i;:::-;22514:27;;-1:-1:-1;;;;;;22514:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;22514:27:94;;;160:74:97;133:18;;22514:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22552:19;22574:1;22552:23;;22585:41;22629:149;;;;;;;;22668:11;22629:149;;;;22681:6;22629:149;;;;22689:12;:10;:12::i;:::-;-1:-1:-1;;;;;22629:149:94;;;;;22703:31;22629:149;;1901:4;22629:149;;;;;;;;22762:5;;-1:-1:-1;;;;;22762:5:94;22629:149;;;;;22809:20;;22585:193;;-1:-1:-1;;;22809:20:94;;22585:193;;22809:20;;:::i;:::-;;;;;;;;;;;;;22788:41;;22839:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22839:6:94;-1:-1:-1;;;;;22839:24:94;;22864:6;22872:5;22839:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22889:5:94;;22911:15;;22929:38;;;-1:-1:-1;;;22929:38:94;;;;-1:-1:-1;;;;;22889:5:94;;;;:13;;22911:15;;;;22929:36;;:38;;;;;;;;;;;;;;;22911:15;22929:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22889:79;;-1:-1:-1;;;;;;22889:79:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;22889:79:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;22889:79:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23031:2;-1:-1:-1;;;;;23031:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23061:42:94;;-1:-1:-1;23139:1:94;;-1:-1:-1;23106:35:94;;-1:-1:-1;23106:35:94;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;23106:35:94;;;;;;;;;;;;;;;;23061:80;;23151:19;23173:3;23151:25;;23198:53;;;;;;;;23225:11;23198:53;;;;23238:12;23198:53;;;23186:6;23193:1;23186:9;;;;;;;;:::i;:::-;;;;;;:65;;;;23279:6;23268:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;23261:25;;23347:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;23347:6:94;-1:-1:-1;;;;;23347:15:94;;23363:6;23371:4;23347:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;23386:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23411:22;23476:3;1850:2;23444:12;23436:37;;;;:::i;:::-;:43;;;;:::i;:::-;23411:68;;23490:109;23499:2;-1:-1:-1;;;;;23499:24:94;;23524:11;23545:12;:10;:12::i;:::-;23499:60;;-1:-1:-1;;;;;;23499:60:94;;;;;;;;;;21692:25:97;;;;-1:-1:-1;;;;;21753:55:97;21733:18;;;21726:83;21665:18;;23499:60:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23561:14;23490:109;;;;;;;;;;;;;;;;;:8;:109::i;:::-;23637:39;;-1:-1:-1;;;23637:39:94;;;;;644:25:97;;;23628:81:94;;-1:-1:-1;;;;;23637:26:94;;;;;617:18:97;;23637:39:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23678:14;23628:81;;;;;;;;;;;;;;;;;:8;:81::i;:::-;23774:48;;;;;;;;;;;;;;;;;;23809:12;23774:11;:48::i;:::-;23832:65;;;;;;;;;;;;;;-1:-1:-1;;;23832:65:94;;;23859:2;-1:-1:-1;;;;;23859:19:94;;23879:2;-1:-1:-1;;;;;23879:14:94;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23832:65;23907:78;;;;;;;;;;;-1:-1:-1;;;23907:78:94;;;;23954:29;;-1:-1:-1;;;23954:29:94;;23981:1;23954:29;;;644:25:97;23907:78:94;;;-1:-1:-1;;;;;23934:19:94;;;;;;;23954:26;;617:18:97;;23954:29:94;498:177:97;23907:78:94;23995:11;;-1:-1:-1;;;23995:11:94;;24003:2;23995:11;;;644:25:97;23995:7:94;;;;617:18:97;;23995:11:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24016:47;;;;;;;;;;;;;;;;;;24050:12;24016:11;:47::i;:::-;24074:30;;-1:-1:-1;;;24074:30:94;;24102:1;24074:30;;;644:25:97;-1:-1:-1;;;;;24074:27:94;;;;;617:18:97;;24074:30:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24171:23;24208:20;24284:22;24334:17;24365:22;24400:2;-1:-1:-1;;;;;24400:14:94;;24415:1;24400:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;24400:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24115:302;;;;;;;;;;;;;;;;;24428:52;;;;;;;;;;;;;;-1:-1:-1;;;24428:52:94;;;24464:15;24428:11;:52::i;:::-;24490:46;;;;;;;;;;;;;;-1:-1:-1;;;24490:46:94;;;24523:12;24490:11;:46::i;:::-;24546:39;;;;;;;;;;;;;;-1:-1:-1;;;24546:39:94;;;24575:9;24546:11;:39::i;:::-;24595:50;;;;;;;;;;;;;;-1:-1:-1;;;24595:50:94;;;24630:14;24595:11;:50::i;:::-;24655;;;;;;;;;;;;;;;;;;24690:14;24655:11;:50::i;:::-;21597:3115;;;;;;;;;;;;;;;;;;21554:3158::o;4376:105:38:-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:50:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24718:2468:94;24776:22;24800:14;24818:29;4445:42:9;24842:1:94;24845;24818:15;:29::i;:::-;24775:72;;;;24912:39;;;;;;;;;;;;;;-1:-1:-1;;;24912:39:94;;;:17;:39::i;:::-;25039:35;;;25072:1;25039:35;;;;;;;;;24982:3;;24961:18;;25039:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;25039:35:94;;;;;;;;;;;;;;;24995:79;;25095:42;;;;;;;;25122:1;25095:42;;;;25125:11;25095:42;;;25084:5;25090:1;25084:8;;;;;;;;:::i;:::-;;;;;;:53;;;;25201:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;25201:6:94;-1:-1:-1;;;;;25201:15:94;;25217:6;25236:5;25225:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;25201:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25253:18;:16;:18::i;:::-;25282:21;25345:3;25306:36;1850:2;25314:11;25306:36;:::i;:::-;:42;;;;:::i;:::-;25401:13;;;;25436:42;;-1:-1:-1;;;25436:42:94;;25461:1;25436:42;;;21692:25:97;25472:4:94;21733:18:97;;;21726:83;25282:66:94;;-1:-1:-1;25401:13:94;25427:67;;-1:-1:-1;;;;;25436:24:94;;;;;21665:18:97;;25436:42:94;21510:305:97;25427:67:94;25531:29;;-1:-1:-1;;;25531:29:94;;25558:1;25531:29;;;644:25:97;25522:54:94;;-1:-1:-1;;;;;25531:26:94;;;;;617:18:97;;25531:29:94;498:177:97;25522:54:94;25633:19;25680:23;25717:20;25779:17;25810:22;25860:17;25929:2;-1:-1:-1;;;;;25929:14:94;;25944:1;25929:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;25929:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25605:341;;;;;;;;;;;;;;;;;;26142:52;;;;;;;;;;;;;;-1:-1:-1;;;26142:52:94;;;26178:15;26142:11;:52::i;:::-;26204:46;;;;;;;;;;;;;;-1:-1:-1;;;26204:46:94;;;26237:12;26204:11;:46::i;:::-;26260:39;;;;;;;;;;;;;;-1:-1:-1;;;26260:39:94;;;26289:9;26260:11;:39::i;:::-;26379:40;;;;;;;;;;;;;;;;;;26409:9;26379:11;:40::i;:::-;26429:50;;;;;;;;;;;;;;-1:-1:-1;;;26429:50:94;;;26464:14;26429:11;:50::i;:::-;26690:16;;;26660:27;26690:16;;;;;;;;26794:1;26783:13;;;29914:36:97;26783:13:94;;;;;;;;;29887:18:97;;;26783:13:94;;26835:10;;;;26690:16;;26783:13;26824:35;;26847:11;26824:10;:35::i;:::-;26807:52;;26936:19;26945:6;26953:1;26936:8;:19::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;-1:-1:-1;;;;;26966:17:94;;26984:6;26992:10;27004:12;26966:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27036:35;27047:4;:10;;;27059:11;27036:10;:35::i;:::-;27027:44;;27146:33;27155:6;27163:15;27146:8;:33::i;:::-;24765:2421;;;;;;;;;;;;;;;24718:2468::o;1537:101:38:-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;11645:1898:94:-;11707:22;11731:14;11749:29;4445:42:9;11773:1:94;11776;11749:15;:29::i;:::-;11832:13;;;;11706:72;;-1:-1:-1;11706:72:94;-1:-1:-1;;;;;;11859:11:94;;;11871:24;11885:9;11871:13;:24::i;:::-;11859:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11859:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11923:2;-1:-1:-1;;;;;11923:14:94;;11938:24;11952:9;11938:13;:24::i;:::-;11923:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11923:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11992:2;-1:-1:-1;;;;;11992:12:94;;12005:26;12019:11;12005:13;:26::i;:::-;11992:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11992:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12199:15:94;;12244:84;;12087:5;12244:84;;;644:25:97;;;12087:5:94;-1:-1:-1;12167:171:94;;-1:-1:-1;;;;;;12199:15:94;;;;12063:21;;-1:-1:-1;;;12267:45:94;617:18:97;;12244:84:94;498:177:97;12167:171:94;12391:39;;;;;;;;;;;;;;-1:-1:-1;;;12391:39:94;;;:17;:39::i;:::-;12484:35;;;12517:1;12484:35;;;;;;;;;12440:41;;12484:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;12484:35:94;;;;;;;;;;;;;;;12440:79;;12540:34;;;;;;;;12567:1;12540:34;;;;12570:3;12540:34;;;12529:5;12535:1;12529:8;;;;;;;;:::i;:::-;;;;;;:45;;;;12584:17;12615:5;12604:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;12584:37;;12631:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;12631:6:94;-1:-1:-1;;;;;12631:15:94;;12647:6;12655:4;12631:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12670:18;:16;:18::i;:::-;12708:42;;-1:-1:-1;;;12708:42:94;;12733:1;12708:42;;;21692:25:97;12744:4:94;21733:18:97;;;21726:83;12699:67:94;;-1:-1:-1;;;;;12708:24:94;;;;;21665:18:97;;12708:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12752:13;12699:8;:67::i;:::-;12785:29;;-1:-1:-1;;;12785:29:94;;12812:1;12785:29;;;644:25:97;12776:54:94;;-1:-1:-1;;;;;12785:26:94;;;;;617:18:97;;12785:29:94;498:177:97;12776:54:94;12902:46;;-1:-1:-1;;;12902:46:94;;12925:2;12902:46;;;30678:25:97;12841:23:94;30719:18:97;;;30712:34;;;12867:5:94;30762:18:97;;;30755:34;;;12867:5:94;-1:-1:-1;;;;;12902:22:94;;;;;30651:18:97;;12902:46:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12882:66;;12959:39;;;;;;;;;;;;;;-1:-1:-1;;;12959:39:94;;;12988:9;12959:11;:39::i;:::-;13008:14;13025:66;13046:2;13050:1;13053:15;13070:20;13025;:66::i;:::-;13008:83;;13101:33;;;;;;;;;;;;;;-1:-1:-1;;;13101:33:94;;;13127:6;13101:11;:33::i;:::-;13145:27;13154:9;13165:6;13145:8;:27::i;:::-;13182:32;13191:15;13208:5;13182:8;:32::i;:::-;13224:30;13233:13;13248:5;13224:8;:30::i;:::-;13264:26;13273:9;13284:5;13264:8;:26::i;:::-;13397:15;;13442:84;;1850:2;13442:84;;;644:25:97;13365:171:94;;-1:-1:-1;;;;;13397:15:94;;;;-1:-1:-1;;;13465:45:94;617:18:97;;13442:84:94;498:177:97;13365:171:94;11696:1847;;;;;;;;;11645:1898::o;799:361:93:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:93;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1017:48:93;;;;;;1067:12;:10;:12::i;:::-;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:93;;;799:361::o;3069:146:50:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8309:519:94;8392:14;8410:29;4445:42:9;8434:1:94;8437;8410:15;:29::i;:::-;8389:50;;;8450:41;8494:133;;;;;;;;8533:1;8494:133;;;;8536:6;8494:133;;;;8544:12;:10;:12::i;:::-;-1:-1:-1;;;;;8494:133:94;;;;;8558:33;8494:133;;;;1901:4;8494:133;;;;4445:42:9;-1:-1:-1;;;;;8494:133:94;;;;8450:177;;8637:17;8668:8;8657:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8657:20:94;;;;;;;;;8770:1;8703:69;;;;29914:36:97;;;;8703:69:94;;;;;;;;;;29887:18:97;;;;8703:69:94;;;;;;;-1:-1:-1;;;;;8703:69:94;8726:42;8703:69;;;8687:86;;-1:-1:-1;;;8687:86:94;;8657:20;;-1:-1:-1;8687:15:94;;;;:86;;8703:69;8687:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8783:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;8783:6:94;-1:-1:-1;;;;;8783:24:94;;8808:6;8816:4;8783:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8379:449;;;8309:519::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;13549:1626:94:-;13619:22;13643:14;13661:29;4445:42:9;13685:1:94;13688;13661:15;:29::i;:::-;13744:13;;;;13618:72;;-1:-1:-1;13618:72:94;-1:-1:-1;;;;;;13771:11:94;;;13783:24;13797:9;13783:13;:24::i;:::-;13771:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13771:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13835:2;-1:-1:-1;;;;;13835:14:94;;13850:24;13864:9;13850:13;:24::i;:::-;13835:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13835:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13904:2;-1:-1:-1;;;;;13904:12:94;;13917:26;13931:11;13917:13;:26::i;:::-;13904:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13904:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14063:15:94;;14084:76;;14154:5;14084:76;;;24068:38:97;14031:139:94;;-1:-1:-1;;;;;;14063:15:94;;;;-1:-1:-1;14063:15:94;;-1:-1:-1;;;14107:45:94;24041:18:97;;14084:76:94;23911:201:97;14031:139:94;14223:39;;;;;;;;;;;;;;-1:-1:-1;;;14223:39:94;;;:17;:39::i;:::-;14316:35;;;14349:1;14316:35;;;;;;;;;14272:41;;14316:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;14316:35:94;;;;;;;;;;;;;;;14272:79;;14372:34;;;;;;;;14399:1;14372:34;;;;14402:3;14372:34;;;14361:5;14367:1;14361:8;;;;;;;;:::i;:::-;;;;;;:45;;;;14437:17;14468:5;14457:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;14437:37;;14484:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;14484:6:94;-1:-1:-1;;;;;14484:15:94;;14500:6;14508:4;14484:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14523:18;:16;:18::i;:::-;14600:42;;-1:-1:-1;;;14600:42:94;;14625:1;14600:42;;;21692:25:97;14636:4:94;21733:18:97;;;21726:83;14576:5:94;;14591:67;;-1:-1:-1;;;;;14600:24:94;;;;;21665:18:97;;14600:42:94;21510:305:97;14591:67:94;14695:29;;-1:-1:-1;;;14695:29:94;;14722:1;14695:29;;;644:25:97;14686:54:94;;-1:-1:-1;;;;;14695:26:94;;;;;617:18:97;;14695:29:94;498:177:97;14686:54:94;14783:27;;;;;14805:4;14783:27;;;644:25:97;14769:11:94;;-1:-1:-1;;;;;14783:21:94;;;;;617:18:97;;14783:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14769:41;;14820:32;;;;;;;;;;;;;;;;;;14848:3;14820:11;:32::i;:::-;14862:30;14871:13;14886:5;14862:8;:30::i;:::-;14902:20;14911:3;14916:5;14902:8;:20::i;:::-;15029:15;;15074:84;;1850:2;15074:84;;;644:25:97;14997:171:94;;-1:-1:-1;;;;;15029:15:94;;;;-1:-1:-1;;;15097:45:94;617:18:97;;15074:84:94;498:177:97;14997:171:94;13608:1567;;;;;;;13549:1626::o;3938:101:38:-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:93:-;-1:-1:-1;;;;;;;;1307:14:93;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:93;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:93;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:93;;;;;;;;;;;;-1:-1:-1;1878:16:93;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:93;;;-1:-1:-1;;;;;1904:33:93;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:93;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:93;;;2269:64;;-1:-1:-1;2317:5:93;2269:64;2351:4;-1:-1:-1;;;;;2351:33:93;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;32481:13:97;;-1:-1:-1;;;;;32477:62:97;2509:18:93;;;;32459:81:97;;;;32584:17;;32578:24;32556:20;;;32549:54;32647:17;;;32641:24;32619:20;;;;32612:54;;;;32710:17;;32704:24;32682:20;;;32675:54;2486:8:93;;32431:19:97;;2509:18:93;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:93:o;3273:1814:94:-;3393:22;;:::i;:::-;3417:14;3451:13;3468:1;3451:18;3447:81;;1901:4;3485:32;;3447:81;3542:10;3556:1;3542:15;3538:70;;1799:5;3573:24;;3538:70;4445:42:9;-1:-1:-1;;;;;3660:24:94;;3656:84;;-1:-1:-1;3723:5:94;;-1:-1:-1;;;;;3723:5:94;3656:84;3750:35;;;;;;;;;;;;;;-1:-1:-1;;;3750:35:94;;;:17;:35::i;:::-;3859:13;;3873:12;:10;:12::i;:::-;3859:27;;-1:-1:-1;;;;;;3859:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;3859:27:94;;;160:74:97;133:18;;3859:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3897:19;3942:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3942:6:94;3919:31;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:97;;;160:74;;148:2;133:18;3919:31:94;;;;;;;;;;;;;;;;;;;;;;;3897:53;;3970:101;3981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3981:6:94;3997:8;4016:18;3202:15;;-1:-1:-1;;;;;3202:15:94;;3117:107;4016:18;678:10:40;;-1:-1:-1;;;;;678:10:40;4057:12:94;3970:10;:101::i;:::-;3961:110;;317:28:45;309:37;;-1:-1:-1;;;;;4082:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:8;-1:-1:-1;;;;;4107:23:94;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4150:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4150:6:94;-1:-1:-1;;;;;4150:14:94;;4165:6;4150:22;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;4150:22:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4150:22:94;;;;;;;;;;;;:::i;:::-;4183:34;;;;;4199:4;4183:34;;;14681:74:97;14771:18;;;14764:34;;;4143:29:94;;-1:-1:-1;4183:7:94;;;;14654:18:97;;4183:34:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;-1:-1:-1;;;;;4231:22:94;:12;-1:-1:-1;;;;;4231:22:94;;4227:316;;707:6:39;;-1:-1:-1;;;;;707:6:39;4269:54:94;;-1:-1:-1;;;4269:54:94;;;;;26454:25:97;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4269:15:94;;;;;;;4292:10;;26427:18:97;;4269:54:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;;;4354:55;;;;;4391:4;4354:55;;;14681:74:97;14771:18;;;14764:34;;;-1:-1:-1;;;;;4354:28:94;;;;;14654:18:97;;4354:55:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4433:12;-1:-1:-1;;;;;4423:31:94;;4463:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4463:6:94;4423:60;;-1:-1:-1;;;;;;4423:60:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;4423:60:94;;;14681:74:97;14771:18;;;14764:34;;;14654:18;;4423:60:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;4497:35:94;;-1:-1:-1;;;4497:35:94;;;;;26454:25:97;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4497:15:94;;;;;;;26427:18:97;;4497:35:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;4562:14;;4553:70;;4578:27;4594:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;4578:27:94;4553:70;;;;;;;;;;;;;;;;;:8;:70::i;:::-;4720:35;;;;;;;;;;;;;;-1:-1:-1;;;4720:35:94;;;:17;:35::i;:::-;4766:41;4810:143;;;;;;;;4849:1;4810:143;;;;4852:6;4810:143;;;;4860:12;:10;:12::i;:::-;-1:-1:-1;;;;;4810:143:94;;;;;4874:31;4810:143;;;;4907:13;4810:143;;;;4930:12;-1:-1:-1;;;;;4810:143:94;;;;4766:187;;4963:17;4994:8;4983:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;4963:40;;5013:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;5013:6:94;-1:-1:-1;;;;;5013:24:94;;5038:6;5046:4;5013:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5062:18;:16;:18::i;:::-;3437:1650;;;;3273:1814;;;;;;:::o;2157:141:50:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14681:74:97;;;-1:-1:-1;;;14771:18:97;;;14764:34;2196:43:44;;;;;;;;;14654:18:97;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;6368:1028:94:-;6465:14;6483:29;4445:42:9;6507:1:94;6510;6483:15;:29::i;:::-;6434:78;;;6577:39;;;;;;;;;;;;;;-1:-1:-1;;;6577:39:94;;;:17;:39::i;:::-;6670:35;;;6703:1;6670:35;;;;;;;;;6626:41;;6670:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6670:35:94;;;;;;;;;;;;;;;6626:79;;6804:33;;;;;;;;6831:1;6804:33;;;;6834:2;6804:33;;;6793:5;6799:1;6793:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6879:33;;;;;;;;6906:1;6879:33;;;;6909:2;6879:33;;;6868:5;6874:1;6868:8;;;;;;;;:::i;:::-;;;;;;:44;;;;7054:17;7085:5;7074:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7074:17:94;;;;;;;;;;-1:-1:-1;7101:13:94;;7115:12;:10;:12::i;:::-;7101:27;;-1:-1:-1;;;;;;7101:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;7101:27:94;;;160:74:97;133:18;;7101:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7138:54:94;;;;;7154:37;7138:54;;;38028:98:97;7138:15:94;;-1:-1:-1;7138:15:94;;-1:-1:-1;38001:18:97;;7138:54:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7307:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7307:6:94;-1:-1:-1;;;;;7307:15:94;;7323:6;7331:4;7307:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;7347:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:113:38;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;8834:1541:94:-;8901:22;8925:14;8943:29;4445:42:9;8967:1:94;8970;8943:15;:29::i;:::-;8900:72;;;;9026:39;;;;;;;;;;;;;;-1:-1:-1;;;9026:39:94;;;:17;:39::i;:::-;9119:35;;;9152:1;9119:35;;;;;;;;;9075:41;;9119:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9119:35:94;;;;;;;;;;;;;;;9075:79;;9175:33;;;;;;;;9202:1;9175:33;;;;9205:2;9175:33;;;9164:5;9170:1;9164:8;;;;;;;;:::i;:::-;;;;;;:44;;;;9258:17;9289:5;9278:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;9258:37;;9306:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;9306:6:94;-1:-1:-1;;;;;9306:15:94;;9322:6;9330:4;9306:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:18;:16;:18::i;:::-;9374:21;9419:3;9398:18;1850:2;9398;:18;:::i;:::-;:24;;;;:::i;:::-;9475:13;;;;9510:42;;-1:-1:-1;;;9510:42:94;;9535:1;9510:42;;;21692:25:97;9546:4:94;21733:18:97;;;21726:83;9374:48:94;;-1:-1:-1;9475:13:94;9501:67;;-1:-1:-1;;;;;9510:24:94;;;;;21665:18:97;;9510:42:94;21510:305:97;9501:67:94;9605:29;;-1:-1:-1;;;9605:29:94;;9632:1;9605:29;;;644:25:97;9596:54:94;;-1:-1:-1;;;;;9605:26:94;;;;;617:18:97;;9605:29:94;498:177:97;9596:54:94;9965:35;;;9998:1;9965:35;;;;;;;;;9920:42;;9965:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9965:35:94;;;;;;;;;;;;;;;9920:80;;10022:33;;;;;;;;10049:1;10022:33;;;;10052:2;10022:33;;;10010:6;10017:1;10010:9;;;;;;;;:::i;:::-;;;;;;:45;;;;10083:6;10072:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;10065:25;;10151:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;10151:6:94;-1:-1:-1;;;;;10151:15:94;;10167:6;10175:4;10151:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10227:42:94;;-1:-1:-1;;;10227:42:94;;10252:1;10227:42;;;21692:25:97;10263:4:94;21733:18:97;;;21726:83;10218:67:94;;-1:-1:-1;;;;;;10227:24:94;;;-1:-1:-1;10227:24:94;;21665:18:97;;10227:42:94;21510:305:97;10218:67:94;10323:29;;-1:-1:-1;;;10323:29:94;;10350:1;10323:29;;;644:25:97;10314:54:94;;-1:-1:-1;;;;;10323:26:94;;;;;617:18:97;;10323:29:94;498:177:97;5093:254:94;5166:7;5189:16;-1:-1:-1;;;;;5189:16:94;;;5185:156;;-1:-1:-1;;;;;;5228:23:94;;;5221:30;;5185:156;5289:41;;;;;-1:-1:-1;;;;;178:55:97;;;5289:41:94;;;160:74:97;5289:24:94;;;;;133:18:97;;5289:41:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5282:48;;5185:156;5093:254;;;;:::o;4571:105:38:-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;7402:901:94:-;7501:22;7525:14;7543:29;4445:42:9;7567:1:94;7570;7543:15;:29::i;:::-;7500:72;;;;7637:39;;;;;;;;;;;;;;-1:-1:-1;;;7637:39:94;;;:17;:39::i;:::-;7730:35;;;7763:1;7730:35;;;;;;;;;7686:41;;7730:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;7730:35:94;;;;;;;;;;;;;;;7686:79;;7786:35;;;;;;;;7813:1;7786:35;;;;-1:-1:-1;;7786:35:94;;;7775:5;7781:1;7775:8;;;;;;;;:::i;:::-;;;;;;:46;;;;7831:17;7862:5;7851:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7851:17:94;;;;;;;;;309:37:45;7895:75:94;;;38371:36:97;-1:-1:-1;;38423:18:97;;;38416:49;;;38481:18;;;;38474:49;;;;7895:75:94;;;;;;;;;;38344:18:97;;;;7895:75:94;;;;;;;-1:-1:-1;;;;;7895:75:94;7918:36;7895:75;;;7879:92;;-1:-1:-1;;;7879:92:94;;7851:17;;-1:-1:-1;7879:15:94;;;;:92;;7895:75;7879:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7981:6:94;-1:-1:-1;;;;;7981:15:94;;7997:6;8005:4;7981:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8020:18;:16;:18::i;:::-;8092:13;;;;8128:42;;-1:-1:-1;;;8128:42:94;;8153:1;8128:42;;;21692:25:97;8164:4:94;21733:18:97;;;21726:83;8119:75:94;;-1:-1:-1;;;;;8128:24:94;;;;;21665:18:97;;8128:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8172:1;8119:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;8232:29;;-1:-1:-1;;;8232:29:94;;8259:1;8232:29;;;644:25:97;8223:73:94;;-1:-1:-1;;;;;8232:26:94;;;;;617:18:97;;8232:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8263:1;8223:73;;;;;;;;;;;;;;;;;:8;:73::i;546:124:38:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;10381:1258:94:-;10441:22;10465:14;10483:29;4445:42:9;10507:1:94;10510;10483:15;:29::i;:::-;10566:13;;;;10440:72;;-1:-1:-1;10440:72:94;-1:-1:-1;;;;;;10593:11:94;;;10605:24;10619:9;10605:13;:24::i;:::-;10593:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10593:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10657:2;-1:-1:-1;;;;;10657:14:94;;10672:24;10686:9;10672:13;:24::i;:::-;10657:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10657:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:2;-1:-1:-1;;;;;10726:12:94;;10739:26;10753:11;10739:13;:26::i;:::-;10726:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10726:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:39;;;;;;;;;;;;;;-1:-1:-1;;;10841:39:94;;;:17;:39::i;:::-;10934:35;;;10967:1;10934:35;;;;;;;;;10890:41;;10934:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;10934:35:94;;;;;;;;;;;;;;;10890:79;;10990:33;;;;;;;;11017:1;10990:33;;;;11020:2;10990:33;;;10979:5;10985:1;10979:8;;;;;;;;:::i;:::-;;;;;;:44;;;;11033:17;11064:5;11053:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;11033:37;;11080:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;11080:6:94;-1:-1:-1;;;;;11080:15:94;;11096:6;11104:4;11080:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11119:18;:16;:18::i;:::-;11148:21;11193:3;11172:18;1850:2;11172;:18;:::i;:::-;:24;;;;:::i;:::-;11215:42;;-1:-1:-1;;;11215:42:94;;11240:1;11215:42;;;21692:25:97;11251:4:94;21733:18:97;;;21726:83;11148:48:94;;-1:-1:-1;11206:67:94;;-1:-1:-1;;;;;11215:24:94;;;;;21665:18:97;;11215:42:94;21510:305:97;11206:67:94;11292:29;;-1:-1:-1;;;11292:29:94;;11319:1;11292:29;;;644:25:97;11283:54:94;;-1:-1:-1;;;;;11292:26:94;;;;;617:18:97;;11292:29:94;498:177:97;11283:54:94;11368:44;;-1:-1:-1;;;11368:44:94;;11391:2;11368:44;;;30678:25:97;11348:17:94;30719:18:97;;;30712:34;;;30762:18;;;30755:34;;;11348:17:94;-1:-1:-1;;;;;11368:22:94;;;;;30651:18:97;;11368:44:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11348:64;;11422:39;;;;;;;;;;;;;;-1:-1:-1;;;11422:39:94;;;11451:9;11422:11;:39::i;:::-;11471:14;11488:64;11509:2;11513:1;11516:13;11531:20;11488;:64::i;:::-;11471:81;;11562:33;;;;;;;;;;;;;;-1:-1:-1;;;11562:33:94;;;11588:6;11562:11;:33::i;:::-;11605:27;11614:9;11625:6;11605:8;:27::i;:::-;10430:1209;;;;;;;;10381:1258::o;2304:142:50:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:50;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:93:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:93;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:93;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:93:o;27192:2606:94:-;27256:22;27280:14;27298:33;27322:1;27326;27329;27298:15;:33::i;:::-;27255:76;;;;27342:35;;;;;;;;;;;;;;-1:-1:-1;;;27342:35:94;;;:17;:35::i;:::-;27444:98;;;;;;;;27470:1;27444:98;;;;;;;;;-1:-1:-1;27444:98:94;;;;;;;;;;;;;;;;;;;;;;;;27572:20;;27444:98;;-1:-1:-1;27572:20:94;;27444:98;;27572:20;;:::i;:::-;;;;;;;;;;;;;27552:40;;27602:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;27602:6:94;-1:-1:-1;;;;;27602:24:94;;27627:6;27635:4;27602:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27651:18;:16;:18::i;:::-;27733:39;;;;;;;;;;;;;;-1:-1:-1;;;27733:39:94;;;:17;:39::i;:::-;27893:35;;;27926:1;27893:35;;;;;;;;;27803:3;;27838:1;;27782:18;;27893:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;27893:35:94;;;;;;;;;;;;;;;27849:79;;27949:52;;;;;;;;27976:11;27949:52;;;;27989:11;27949:52;;;27938:5;27944:1;27938:8;;;;;;;;:::i;:::-;;;;;;:63;;;;28065:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;28065:6:94;-1:-1:-1;;;;;28065:15:94;;28081:6;28100:5;28089:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;28065:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28117:18;:16;:18::i;:::-;28146:21;28209:3;28170:36;1850:2;28178:11;28170:36;:::i;:::-;:42;;;;:::i;:::-;28265:13;;;;28300:52;;-1:-1:-1;;;28300:52:94;;;;;21692:25:97;;;28346:4:94;21733:18:97;;;21726:83;28146:66:94;;-1:-1:-1;28265:13:94;28291:77;;-1:-1:-1;;;;;28300:24:94;;;;;21665:18:97;;28300:52:94;21510:305:97;28291:77:94;28405:39;;-1:-1:-1;;;28405:39:94;;;;;644:25:97;;;28396:64:94;;-1:-1:-1;;;;;28405:26:94;;;;;617:18:97;;28405:39:94;498:177:97;28396:64:94;28545:23;28582:20;28644:17;28675:22;28725:17;28794:2;-1:-1:-1;;;;;28794:14:94;;28809:1;28794:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;28794:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28489:322;;;;;;;;;;;;;;;;;29007:52;;;;;;;;;;;;;;-1:-1:-1;;;29007:52:94;;;29043:15;29007:11;:52::i;:::-;29069:46;;;;;;;;;;;;;;-1:-1:-1;;;29069:46:94;;;29102:12;29069:11;:46::i;:::-;29125:39;;;;;;;;;;;;;;-1:-1:-1;;;29125:39:94;;;29154:9;29125:11;:39::i;:::-;29244:40;;;;;;;;;;;;;;;;;;29274:9;29244:11;:40::i;:::-;29294:50;;;;;;;;;;;;;;-1:-1:-1;;;29294:50:94;;;29329:14;29294:11;:50::i;:::-;29607:25;29646:11;29635:23;;;;;;644:25:97;;632:2;617:18;;498:177;29635:23:94;;;;;;;;;;;;;29607:51;;29669:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;29669:6:94;-1:-1:-1;;;;;29669:17:94;;29687:6;29709:1;29695:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29695:16:94;;29713:12;29669:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27245:2553;;;;;;;;;;;;;;;27192:2606::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:48;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:48;20439:125;-1:-1:-1;;20439:125:48:o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1192:22:40;;;160:74:97;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:40;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:97;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1482:26:40;;;160:74:97;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:97;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1765:26:40;;;160:74:97;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:97;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:97;;;342:27:39;;;160:74:97;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;42811:15:97;;;409:201:39;;;42793:34:97;42863:15;;;42843:18;;;42836:43;42915:15;;;42895:18;;;42888:43;554:4:39;42947:18:97;;;42940:34;-1:-1:-1;42990:19:97;;;42983:35;42704:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1094:785:96;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:97;;;632:2;617:18;;498:177;1169:24:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:96;-1:-1:-1;;;;;1152:41:96;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:96;;;;;43241:74:97;;;;43331:18;;;43324:30;43390:2;43370:18;;;43363:30;43429:16;43409:18;;;43402:44;1203:8:96;;;;43463:19:97;;1203:42:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:96;;;;;-1:-1:-1;;;;;1268:11:96;;-1:-1:-1;1256:589:96;;-1:-1:-1;1256:589:96;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:96;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:96;;-1:-1:-1;;;;;;1384:52:96;;;;;;;-1:-1:-1;;;;;17430:55:97;;;1384:52:96;;;17412:74:97;17522:2;17502:18;;;17495:30;1434:1:96;17541:18:97;;;17534:29;;;17615:18;;;17608:34;17580:19;;1384:52:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:96;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:96;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:96;;1595:11;;;;-1:-1:-1;;;;;1595:11:96;1578:45;;;43705:74:97;43795:18;;;43788:30;43854:2;43834:18;;;43827:30;43893:13;43873:18;;;43866:41;1578:8:96;;;;43924:19:97;;1578:45:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:96;;-1:-1:-1;1677:1:96;;-1:-1:-1;1663:16:96;;-1:-1:-1;1663:16:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:96;-1:-1:-1;1713:14:96;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:96;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:96;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:96;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:96;;;;;-1:-1:-1;;;;;1861:11:96;;1094:785::o;1107:186:46:-;1196:1;1191:6;;:1;:6;;;1187:100;;1218:30;1244:3;1218:30;;;;;;:::i;:::-;;;;;;;;1262:14;1271:1;1274;1262:8;:14::i;357:192:95:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:95;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;610:335;555:396::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;47965:2:97;47947:21;;;48004:2;47984:18;;;47977:30;48043:34;48038:2;48023:18;;48016:62;48114:4;48109:2;48094:18;;48087:32;48151:3;48136:19;;47763:398;5293:41:44;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2635:114:93:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;6548:139:58:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:58;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:58;;;;;6612:15;:68::i;5476:178:44:-;5557:1;5552;:6;5548:100;;5579:30;5605:3;5579:30;;;;;;:::i;:::-;;;;;;;;5623:14;5632:1;5635;5623:8;:14::i;4377:185::-;4464:1;4459;:6;4455:101;;4486:31;4513:3;4486:31;;;;;;:::i;:::-;;;;;;;;4531:14;4540:1;4543;4531:8;:14::i;3030:447:93:-;3091:15;-1:-1:-1;;;3126:2:93;:12;3118:53;;;;-1:-1:-1;;;3118:53:93;;49402:2:97;3118:53:93;;;49384:21:97;49441:2;49421:18;;;49414:30;49480;49460:18;;;49453:58;49528:18;;3118:53:93;;;;;;;;;-1:-1:-1;;;;3193:2:93;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:93;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:93;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:48:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:48;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:97;;;20293:33:48;-1:-1:-1;20344:7:48;;;;617:18:97;;20344:19:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:48;;20337:26;;-1:-1:-1;20373:8:48;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;558:39:40;;;160:74:97;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6994:145:58;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:58;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:58;;;;;7061:15;:71::i;789:312:46:-;859:1;854:6;;:1;:6;;;850:245;;881:41;;;;;50743:2:97;50725:21;;;50782:2;50762:18;;;50755:30;50821:34;50816:2;50801:18;;50794:62;50892:4;50887:2;50872:18;;50865:32;50929:3;50914:19;;50541:398;881:41:46;;;;;;;;941:52;972:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:46;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:46;;;;941:52;;;;;;:::i;:::-;;;;;;;;1012;1043:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:46;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:46;;;;1012:52;;;;;;:::i;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;52036:74:97;;;-1:-1:-1;;;52126:18:97;;;52119:34;;;;2712:4:44;52169:18:97;;;52162:34;2489:11:44;;1671:64;2586:43;;52009:18:97;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;181:376:58:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;4095:277:44:-;4163:1;4158;:6;4154:212;;4185:44;;;;;52409:2:97;52391:21;;;52448:2;52428:18;;;52421:30;52487:34;52482:2;52467:18;;52460:62;52558:7;52553:2;52538:18;;52531:35;52598:3;52583:19;;52207:401;4185:44:44;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;2755:269:93:-;2816:15;-1:-1:-1;;;2851:2:93;:13;;2843:66;;;;-1:-1:-1;;;2843:66:93;;53521:2:97;2843:66:93;;;53503:21:97;53560:2;53540:18;;;53533:30;53599:34;53579:18;;;53572:62;53670:10;53650:18;;;53643:38;53698:19;;2843:66:93;53319:404:97;2843:66:93;-1:-1:-1;;;2927:2:93;:12;2919:53;;;;-1:-1:-1;;;2919:53:93;;53930:2:97;2919:53:93;;;53912:21:97;53969:2;53949:18;;;53942:30;54008;53988:18;;;53981:58;54056:18;;2919:53:93;53728:352:97;2919:53:93;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:93:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:97:-;-1:-1:-1;;;;;941:5:97;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:97:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:97;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:97;;1273:484;-1:-1:-1;;;;;1273:484:97:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:97;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:97;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:97:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:97;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:97;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:97;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:97;;;;4211:6;-1:-1:-1;;4240:15:97;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:97;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:97:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:97:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:97;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:97;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:97;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:97;;;;6520:5;-1:-1:-1;;;6548:15:97;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:97;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:97:o;6639:184::-;-1:-1:-1;;;6688:1:97;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:97;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:97:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:97;7514:15;-1:-1:-1;;7510:29:97;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:97;7873:18;;7860:32;;-1:-1:-1;7943:2:97;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:97;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:97;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:97;;8684:803;-1:-1:-1;;;;;;;8684:803:97:o;9762:844::-;9888:6;9896;9904;9912;9920;9973:3;9961:9;9952:7;9948:23;9944:33;9941:53;;;9990:1;9987;9980:12;9941:53;10029:9;10016:23;10048:31;10073:5;10048:31;:::i;:::-;10098:5;-1:-1:-1;10155:2:97;10140:18;;10127:32;10168:33;10127:32;10168:33;:::i;:::-;10220:7;-1:-1:-1;10279:2:97;10264:18;;10251:32;10292:33;10251:32;10292:33;:::i;:::-;10344:7;-1:-1:-1;10403:2:97;10388:18;;10375:32;10416:33;10375:32;10416:33;:::i;:::-;10468:7;-1:-1:-1;10527:3:97;10512:19;;10499:33;10541;10499;10541;:::i;:::-;10593:7;10583:17;;;9762:844;;;;;;;;:::o;10611:383::-;10688:6;10696;10704;10757:2;10745:9;10736:7;10732:23;10728:32;10725:52;;;10773:1;10770;10763:12;10725:52;10812:9;10799:23;10831:31;10856:5;10831:31;:::i;:::-;10881:5;10933:2;10918:18;;10905:32;;-1:-1:-1;10984:2:97;10969:18;;;10956:32;;10611:383;-1:-1:-1;;;10611:383:97:o;10999:252::-;11086:5;11080:12;11075:3;11068:25;11050:3;11139:4;11132:5;11128:16;11122:23;11177:4;11170;11165:3;11161:14;11154:28;11198:47;11239:4;11234:3;11230:14;11216:12;11198:47;:::i;11256:873::-;11457:2;11446:9;11439:21;11502:6;11496:13;11491:2;11480:9;11476:18;11469:41;11420:4;11557;11549:6;11545:17;11539:24;-1:-1:-1;;;;;11678:2:97;11664:12;11660:21;11655:2;11644:9;11640:18;11633:49;11747:2;11741;11733:6;11729:15;11723:22;11719:31;11713:3;11702:9;11698:19;11691:60;;;11800:2;11792:6;11788:15;11782:22;11841:4;11835:3;11824:9;11820:19;11813:33;11869:63;11927:3;11916:9;11912:19;11896:14;11869:63;:::i;:::-;11988:3;11976:16;;11970:23;11963:4;11948:20;;11941:53;12049:3;12037:16;;;12031:23;12025:3;12010:19;;12003:52;-1:-1:-1;;12109:4:97;12094:20;12087:36;11855:77;11256:873::o;12326:388::-;12394:6;12402;12455:2;12443:9;12434:7;12430:23;12426:32;12423:52;;;12471:1;12468;12461:12;12423:52;12510:9;12497:23;12529:31;12554:5;12529:31;:::i;:::-;12579:5;-1:-1:-1;12636:2:97;12621:18;;12608:32;12649:33;12608:32;12649:33;:::i;:::-;12701:7;12691:17;;;12326:388;;;;;:::o;13210:385::-;13296:6;13304;13312;13320;13373:3;13361:9;13352:7;13348:23;13344:33;13341:53;;;13390:1;13387;13380:12;13341:53;-1:-1:-1;;13413:23:97;;;13483:2;13468:18;;13455:32;;-1:-1:-1;13534:2:97;13519:18;;13506:32;;13585:2;13570:18;13557:32;;-1:-1:-1;13210:385:97;-1:-1:-1;13210:385:97:o;14039:184::-;-1:-1:-1;;;14088:1:97;14081:88;14188:4;14185:1;14178:15;14212:4;14209:1;14202:15;14228:274;14268:1;14294;14284:189;;-1:-1:-1;;;14326:1:97;14319:88;14430:4;14427:1;14420:15;14458:4;14455:1;14448:15;14284:189;-1:-1:-1;14487:9:97;;14228:274::o;14809:245::-;14876:6;14929:2;14917:9;14908:7;14904:23;14900:32;14897:52;;;14945:1;14942;14935:12;14897:52;14977:9;14971:16;14996:28;15018:5;14996:28;:::i;15059:437::-;15138:1;15134:12;;;;15181;;;15202:61;;15256:4;15248:6;15244:17;15234:27;;15202:61;15309:2;15301:6;15298:14;15278:18;15275:38;15272:218;;-1:-1:-1;;;15343:1:97;15336:88;15447:4;15444:1;15437:15;15475:4;15472:1;15465:15;15272:218;;15059:437;;;:::o;15501:848::-;15700:2;15689:9;15682:21;15663:4;-1:-1:-1;;;;;15819:2:97;15810:6;15804:13;15800:22;15795:2;15784:9;15780:18;15773:50;15887:2;15881;15873:6;15869:15;15863:22;15859:31;15854:2;15843:9;15839:18;15832:59;15945:2;15937:6;15933:15;15927:22;15922:2;15911:9;15907:18;15900:50;16005:2;15997:6;15993:15;15987:22;15981:3;15970:9;15966:19;15959:51;16065:3;16057:6;16053:16;16047:23;16041:3;16030:9;16026:19;16019:52;16118:3;16110:6;16106:16;16100:23;16160:4;16154:3;16143:9;16139:19;16132:33;16188:61;16244:3;16233:9;16229:19;16215:12;16188:61;:::i;:::-;16174:75;;16316:2;16309:3;16301:6;16297:16;16291:23;16287:32;16280:4;16269:9;16265:20;16258:62;16337:6;16329:14;;;;15501:848;;;;:::o;16354:138::-;16433:13;;16455:31;16433:13;16455:31;:::i;16497:251::-;16567:6;16620:2;16608:9;16599:7;16595:23;16591:32;16588:52;;;16636:1;16633;16626:12;16588:52;16668:9;16662:16;16687:31;16712:5;16687:31;:::i;16753:184::-;16823:6;16876:2;16864:9;16855:7;16851:23;16847:32;16844:52;;;16892:1;16889;16882:12;16844:52;-1:-1:-1;16915:16:97;;16753:184;-1:-1:-1;16753:184:97:o;16942:218::-;17089:2;17078:9;17071:21;17052:4;17109:45;17150:2;17139:9;17135:18;17127:6;17109:45;:::i;18859:184::-;-1:-1:-1;;;18908:1:97;18901:88;19008:4;19005:1;18998:15;19032:4;19029:1;19022:15;19048:1065;19490:4;19519:3;19549:2;19538:9;19531:21;19575:56;19627:2;19616:9;19612:18;19604:6;19575:56;:::i;:::-;19662:2;19647:18;;;19640:34;;;;-1:-1:-1;;;;;19771:15:97;;;19766:2;19751:18;;19744:43;19823:22;;;19818:2;19803:18;;19796:50;-1:-1:-1;19855:17:97;;19941:15;;;19935:3;19920:19;;19913:44;-1:-1:-1;;19994:15:97;;;19988:3;19973:19;;19966:44;20041:3;20026:19;;20019:35;;;;20091:15;;;20085:3;20070:19;;;20063:44;;;;19889:15;;19048:1065;-1:-1:-1;19048:1065:97:o;20118:806::-;20357:2;20409:21;;;20479:13;;20382:18;;;20501:22;;;20328:4;;20357:2;20542;;20560:18;;;;20601:15;;;20328:4;20644:254;20658:6;20655:1;20652:13;20644:254;;;20717:13;;20755:9;;20743:22;;20805:11;;20799:18;20785:12;;;20778:40;20838:12;;;;20873:15;;;;20680:1;20673:9;20644:254;;;-1:-1:-1;20915:3:97;;20118:806;-1:-1:-1;;;;;;;20118:806:97:o;22010:168::-;22083:9;;;22114;;22131:15;;;22125:22;;22111:37;22101:71;;22152:18;;:::i;22183:125::-;22248:9;;;22269:10;;;22266:36;;;22282:18;;:::i;22505:159::-;22596:13;;22638:1;22628:12;;22618:40;;22654:1;22651;22644:12;22669:1237;22876:6;22884;22892;22900;22908;22916;22924;22932;22940;22948;22956:7;22965;23019:3;23007:9;22998:7;22994:23;22990:33;22987:53;;;23036:1;23033;23026:12;22987:53;23068:9;23062:16;23087:31;23112:5;23087:31;:::i;:::-;23187:2;23172:18;;23166:25;23137:5;;-1:-1:-1;23200:33:97;23166:25;23200:33;:::i;:::-;23304:2;23289:18;;23283:25;23252:7;;-1:-1:-1;23317:33:97;23283:25;23317:33;:::i;:::-;23369:7;23359:17;;;23416:2;23405:9;23401:18;23395:25;23385:35;;23460:3;23449:9;23445:19;23439:26;23429:36;;23510:3;23499:9;23495:19;23489:26;23546:1;23537:7;23534:14;23524:42;;23562:1;23559;23552:12;23524:42;23585:7;-1:-1:-1;23611:62:97;23668:3;23653:19;;23611:62;:::i;:::-;23601:72;;23713:3;23702:9;23698:19;23692:26;23682:36;;23758:3;23747:9;23743:19;23737:26;23727:36;;23803:3;23792:9;23788:19;23782:26;23772:36;;23849:3;23838:9;23834:19;23828:26;23817:37;;23895:3;23884:9;23880:19;23874:26;23863:37;;22669:1237;;;;;;;;;;;;;;:::o;24117:184::-;-1:-1:-1;;;24166:1:97;24159:88;24266:4;24263:1;24256:15;24290:4;24287:1;24280:15;24306:140;24387:1;24380:5;24377:12;24367:46;;24393:18;;:::i;:::-;24422;;24306:140::o;24451:1037::-;24858:4;24887:3;-1:-1:-1;;;;;24990:2:97;24982:6;24978:15;24967:9;24960:34;25030:6;25025:2;25014:9;25010:18;25003:34;25073:2;25068;25057:9;25053:18;25046:30;25093:45;25134:2;25123:9;25119:18;25111:6;25093:45;:::i;:::-;25085:53;;25147;25196:2;25185:9;25181:18;25173:6;25147:53;:::i;:::-;25231:3;25216:19;;25209:35;;;;-1:-1:-1;25275:3:97;25260:19;;25253:35;;;;25319:3;25304:19;;25297:35;;;;25369:15;;;25363:3;25348:19;;25341:44;25422:15;;;25416:3;25401:19;;25394:44;25469:3;25454:19;25447:35;;;;24451:1037;;-1:-1:-1;;;;24451:1037:97:o;25493:320::-;25568:5;25597:52;25613:35;25641:6;25613:35;:::i;25597:52::-;25588:61;;25672:6;25665:5;25658:21;25712:3;25703:6;25698:3;25694:16;25691:25;25688:45;;;25729:1;25726;25719:12;25688:45;25742:65;25800:6;25793:4;25786:5;25782:16;25777:3;25742:65;:::i;25818:457::-;25897:6;25950:2;25938:9;25929:7;25925:23;25921:32;25918:52;;;25966:1;25963;25956:12;25918:52;25999:9;25993:16;26032:18;26024:6;26021:30;26018:50;;;26064:1;26061;26054:12;26018:50;26087:22;;26140:4;26132:13;;26128:27;-1:-1:-1;26118:55:97;;26169:1;26166;26159:12;26118:55;26192:77;26261:7;26256:2;26250:9;26245:2;26241;26237:11;26192:77;:::i;26533:395::-;26619:6;26627;26635;26688:2;26676:9;26667:7;26663:23;26659:32;26656:52;;;26704:1;26701;26694:12;26656:52;26736:9;26730:16;26786:4;26779:5;26775:16;26768:5;26765:27;26755:55;;26806:1;26803;26796:12;26755:55;26874:2;26859:18;;26853:25;26918:2;26903:18;;;26897:25;26829:5;;26853:25;;-1:-1:-1;26897:25:97;26533:395;-1:-1:-1;;;26533:395:97:o;27329:1135::-;27762:4;27791:3;-1:-1:-1;;;;;27894:2:97;27886:6;27882:15;27871:9;27864:34;27934:6;27929:2;27918:9;27914:18;27907:34;27977:2;27972;27961:9;27957:18;27950:30;28003:45;28044:2;28033:9;28029:18;28021:6;28003:45;:::i;:::-;27989:59;;28057:53;28106:2;28095:9;28091:18;28083:6;28057:53;:::i;:::-;28147:6;28141:3;28130:9;28126:19;28119:35;28191:6;28185:3;28174:9;28170:19;28163:35;28235:6;28229:3;28218:9;28214:19;28207:35;28291:2;28283:6;28279:15;28273:3;28262:9;28258:19;28251:44;28344:2;28336:6;28332:15;28326:3;28315:9;28311:19;28304:44;;28397:9;28389:6;28385:22;28379:3;28368:9;28364:19;28357:51;28425:33;28451:6;28443;28425:33;:::i;:::-;28417:41;27329:1135;-1:-1:-1;;;;;;;;;;;;;27329:1135:97:o;28469:795::-;28627:4;28669:3;28658:9;28654:19;28646:27;;28706:6;28700:13;28689:9;28682:32;28770:4;28762:6;28758:17;28752:24;28745:4;28734:9;28730:20;28723:54;28824:4;28816:6;28812:17;28806:24;-1:-1:-1;;;;;28947:2:97;28933:12;28929:21;28922:4;28911:9;28907:20;28900:51;29000:4;28992:6;28988:17;28982:24;28960:46;;29044:1;29028:14;29025:21;29015:55;;29050:18;;:::i;:::-;29108:14;29101:4;29090:9;29086:20;29079:44;29179:4;29171:6;29167:17;29161:24;29154:4;29143:9;29139:20;29132:54;29254:2;29246:4;29238:6;29234:17;29228:24;29224:33;29217:4;29206:9;29202:20;29195:63;;;28469:795;;;;:::o;29961:493::-;30214:6;30203:9;30196:25;30257:2;30252;30241:9;30237:18;30230:30;30177:4;30283:56;30335:2;30324:9;30320:18;30312:6;30283:56;:::i;:::-;30387:9;30379:6;30375:22;30370:2;30359:9;30355:18;30348:50;30415:33;30441:6;30433;30415:33;:::i;:::-;30407:41;29961:493;-1:-1:-1;;;;;;29961:493:97:o;30968:887::-;31392:6;31381:9;31374:25;31435:3;31430:2;31419:9;31415:18;31408:31;31355:4;31462:50;31507:3;31496:9;31492:19;30877:2;30865:15;;30912:16;30905:4;30896:14;;30889:40;30954:2;30945:12;;30800:163;31462:50;31560:9;31552:6;31548:22;31543:2;31532:9;31528:18;31521:50;31594:42;31629:6;31621;31594:42;:::i;:::-;31580:56;;-1:-1:-1;;;;;31676:6:97;31672:55;31667:2;31656:9;31652:18;31645:83;31777:9;31769:6;31765:22;31759:3;31748:9;31744:19;31737:51;31805:44;31842:6;31834;31805:44;:::i;:::-;31797:52;30968:887;-1:-1:-1;;;;;;;30968:887:97:o;32866:1834::-;33288:6;33277:9;33270:25;33251:4;33314:2;-1:-1:-1;;;;;33425:2:97;33417:6;33413:15;33408:2;33397:9;33393:18;33386:43;33465:3;33460:2;33449:9;33445:18;33438:31;33492:46;33533:3;33522:9;33518:19;33510:6;33492:46;:::i;:::-;33557:2;33607;33599:6;33595:15;33590:2;33579:9;33575:18;33568:43;33648:6;33642:3;33631:9;33627:19;33620:35;33704:9;33696:6;33692:22;33686:3;33675:9;33671:19;33664:51;33745:6;33739:13;33731:6;33724:29;33772:4;33762:14;;33817:2;33809:6;33805:15;33853:2;33848;33840:6;33836:15;33829:27;33876:1;33909:12;33903:19;33945:36;33971:9;33945:36;:::i;:::-;34014:6;34009:2;34001:6;33997:15;33990:31;34052:2;34041:9;34037:18;34069:1;34064:152;;;;34230:1;34225:354;;;;34030:549;;34064:152;-1:-1:-1;;34109:24:97;;34092:15;;;34085:49;34184:14;;34177:22;34174:1;34170:30;34158:43;;34154:52;;;-1:-1:-1;34064:152:97;;34225:354;34256:12;34253:1;34246:23;34310:2;34307:1;34297:16;34335:1;34349:177;34363:6;34360:1;34357:13;34349:177;;;34453:14;;34432;;;34428:23;;34421:47;34496:16;;;;34378:10;;34349:177;;;34550:14;;34546:23;;;-1:-1:-1;;34030:549:97;;;;34625:9;34620:3;34616:19;34610:3;34599:9;34595:19;34588:48;34653:41;34690:3;34682:6;34653:41;:::i;:::-;34645:49;32866:1834;-1:-1:-1;;;;;;;;;;;;;;;32866:1834:97:o;34705:236::-;34759:5;34812:3;34805:4;34797:6;34793:17;34789:27;34779:55;;34830:1;34827;34820:12;34779:55;34852:83;34931:3;34922:6;34916:13;34909:4;34901:6;34897:17;34852:83;:::i;34946:618::-;35012:5;35060:4;35048:9;35043:3;35039:19;35035:30;35032:50;;;35078:1;35075;35068:12;35032:50;35111:4;35105:11;35155:4;35147:6;35143:17;35179:18;35247:6;35235:10;35232:22;35227:2;35215:10;35212:18;35209:46;35206:72;;;35258:18;;:::i;:::-;35300:10;35294:4;35287:24;35329:6;35320:15;;35365:9;35359:16;35351:6;35344:32;35420:2;35409:9;35405:18;35399:25;35385:39;;35447:2;35439:6;35436:14;35433:34;;;35463:1;35460;35453:12;35433:34;;35500:57;35553:3;35544:6;35533:9;35529:22;35500:57;:::i;:::-;35495:2;35487:6;35483:15;35476:82;;;34946:618;;;;:::o;35569:1028::-;35661:6;35714:2;35702:9;35693:7;35689:23;35685:32;35682:52;;;35730:1;35727;35720:12;35682:52;35763:9;35757:16;35792:18;35833:2;35825:6;35822:14;35819:34;;;35849:1;35846;35839:12;35819:34;35872:22;;;;35928:4;35910:16;;;35906:27;35903:47;;;35946:1;35943;35936:12;35903:47;35972:22;;:::i;:::-;36023:2;36017:9;36010:5;36003:24;36065:2;36061;36057:11;36051:18;36078:33;36103:7;36078:33;:::i;:::-;36138:2;36127:14;;36120:31;36189:2;36181:11;;36175:18;36202:33;36175:18;36202:33;:::i;:::-;36262:2;36251:14;;36244:31;36314:2;36306:11;;36300:18;36330:16;;;36327:36;;;36359:1;36356;36349:12;36327:36;36395:65;36452:7;36441:8;36437:2;36433:17;36395:65;:::i;:::-;36390:2;36383:5;36379:14;36372:89;;36508:3;36504:2;36500:12;36494:19;36488:3;36481:5;36477:15;36470:44;36561:3;36557:2;36553:12;36547:19;36541:3;36534:5;36530:15;36523:44;36586:5;36576:15;;;;;35569:1028;;;;:::o;37157:430::-;-1:-1:-1;;;;;;37346:6:97;37342:79;37337:3;37330:92;37312:3;37451:6;37445:13;37467:74;37534:6;37530:1;37525:3;37521:11;37514:4;37506:6;37502:17;37467:74;:::i;:::-;37561:16;;;;37579:1;37557:24;;37157:430;-1:-1:-1;;;37157:430:97:o;37592:287::-;37721:3;37759:6;37753:13;37775:66;37834:6;37829:3;37822:4;37814:6;37810:17;37775:66;:::i;:::-;37857:16;;;;;37592:287;-1:-1:-1;;37592:287:97:o;38534:128::-;38601:9;;;38622:11;;;38619:37;;;38636:18;;:::i;39559:1059::-;39654:6;39707:2;39695:9;39686:7;39682:23;39678:32;39675:52;;;39723:1;39720;39713:12;39675:52;39756:9;39750:16;39785:18;39826:2;39818:6;39815:14;39812:34;;;39842:1;39839;39832:12;39812:34;39865:22;;;;39921:4;39903:16;;;39899:27;39896:47;;;39939:1;39936;39929:12;39896:47;39965:22;;:::i;:::-;40016:2;40010:9;40003:5;39996:24;40066:2;40062;40058:11;40052:18;40047:2;40040:5;40036:14;40029:42;40110:2;40106;40102:11;40096:18;40139:2;40129:8;40126:16;40123:36;;;40155:1;40152;40145:12;40123:36;40191:56;40239:7;40228:8;40224:2;40220:17;40191:56;:::i;:::-;40186:2;40179:5;40175:14;40168:80;;40287:2;40283;40279:11;40273:18;40316:2;40306:8;40303:16;40300:36;;;40332:1;40329;40322:12;40300:36;40368:65;40425:7;40414:8;40410:2;40406:17;40368:65;:::i;:::-;40363:2;40356:5;40352:14;40345:89;;40467:43;40505:3;40501:2;40497:12;40467:43;:::i;:::-;40461:3;40454:5;40450:15;40443:68;40544:43;40582:3;40578:2;40574:12;40544:43;:::i;:::-;40538:3;40527:15;;40520:68;40531:5;39559:1059;-1:-1:-1;;;;;39559:1059:97:o;40623:896::-;41047:6;41036:9;41029:25;41090:3;41085:2;41074:9;41070:18;41063:31;41131:1;41125:3;41114:9;41110:19;41103:30;41170:11;41164:3;41153:9;41149:19;41142:40;41218:3;41213:2;41202:9;41198:18;41191:31;41010:4;41245:55;41295:3;41284:9;41280:19;41272:6;41245:55;:::i;:::-;-1:-1:-1;;;;;41340:6:97;41336:55;41331:2;41320:9;41316:18;41309:83;41441:9;41433:6;41429:22;41423:3;41412:9;41408:19;41401:51;41469:44;41506:6;41498;41469:44;:::i;41524:896::-;41948:6;41937:9;41930:25;41991:3;41986:2;41975:9;41971:18;41964:31;42032:1;42026:3;42015:9;42011:19;42004:30;42071:11;42065:3;42054:9;42050:19;42043:40;42119:3;42114:2;42103:9;42099:18;42092:31;41911:4;42146:55;42196:3;42185:9;42181:19;42173:6;42146:55;:::i;43954:446::-;44204:2;44193:9;44186:21;44243:1;44238:2;44227:9;44223:18;44216:29;44281:7;44276:2;44265:9;44261:18;44254:35;44327:3;44320:4;44309:9;44305:20;44298:33;44167:4;44348:46;44389:3;44378:9;44374:19;44366:6;44348:46;:::i;44405:545::-;44507:2;44502:3;44499:11;44496:448;;;44543:1;44568:5;44564:2;44557:17;44613:4;44609:2;44599:19;44683:2;44671:10;44667:19;44664:1;44660:27;44654:4;44650:38;44719:4;44707:10;44704:20;44701:47;;;-1:-1:-1;44742:4:97;44701:47;44797:2;44792:3;44788:12;44785:1;44781:20;44775:4;44771:31;44761:41;;44852:82;44870:2;44863:5;44860:13;44852:82;;;44915:17;;;44896:1;44885:13;44852:82;;45126:1352;45252:3;45246:10;45279:18;45271:6;45268:30;45265:56;;;45301:18;;:::i;:::-;45330:97;45420:6;45380:38;45412:4;45406:11;45380:38;:::i;:::-;45374:4;45330:97;:::i;:::-;45482:4;;45546:2;45535:14;;45563:1;45558:663;;;;46265:1;46282:6;46279:89;;;-1:-1:-1;46334:19:97;;;46328:26;46279:89;-1:-1:-1;;45083:1:97;45079:11;;;45075:24;45071:29;45061:40;45107:1;45103:11;;;45058:57;46381:81;;45528:944;;45558:663;32813:1;32806:14;;;32850:4;32837:18;;-1:-1:-1;;45594:20:97;;;45712:236;45726:7;45723:1;45720:14;45712:236;;;45815:19;;;45809:26;45794:42;;45907:27;;;;45875:1;45863:14;;;;45742:19;;45712:236;;;45716:3;45976:6;45967:7;45964:19;45961:201;;;46037:19;;;46031:26;-1:-1:-1;;46120:1:97;46116:14;;;46132:3;46112:24;46108:37;46104:42;46089:58;46074:74;;45961:201;-1:-1:-1;;;;;46208:1:97;46192:14;;;46188:22;46175:36;;-1:-1:-1;45126:1352:97:o;46483:979::-;46712:3;46741:1;46774:6;46768:13;46804:36;46830:9;46804:36;:::i;:::-;46859:1;46876:18;;;46903:133;;;;47050:1;47045:356;;;;46869:532;;46903:133;-1:-1:-1;;46936:24:97;;46924:37;;47009:14;;47002:22;46990:35;;46981:45;;;-1:-1:-1;46903:133:97;;47045:356;47076:6;47073:1;47066:17;47106:4;47151:2;47148:1;47138:16;47176:1;47190:165;47204:6;47201:1;47198:13;47190:165;;;47282:14;;47269:11;;;47262:35;47325:16;;;;47219:10;;47190:165;;;47194:3;;;47384:6;47379:3;47375:16;47368:23;;46869:532;-1:-1:-1;;47422:6:97;47410:19;;-1:-1:-1;;47454:1:97;47445:11;;46483:979;-1:-1:-1;;;46483:979:97:o;47467:291::-;47644:2;47633:9;47626:21;47607:4;47664:45;47705:2;47694:9;47690:18;47682:6;47664:45;:::i;:::-;47656:53;;47745:6;47740:2;47729:9;47725:18;47718:34;47467:291;;;;;:::o;48330:348::-;48560:2;48549:9;48542:21;48523:4;48580:49;48625:2;48614:9;48610:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:97;48262:14;;48255:36;48316:2;48307:12;;48166:159;48580:49;48572:57;;48665:6;48660:2;48649:9;48645:18;48638:34;48330:348;;;;:::o;48847:::-;49077:2;49066:9;49059:21;49040:4;49097:49;49142:2;49131:9;49127:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:97;48779:14;;48772:36;48833:2;48824:12;;48683:159;49851:340;-1:-1:-1;;;;;50032:6:97;50028:55;50017:9;50010:74;50120:2;50115;50104:9;50100:18;50093:30;49991:4;50140:45;50181:2;50170:9;50166:18;50158:6;50140:45;:::i;50196:340::-;50373:2;50362:9;50355:21;50336:4;50393:45;50434:2;50423:9;50419:18;50411:6;50393:45;:::i;:::-;50385:53;;-1:-1:-1;;;;;50478:6:97;50474:55;50469:2;50458:9;50454:18;50447:83;50196:340;;;;;:::o;50944:440::-;51194:2;51183:9;51176:21;51157:4;51220:49;51265:2;51254:9;51250:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:97;48262:14;;48255:36;48316:2;48307:12;;48166:159;51220:49;51317:9;51309:6;51305:22;51300:2;51289:9;51285:18;51278:50;51345:33;51371:6;51363;51345:33;:::i;51389:440::-;51639:2;51628:9;51621:21;51602:4;51665:49;51710:2;51699:9;51695:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:97;48779:14;;48772:36;48833:2;48824:12;;48683:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","POOL_AMOUNT()":"beda3db3","REQUESTED_AMOUNT()":"879ee88c","TOTAL_SUPPLY()":"902d55a5","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","_createProposal(address,uint256,uint256)":"b188bdc4","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","disabled_test_threshold_check_as_js_test()":"a6f2b82f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getBalance(address,address)":"d4fac45d","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testRevert_allocate_ProposalIdDuplicated()":"2da49647","testRevert_allocate_UserNotInRegistry()":"bc1687c0","testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW()":"d97d0578","testRevert_registerRecipient_ProposalIdAlreadyExist()":"9a45ff89","test_1_proposalSupported()":"757e122d","test_activate_points()":"136994c0","test_allocate_proposalSupport_empty_array()":"39b7e525","test_conviction_check_as_js_test()":"90ff95a4","test_conviction_check_function()":"de8a1354","test_deactivate_points()":"0ef639f6","test_distribute_native_token()":"8cf86e50","test_distribute_signaling_proposal()":"eaeb7195","test_proposalSupported_change_support()":"d25bba07","test_proposalSupported_conviction_threshold_2_users()":"503c712e","test_total_staked_amount()":"61164d4e","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTED_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"poolAmount\",\"type\":\"uint256\"}],\"name\":\"_createProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"pool\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled_test_threshold_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_ProposalIdDuplicated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_UserNotInRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_registerRecipient_ProposalIdAlreadyExist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_1_proposalSupported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_activate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_allocate_proposalSupport_empty_array\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_function\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_deactivate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_native_token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_signaling_proposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_change_support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_conviction_threshold_2_users\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_total_staked_amount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"_createProposal(address,uint256,uint256)\":{\"notice\":\"HELPERS FUNCTIONS\"},\"testRevert_allocate_ProposalIdDuplicated()\":{\"notice\":\"TESTS\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyTest.t.sol\":\"CVStrategyTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/CVStrategyTest.t.sol\":{\"keccak256\":\"0x7e865446db48b61d72c2fe1c7992cf2dd13ee4a0db0fec988343e2a9b845fae8\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://447621470dc57903eec8cd30eb0aae6ee08e89b50d894df453454aeedc159f78\",\"dweb:/ipfs/QmbusjBMCVv1yx9qy5UeA89YmJBHdRdXqBKj18iD1gQ2zg\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUESTED_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_tokenPool","type":"address"},{"internalType":"uint256","name":"requestAmount","type":"uint256"},{"internalType":"uint256","name":"poolAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"_createProposal","outputs":[{"internalType":"struct IAllo.Pool","name":"pool","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]},{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disabled_test_threshold_check_as_js_test"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_ProposalIdDuplicated"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_UserNotInRegistry"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_1_proposalSupported"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_activate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_allocate_proposalSupport_empty_array"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_as_js_test"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_function"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_deactivate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_native_token"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_signaling_proposal"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_change_support"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_conviction_threshold_2_users"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_total_staked_amount"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"_createProposal(address,uint256,uint256)":{"notice":"HELPERS FUNCTIONS"},"testRevert_allocate_ProposalIdDuplicated()":{"notice":"TESTS"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyTest.t.sol":"CVStrategyTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/CVStrategyTest.t.sol":{"keccak256":"0x7e865446db48b61d72c2fe1c7992cf2dd13ee4a0db0fec988343e2a9b845fae8","urls":["bzz-raw://447621470dc57903eec8cd30eb0aae6ee08e89b50d894df453454aeedc159f78","dweb:/ipfs/QmbusjBMCVv1yx9qy5UeA89YmJBHdRdXqBKj18iD1gQ2zg"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyTest.t.sol","id":64040,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[59653],"CVStrategyHelpers":[60835],"CVStrategyTest":[64039],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[64113],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[59700],"RegistryGardens":[60468],"RegistrySetupFull":[9534],"SafeSetup":[64494],"StdAssertions":[14008],"StdChains":[14772],"StdCheats":[17625],"StdInvariant":[17950],"StdStorage":[18716],"StdStyle":[21566],"StdUtils":[22352],"Test":[22403],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24254],"console":[32318],"console2":[40443],"safeconsole":[54783],"stdError":[17691],"stdJson":[18542],"stdMath":[18684],"stdStorage":[20355]},"nodeType":"SourceUnit","src":"39:30904:94","nodes":[{"id":60837,"nodeType":"PragmaDirective","src":"39:24:94","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":60838,"nodeType":"ImportDirective","src":"65:28:94","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":22404,"symbolAliases":[],"unitAlias":""},{"id":60839,"nodeType":"ImportDirective","src":"94:31:94","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":32319,"symbolAliases":[],"unitAlias":""},{"id":60840,"nodeType":"ImportDirective","src":"126:56:94","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":60842,"nodeType":"ImportDirective","src":"184:66:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":60841,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"192:5:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60844,"nodeType":"ImportDirective","src":"251:74:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":60843,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"259:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60846,"nodeType":"ImportDirective","src":"344:53:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":60845,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"352:4:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60848,"nodeType":"ImportDirective","src":"398:61:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":60847,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"406:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60850,"nodeType":"ImportDirective","src":"482:67:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":60849,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"490:6:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60852,"nodeType":"ImportDirective","src":"550:71:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":60851,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"558:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60854,"nodeType":"ImportDirective","src":"622:67:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":60853,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"630:6:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60856,"nodeType":"ImportDirective","src":"708:68:94","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":60855,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"716:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60858,"nodeType":"ImportDirective","src":"777:80:94","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":60857,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"785:17:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60860,"nodeType":"ImportDirective","src":"858:65:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":60859,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"866:12:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60862,"nodeType":"ImportDirective","src":"924:65:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":60861,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"932:12:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60864,"nodeType":"ImportDirective","src":"990:59:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":60863,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"998:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60866,"nodeType":"ImportDirective","src":"1051:49:94","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":59654,"symbolAliases":[{"foreign":{"id":60865,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"1059:10:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60868,"nodeType":"ImportDirective","src":"1101:59:94","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":60469,"symbolAliases":[{"foreign":{"id":60867,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"1109:15:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60870,"nodeType":"ImportDirective","src":"1161:59:94","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":59701,"symbolAliases":[{"foreign":{"id":60869,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59700,"src":"1169:15:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60872,"nodeType":"ImportDirective","src":"1222:53:94","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":64114,"symbolAliases":[{"foreign":{"id":60871,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64113,"src":"1230:11:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60874,"nodeType":"ImportDirective","src":"1276:49:94","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":64495,"symbolAliases":[{"foreign":{"id":60873,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64494,"src":"1284:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60876,"nodeType":"ImportDirective","src":"1326:58:94","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":64040,"sourceUnit":60836,"symbolAliases":[{"foreign":{"id":60875,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60835,"src":"1334:17:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64039,"nodeType":"ContractDefinition","src":"1525:29417:94","nodes":[{"id":60893,"nodeType":"VariableDeclaration","src":"1644:22:94","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1661:5:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":60892,"nodeType":"UserDefinedTypeName","pathNode":{"id":60891,"name":"MockERC20","nameLocations":["1644:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1644:9:94"},"referencedDeclaration":9751,"src":"1644:9:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":60896,"nodeType":"VariableDeclaration","src":"1672:33:94","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1687:10:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60894,"name":"uint256","nodeType":"ElementaryTypeName","src":"1672:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":60895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":60899,"nodeType":"VariableDeclaration","src":"1711:44:94","nodes":[],"constant":true,"functionSelector":"902d55a5","mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1735:12:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60897,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3435303030","id":60898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1750:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"visibility":"public"},{"id":60902,"nodeType":"VariableDeclaration","src":"1761:43:94","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1785:11:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60900,"name":"uint256","nodeType":"ElementaryTypeName","src":"1761:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":60901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":60905,"nodeType":"VariableDeclaration","src":"1810:42:94","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1834:13:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60903,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":60904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1850:2:94","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":60908,"nodeType":"VariableDeclaration","src":"1858:47:94","nodes":[],"constant":true,"functionSelector":"879ee88c","mutability":"constant","name":"REQUESTED_AMOUNT","nameLocation":"1882:16:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60906,"name":"uint256","nodeType":"ElementaryTypeName","src":"1858:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":60907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1901:4:94","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":60911,"nodeType":"VariableDeclaration","src":"1912:40:94","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1937:15:94","scope":64039,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"},"typeName":{"id":60910,"nodeType":"UserDefinedTypeName","pathNode":{"id":60909,"name":"RegistryGardens","nameLocations":["1912:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":60468,"src":"1912:15:94"},"referencedDeclaration":60468,"src":"1912:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":61094,"nodeType":"FunctionDefinition","src":"1959:1152:94","nodes":[],"body":{"id":61093,"nodeType":"Block","src":"1983:1128:94","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60914,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1993:19:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":60915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60916,"nodeType":"ExpressionStatement","src":"1993:21:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60920,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"2044:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":60921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":60919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2036:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60918,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:94","typeDescriptions":{}}},"id":60922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2036:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60917,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"2024:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2024:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60924,"nodeType":"ExpressionStatement","src":"2024:32:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60928,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2081:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2081:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2067:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2070:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"2067:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2067:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60931,"nodeType":"ExpressionStatement","src":"2067:27:94"},{"expression":{"arguments":[{"hexValue":"30","id":60935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60932,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2104:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2111:13:94","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2104:20:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60937,"nodeType":"ExpressionStatement","src":"2104:23:94"},{"expression":{"arguments":[{"hexValue":"30","id":60941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60938,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2137:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:16:94","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2137:23:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60943,"nodeType":"ExpressionStatement","src":"2137:26:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2173:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"2173:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":60947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60948,"nodeType":"ExpressionStatement","src":"2173:14:94"},{"expression":{"id":60954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60949,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2198:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":60952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2206:13:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":60951,"nodeType":"UserDefinedTypeName","pathNode":{"id":60950,"name":"MockERC20","nameLocations":["2210:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2210:9:94"},"referencedDeclaration":9751,"src":"2210:9:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":60953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2206:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2198:23:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60955,"nodeType":"ExpressionStatement","src":"2198:23:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60959,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2242:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":60961,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60899,"src":"2251:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":60962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2251:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60956,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2231:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2231:10:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60965,"nodeType":"ExpressionStatement","src":"2231:37:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60969,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2289:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":60971,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60899,"src":"2303:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":60972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2318:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2303:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60966,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2278:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2278:10:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60975,"nodeType":"ExpressionStatement","src":"2278:42:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60981,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2352:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":60980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2344:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60979,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:94","typeDescriptions":{}}},"id":60983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60984,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60896,"src":"2361:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60976,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2330:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2336:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2330:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":60985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2330:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60986,"nodeType":"ExpressionStatement","src":"2330:42:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60990,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2397:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2397:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60987,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2383:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2386:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"2383:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2383:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60993,"nodeType":"ExpressionStatement","src":"2383:27:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60997,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2445:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60994,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2420:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2427:17:94","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2420:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":60999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61000,"nodeType":"ExpressionStatement","src":"2420:33:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2463:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"2463:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2463:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61005,"nodeType":"ExpressionStatement","src":"2463:14:94"},{"assignments":[61008],"declarations":[{"constant":false,"id":61008,"mutability":"mutable","name":"registryFactory","nameLocation":"2556:15:94","nodeType":"VariableDeclaration","scope":61093,"src":"2540:31:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"},"typeName":{"id":61007,"nodeType":"UserDefinedTypeName","pathNode":{"id":61006,"name":"RegistryFactory","nameLocations":["2540:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":59700,"src":"2540:15:94"},"referencedDeclaration":59700,"src":"2540:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":61013,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":61011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2574:19:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$59700_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":61010,"nodeType":"UserDefinedTypeName","pathNode":{"id":61009,"name":"RegistryFactory","nameLocations":["2578:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":59700,"src":"2578:15:94"},"referencedDeclaration":59700,"src":"2578:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}}},"id":61012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2574:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2540:55:94"},{"assignments":[61018],"declarations":[{"constant":false,"id":61018,"mutability":"mutable","name":"params","nameLocation":"2645:6:94","nodeType":"VariableDeclaration","scope":61093,"src":"2605:46:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":61017,"nodeType":"UserDefinedTypeName","pathNode":{"id":61016,"name":"RegistryGardens.InitializeParams","nameLocations":["2605:15:94","2621:16:94"],"nodeType":"IdentifierPath","referencedDeclaration":59873,"src":"2605:32:94"},"referencedDeclaration":59873,"src":"2605:32:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":61019,"nodeType":"VariableDeclarationStatement","src":"2605:46:94"},{"expression":{"id":61028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61020,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2661:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2668:5:94","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":59858,"src":"2661:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61025,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2684:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2684:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2676:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61023,"name":"address","nodeType":"ElementaryTypeName","src":"2676:7:94","typeDescriptions":{}}},"id":61027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2676:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2661:30:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61029,"nodeType":"ExpressionStatement","src":"2661:30:94"},{"expression":{"id":61039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61030,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2701:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2708:12:94","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":59861,"src":"2701:19:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61036,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2738:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":61035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2730:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61034,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:94","typeDescriptions":{}}},"id":61037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61033,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2723:6:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":61038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2723:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2701:44:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":61040,"nodeType":"ExpressionStatement","src":"2701:44:94"},{"expression":{"id":61045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61041,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2755:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:19:94","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":59863,"src":"2755:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61044,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"2784:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2755:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61046,"nodeType":"ExpressionStatement","src":"2755:42:94"},{"expression":{"id":61051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61047,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2807:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2814:12:94","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":59865,"src":"2807:19:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":61050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2829:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2807:23:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61052,"nodeType":"ExpressionStatement","src":"2807:23:94"},{"expression":{"id":61057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61053,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2840:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2847:9:94","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":59870,"src":"2840:16:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61056,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60493,"src":"2859:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2840:27:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":61058,"nodeType":"ExpressionStatement","src":"2840:27:94"},{"expression":{"id":61070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61059,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2877:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2884:12:94","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":59872,"src":"2877:19:94","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61066,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64395,"src":"2915:12:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55905_$","typeString":"function () returns (contract Safe)"}},"id":61067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55905","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55905","typeString":"contract Safe"}],"id":61065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2907:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61064,"name":"address","nodeType":"ElementaryTypeName","src":"2907:7:94","typeDescriptions":{}}},"id":61068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2907:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2899:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61062,"name":"address","nodeType":"ElementaryTypeName","src":"2899:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2877:54:94","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61071,"nodeType":"ExpressionStatement","src":"2877:54:94"},{"expression":{"id":61079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61072,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"2941:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61076,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"3006:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":61074,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61008,"src":"2975:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"id":61075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:14:94","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":59699,"src":"2975:30:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$59873_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":61077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2975:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61073,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"2959:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":61078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2959:55:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"src":"2941:73:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":61080,"nodeType":"ExpressionStatement","src":"2941:73:94"},{"expression":{"arguments":[{"arguments":[{"id":61086,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3047:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":61085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3039:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61084,"name":"address","nodeType":"ElementaryTypeName","src":"3039:7:94","typeDescriptions":{}}},"id":61087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3039:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61088,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3065:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":61089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:20:94","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60385,"src":"3065:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":61090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61081,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"3025:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3031:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3025:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:79:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61092,"nodeType":"ExpressionStatement","src":"3025:79:94"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1968:5:94","parameters":{"id":60912,"nodeType":"ParameterList","parameters":[],"src":"1973:2:94"},"returnParameters":{"id":60913,"nodeType":"ParameterList","parameters":[],"src":"1983:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61103,"nodeType":"FunctionDefinition","src":"3117:107:94","nodes":[],"body":{"id":61102,"nodeType":"Block","src":"3185:39:94","nodes":[],"statements":[{"expression":{"id":61100,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3202:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"functionReturnParameters":61099,"id":61101,"nodeType":"Return","src":"3195:22:94"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3126:16:94","parameters":{"id":61095,"nodeType":"ParameterList","parameters":[],"src":"3142:2:94"},"returnParameters":{"id":61099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61103,"src":"3168:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"},"typeName":{"id":61097,"nodeType":"UserDefinedTypeName","pathNode":{"id":61096,"name":"RegistryGardens","nameLocations":["3168:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":60468,"src":"3168:15:94"},"referencedDeclaration":60468,"src":"3168:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3167:17:94"},"scope":64039,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":61327,"nodeType":"FunctionDefinition","src":"3273:1814:94","nodes":[],"body":{"id":61326,"nodeType":"Block","src":"3437:1650:94","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61118,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"3451:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":61119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3468:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3451:18:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61126,"nodeType":"IfStatement","src":"3447:81:94","trueBody":{"id":61125,"nodeType":"Block","src":"3471:57:94","statements":[{"expression":{"id":61123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61121,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"3485:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61122,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"3501:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3485:32:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61124,"nodeType":"ExpressionStatement","src":"3485:32:94"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61127,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"3542:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":61128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3556:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3542:15:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61135,"nodeType":"IfStatement","src":"3538:70:94","trueBody":{"id":61134,"nodeType":"Block","src":"3559:49:94","statements":[{"expression":{"id":61132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61130,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"3573:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61131,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60902,"src":"3586:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61133,"nodeType":"ExpressionStatement","src":"3573:24:94"}]}},{"assignments":[61137],"declarations":[{"constant":false,"id":61137,"mutability":"mutable","name":"useTokenPool","nameLocation":"3625:12:94","nodeType":"VariableDeclaration","scope":61326,"src":"3617:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61136,"name":"address","nodeType":"ElementaryTypeName","src":"3617:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":61139,"initialValue":{"id":61138,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3640:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3617:29:94"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61140,"name":"_tokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61106,"src":"3660:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":61143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3682:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3674:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61141,"name":"address","nodeType":"ElementaryTypeName","src":"3674:7:94","typeDescriptions":{}}},"id":61144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3660:24:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61154,"nodeType":"IfStatement","src":"3656:84:94","trueBody":{"id":61153,"nodeType":"Block","src":"3686:54:94","statements":[{"expression":{"id":61151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61146,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"3700:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61149,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"3723:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":61148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3715:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61147,"name":"address","nodeType":"ElementaryTypeName","src":"3715:7:94","typeDescriptions":{}}},"id":61150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3700:29:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61152,"nodeType":"ExpressionStatement","src":"3700:29:94"}]}},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":61156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3768:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":61155,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"3750:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61158,"nodeType":"ExpressionStatement","src":"3750:35:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61162,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"3873:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61159,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3862:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"3859:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61165,"nodeType":"ExpressionStatement","src":"3859:27:94"},{"assignments":[61168],"declarations":[{"constant":false,"id":61168,"mutability":"mutable","name":"strategy","nameLocation":"3908:8:94","nodeType":"VariableDeclaration","scope":61326,"src":"3897:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61167,"nodeType":"UserDefinedTypeName","pathNode":{"id":61166,"name":"CVStrategy","nameLocations":["3897:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"3897:10:94"},"referencedDeclaration":59653,"src":"3897:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61178,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61174,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3942:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3942:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3934:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61172,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:94","typeDescriptions":{}}},"id":61176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3919:14:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$59653_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":61170,"nodeType":"UserDefinedTypeName","pathNode":{"id":61169,"name":"CVStrategy","nameLocations":["3923:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"3923:10:94"},"referencedDeclaration":59653,"src":"3923:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}}},"id":61177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3919:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"3897:53:94"},{"expression":{"id":61199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61179,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"3961:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61181,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3981:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3981:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":61185,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"3997:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}],"id":61184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3989:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61183,"name":"address","nodeType":"ElementaryTypeName","src":"3989:7:94","typeDescriptions":{}}},"id":61186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61189,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61103,"src":"4016:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$60468_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":61190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4016:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":61188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4008:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61187,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:94","typeDescriptions":{}}},"id":61191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61192,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4037:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":61193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},{"arguments":[{"id":61196,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4057:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61194,"name":"address","nodeType":"ElementaryTypeName","src":"4049:7:94","typeDescriptions":{}}},"id":61197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4049:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61180,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60666,"src":"3970:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":61198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3970:101:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3961:110:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61200,"nodeType":"ExpressionStatement","src":"3961:110:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61201,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4082:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4085:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"4082:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4082:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61205,"nodeType":"ExpressionStatement","src":"4082:14:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61206,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"4107:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4116:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"4107:23:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:25:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61210,"nodeType":"ExpressionStatement","src":"4107:25:94"},{"expression":{"id":61217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61211,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61114,"src":"4143:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61215,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4165:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61212,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4150:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4157:7:94","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":1389,"src":"4150:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":61216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"4143:29:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61218,"nodeType":"ExpressionStatement","src":"4143:29:94"},{"expression":{"arguments":[{"arguments":[{"id":61224,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4199:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4191:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61222,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:94","typeDescriptions":{}}},"id":61225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61226,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4206:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61219,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4183:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4186:4:94","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":23827,"src":"4183:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61228,"nodeType":"ExpressionStatement","src":"4183:34:94"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61229,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4231:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":61230,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4247:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4231:22:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61272,"nodeType":"Block","src":"4340:203:94","statements":[{"expression":{"arguments":[{"arguments":[{"id":61248,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4391:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4383:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61246,"name":"address","nodeType":"ElementaryTypeName","src":"4383:7:94","typeDescriptions":{}}},"id":61249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61250,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4398:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":61243,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4364:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61242,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4354:9:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":61244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4378:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"4354:28:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:55:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61252,"nodeType":"ExpressionStatement","src":"4354:55:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61259,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4463:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4463:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4455:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61257,"name":"address","nodeType":"ElementaryTypeName","src":"4455:7:94","typeDescriptions":{}}},"id":61261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4455:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61262,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4472:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":61254,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4433:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61253,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4423:9:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":61255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4447:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4423:31:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:60:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61264,"nodeType":"ExpressionStatement","src":"4423:60:94"},{"expression":{"arguments":[{"id":61268,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4513:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61269,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4521:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61265,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4497:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:8:94","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4497:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":61270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61271,"nodeType":"ExpressionStatement","src":"4497:35:94"}]},"id":61273,"nodeType":"IfStatement","src":"4227:316:94","trueBody":{"id":61241,"nodeType":"Block","src":"4255:79:94","statements":[{"expression":{"arguments":[{"id":61237,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4304:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61238,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4312:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61232,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4269:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4276:8:94","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4269:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":61236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":61235,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4292:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4269:34:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":61239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61240,"nodeType":"ExpressionStatement","src":"4269:54:94"}]}},{"expression":{"arguments":[{"expression":{"id":61275,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61114,"src":"4562:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4567:9:94","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"4562:14:94","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61278,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4594:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":61279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":61277,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60545,"src":"4578:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":61280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"706f6f6c50726f66696c654944","id":61281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4607:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""},"value":"poolProfileID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""}],"id":61274,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10624,"src":"4553:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":61282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:70:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61283,"nodeType":"ExpressionStatement","src":"4553:70:94"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":61285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4738:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":61284,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"4720:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61287,"nodeType":"ExpressionStatement","src":"4720:35:94"},{"assignments":[61292],"declarations":[{"constant":false,"id":61292,"mutability":"mutable","name":"proposal","nameLocation":"4799:8:94","nodeType":"VariableDeclaration","scope":61326,"src":"4766:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":61291,"nodeType":"UserDefinedTypeName","pathNode":{"id":61290,"name":"CVStrategy.CreateProposal","nameLocations":["4766:10:94","4777:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"4766:25:94"},"referencedDeclaration":57786,"src":"4766:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":61308,"initialValue":{"arguments":[{"hexValue":"31","id":61295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4849:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61296,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4852:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61297,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"4860:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":61299,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"4874:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4885:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"4874:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":61301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4898:7:94","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57770,"src":"4874:31:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":61302,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"4907:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":61305,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4930:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4922:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61303,"name":"address","nodeType":"ElementaryTypeName","src":"4922:7:94","typeDescriptions":{}}},"id":61306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61293,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"4810:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"4810:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":61307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:143:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4766:187:94"},{"assignments":[61310],"declarations":[{"constant":false,"id":61310,"mutability":"mutable","name":"data","nameLocation":"4976:4:94","nodeType":"VariableDeclaration","scope":61326,"src":"4963:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61309,"name":"bytes","nodeType":"ElementaryTypeName","src":"4963:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61315,"initialValue":{"arguments":[{"id":61313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61292,"src":"4994:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":61311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4983:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4987:6:94","memberName":"encode","nodeType":"MemberAccess","src":"4983:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4983:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4963:40:94"},{"expression":{"arguments":[{"id":61319,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"5038:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61320,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61310,"src":"5046:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61316,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"5013:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5020:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5013:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":61321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61322,"nodeType":"ExpressionStatement","src":"5013:38:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61323,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"5062:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5062:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61325,"nodeType":"ExpressionStatement","src":"5062:18:94"}]},"documentation":{"id":61104,"nodeType":"StructuredDocumentation","src":"3230:38:94","text":" HELPERS FUNCTIONS"},"functionSelector":"b188bdc4","implemented":true,"kind":"function","modifiers":[],"name":"_createProposal","nameLocation":"3282:15:94","parameters":{"id":61111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61106,"mutability":"mutable","name":"_tokenPool","nameLocation":"3306:10:94","nodeType":"VariableDeclaration","scope":61327,"src":"3298:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61105,"name":"address","nodeType":"ElementaryTypeName","src":"3298:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61108,"mutability":"mutable","name":"requestAmount","nameLocation":"3326:13:94","nodeType":"VariableDeclaration","scope":61327,"src":"3318:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61107,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61110,"mutability":"mutable","name":"poolAmount","nameLocation":"3349:10:94","nodeType":"VariableDeclaration","scope":61327,"src":"3341:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61109,"name":"uint256","nodeType":"ElementaryTypeName","src":"3341:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3297:63:94"},"returnParameters":{"id":61117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61114,"mutability":"mutable","name":"pool","nameLocation":"3411:4:94","nodeType":"VariableDeclaration","scope":61327,"src":"3393:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61113,"nodeType":"UserDefinedTypeName","pathNode":{"id":61112,"name":"IAllo.Pool","nameLocations":["3393:5:94","3399:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"3393:10:94"},"referencedDeclaration":2319,"src":"3393:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61116,"mutability":"mutable","name":"poolId","nameLocation":"3425:6:94","nodeType":"VariableDeclaration","scope":61327,"src":"3417:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61115,"name":"uint256","nodeType":"ElementaryTypeName","src":"3417:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3392:40:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61359,"nodeType":"FunctionDefinition","src":"5093:254:94","nodes":[],"body":{"id":61358,"nodeType":"Block","src":"5175:172:94","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61336,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"5189:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":61337,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5199:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5189:16:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61356,"nodeType":"Block","src":"5268:73:94","statements":[{"expression":{"arguments":[{"arguments":[{"id":61352,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"5322:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5314:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61350,"name":"address","nodeType":"ElementaryTypeName","src":"5314:7:94","typeDescriptions":{}}},"id":61353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5314:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":61347,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"5296:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61346,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"5289:6:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":61348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":61349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5304:9:94","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":6860,"src":"5289:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":61354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:41:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61335,"id":61355,"nodeType":"Return","src":"5282:48:94"}]},"id":61357,"nodeType":"IfStatement","src":"5185:156:94","trueBody":{"id":61345,"nodeType":"Block","src":"5207:55:94","statements":[{"expression":{"expression":{"arguments":[{"id":61341,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"5236:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5228:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61339,"name":"address","nodeType":"ElementaryTypeName","src":"5228:7:94","typeDescriptions":{}}},"id":61342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5228:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5244:7:94","memberName":"balance","nodeType":"MemberAccess","src":"5228:23:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61335,"id":61344,"nodeType":"Return","src":"5221:30:94"}]}}]},"functionSelector":"d4fac45d","implemented":true,"kind":"function","modifiers":[],"name":"getBalance","nameLocation":"5102:10:94","parameters":{"id":61332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61329,"mutability":"mutable","name":"_token","nameLocation":"5121:6:94","nodeType":"VariableDeclaration","scope":61359,"src":"5113:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61328,"name":"address","nodeType":"ElementaryTypeName","src":"5113:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61331,"mutability":"mutable","name":"holder","nameLocation":"5137:6:94","nodeType":"VariableDeclaration","scope":61359,"src":"5129:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61330,"name":"address","nodeType":"ElementaryTypeName","src":"5129:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5112:32:94"},"returnParameters":{"id":61335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61359,"src":"5166:7:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61333,"name":"uint256","nodeType":"ElementaryTypeName","src":"5166:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5165:9:94"},"scope":64039,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":61439,"nodeType":"FunctionDefinition","src":"5385:977:94","nodes":[],"body":{"id":61438,"nodeType":"Block","src":"5444:918:94","nodes":[],"statements":[{"assignments":[null,61364],"declarations":[null,{"constant":false,"id":61364,"mutability":"mutable","name":"poolId","nameLocation":"5493:6:94","nodeType":"VariableDeclaration","scope":61438,"src":"5485:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61363,"name":"uint256","nodeType":"ElementaryTypeName","src":"5485:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61370,"initialValue":{"arguments":[{"id":61366,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5519:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5527:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61365,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"5503:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5454:78:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5615:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61371,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"5597:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5597:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61374,"nodeType":"ExpressionStatement","src":"5597:39:94"},{"assignments":[61380],"declarations":[{"constant":false,"id":61380,"mutability":"mutable","name":"votes","nameLocation":"5682:5:94","nodeType":"VariableDeclaration","scope":61438,"src":"5646:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61378,"nodeType":"UserDefinedTypeName","pathNode":{"id":61377,"name":"CVStrategy.ProposalSupport","nameLocations":["5646:10:94","5657:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"5646:26:94"},"referencedDeclaration":57829,"src":"5646:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61379,"nodeType":"ArrayTypeName","src":"5646:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61387,"initialValue":{"arguments":[{"hexValue":"32","id":61385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5723:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5690:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61382,"nodeType":"UserDefinedTypeName","pathNode":{"id":61381,"name":"CVStrategy.ProposalSupport","nameLocations":["5694:10:94","5705:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"5694:26:94"},"referencedDeclaration":57829,"src":"5694:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61383,"nodeType":"ArrayTypeName","src":"5694:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5646:79:94"},{"expression":{"id":61396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61388,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"5813:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61390,"indexExpression":{"hexValue":"30","id":61389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5819:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5813:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5851:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5854:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61391,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"5824:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"5824:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5813:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61397,"nodeType":"ExpressionStatement","src":"5813:44:94"},{"expression":{"id":61406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61398,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"5888:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61400,"indexExpression":{"hexValue":"31","id":61399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5894:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5888:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5926:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5929:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61401,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"5899:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"5899:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5888:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61407,"nodeType":"ExpressionStatement","src":"5888:44:94"},{"assignments":[61409],"declarations":[{"constant":false,"id":61409,"mutability":"mutable","name":"data","nameLocation":"6087:4:94","nodeType":"VariableDeclaration","scope":61438,"src":"6074:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61408,"name":"bytes","nodeType":"ElementaryTypeName","src":"6074:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61414,"initialValue":{"arguments":[{"id":61412,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"6105:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6094:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6098:6:94","memberName":"encode","nodeType":"MemberAccess","src":"6094:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6094:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6074:37:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61420,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6235:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6246:25:94","memberName":"ProposalSupportDuplicated","nodeType":"MemberAccess","referencedDeclaration":57746,"src":"6235:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6272:8:94","memberName":"selector","nodeType":"MemberAccess","src":"6235:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":61423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":61424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6285:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":61418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6212:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6216:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6212:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6212:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61415,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"6196:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6199:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"6196:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:92:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61427,"nodeType":"ExpressionStatement","src":"6196:92:94"},{"expression":{"arguments":[{"id":61431,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61364,"src":"6314:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61432,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61409,"src":"6322:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61428,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"6298:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"6298:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61434,"nodeType":"ExpressionStatement","src":"6298:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61435,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"6337:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61437,"nodeType":"ExpressionStatement","src":"6337:18:94"}]},"documentation":{"id":61360,"nodeType":"StructuredDocumentation","src":"5352:27:94","text":" TESTS"},"functionSelector":"2da49647","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_ProposalIdDuplicated","nameLocation":"5394:40:94","parameters":{"id":61361,"nodeType":"ParameterList","parameters":[],"src":"5434:2:94"},"returnParameters":{"id":61362,"nodeType":"ParameterList","parameters":[],"src":"5444:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61525,"nodeType":"FunctionDefinition","src":"6368:1028:94","nodes":[],"body":{"id":61524,"nodeType":"Block","src":"6424:972:94","nodes":[],"statements":[{"assignments":[null,61443],"declarations":[null,{"constant":false,"id":61443,"mutability":"mutable","name":"poolId","nameLocation":"6473:6:94","nodeType":"VariableDeclaration","scope":61524,"src":"6465:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61442,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61449,"initialValue":{"arguments":[{"id":61445,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"6499:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6507:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6510:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61444,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"6483:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6434:78:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61450,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"6577:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61453,"nodeType":"ExpressionStatement","src":"6577:39:94"},{"assignments":[61459],"declarations":[{"constant":false,"id":61459,"mutability":"mutable","name":"votes","nameLocation":"6662:5:94","nodeType":"VariableDeclaration","scope":61524,"src":"6626:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61457,"nodeType":"UserDefinedTypeName","pathNode":{"id":61456,"name":"CVStrategy.ProposalSupport","nameLocations":["6626:10:94","6637:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"6626:26:94"},"referencedDeclaration":57829,"src":"6626:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61458,"nodeType":"ArrayTypeName","src":"6626:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61466,"initialValue":{"arguments":[{"hexValue":"32","id":61464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6703:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6670:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61461,"nodeType":"UserDefinedTypeName","pathNode":{"id":61460,"name":"CVStrategy.ProposalSupport","nameLocations":["6674:10:94","6685:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"6674:26:94"},"referencedDeclaration":57829,"src":"6674:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61462,"nodeType":"ArrayTypeName","src":"6674:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6626:79:94"},{"expression":{"id":61475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61467,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"6793:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61469,"indexExpression":{"hexValue":"30","id":61468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6799:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6793:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6831:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6834:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61470,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6804:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"6804:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6793:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61476,"nodeType":"ExpressionStatement","src":"6793:44:94"},{"expression":{"id":61485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61477,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"6868:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61479,"indexExpression":{"hexValue":"31","id":61478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6874:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6868:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6906:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6909:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61480,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6879:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"6879:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6879:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6868:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61486,"nodeType":"ExpressionStatement","src":"6868:44:94"},{"assignments":[61488],"declarations":[{"constant":false,"id":61488,"mutability":"mutable","name":"data","nameLocation":"7067:4:94","nodeType":"VariableDeclaration","scope":61524,"src":"7054:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61487,"name":"bytes","nodeType":"ElementaryTypeName","src":"7054:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61493,"initialValue":{"arguments":[{"id":61491,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"7085:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7074:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7078:6:94","memberName":"encode","nodeType":"MemberAccess","src":"7074:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7054:37:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61497,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"7115:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7115:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61494,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7101:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7104:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"7101:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61500,"nodeType":"ExpressionStatement","src":"7101:27:94"},{"expression":{"arguments":[{"expression":{"expression":{"id":61504,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7154:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7165:17:94","memberName":"UserNotInRegistry","nodeType":"MemberAccess","referencedDeclaration":57694,"src":"7154:28:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":61506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7183:8:94","memberName":"selector","nodeType":"MemberAccess","src":"7154:37:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61501,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7138:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7141:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24231,"src":"7138:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7138:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61508,"nodeType":"ExpressionStatement","src":"7138:54:94"},{"expression":{"arguments":[{"id":61512,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61443,"src":"7323:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61513,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61488,"src":"7331:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61509,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7307:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7314:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7307:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61515,"nodeType":"ExpressionStatement","src":"7307:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7347:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7350:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"7347:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61520,"nodeType":"ExpressionStatement","src":"7347:14:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61521,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"7371:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7371:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61523,"nodeType":"ExpressionStatement","src":"7371:18:94"}]},"functionSelector":"bc1687c0","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_UserNotInRegistry","nameLocation":"6377:37:94","parameters":{"id":61440,"nodeType":"ParameterList","parameters":[],"src":"6414:2:94"},"returnParameters":{"id":61441,"nodeType":"ParameterList","parameters":[],"src":"6424:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61639,"nodeType":"FunctionDefinition","src":"7402:901:94","nodes":[],"body":{"id":61638,"nodeType":"Block","src":"7490:813:94","nodes":[],"statements":[{"assignments":[61532,61534],"declarations":[{"constant":false,"id":61532,"mutability":"mutable","name":"pool","nameLocation":"7519:4:94","nodeType":"VariableDeclaration","scope":61638,"src":"7501:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61531,"nodeType":"UserDefinedTypeName","pathNode":{"id":61530,"name":"IAllo.Pool","nameLocations":["7501:5:94","7507:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"7501:10:94"},"referencedDeclaration":2319,"src":"7501:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61534,"mutability":"mutable","name":"poolId","nameLocation":"7533:6:94","nodeType":"VariableDeclaration","scope":61638,"src":"7525:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61533,"name":"uint256","nodeType":"ElementaryTypeName","src":"7525:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61540,"initialValue":{"arguments":[{"id":61536,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"7559:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7567:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7570:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61535,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"7543:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7543:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7500:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7655:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61541,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"7637:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7637:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61544,"nodeType":"ExpressionStatement","src":"7637:39:94"},{"assignments":[61550],"declarations":[{"constant":false,"id":61550,"mutability":"mutable","name":"votes","nameLocation":"7722:5:94","nodeType":"VariableDeclaration","scope":61638,"src":"7686:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61548,"nodeType":"UserDefinedTypeName","pathNode":{"id":61547,"name":"CVStrategy.ProposalSupport","nameLocations":["7686:10:94","7697:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"7686:26:94"},"referencedDeclaration":57829,"src":"7686:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61549,"nodeType":"ArrayTypeName","src":"7686:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61557,"initialValue":{"arguments":[{"hexValue":"31","id":61555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7763:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7730:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61552,"nodeType":"UserDefinedTypeName","pathNode":{"id":61551,"name":"CVStrategy.ProposalSupport","nameLocations":["7734:10:94","7745:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"7734:26:94"},"referencedDeclaration":57829,"src":"7734:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61553,"nodeType":"ArrayTypeName","src":"7734:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7730:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7686:79:94"},{"expression":{"id":61567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61558,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61550,"src":"7775:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61560,"indexExpression":{"hexValue":"30","id":61559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7781:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7775:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7813:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7816:4:94","subExpression":{"hexValue":"313030","id":61564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7817:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":61561,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7786:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7797:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"7786:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7786:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"7775:46:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61568,"nodeType":"ExpressionStatement","src":"7775:46:94"},{"assignments":[61570],"declarations":[{"constant":false,"id":61570,"mutability":"mutable","name":"data","nameLocation":"7844:4:94","nodeType":"VariableDeclaration","scope":61638,"src":"7831:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61569,"name":"bytes","nodeType":"ElementaryTypeName","src":"7831:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61575,"initialValue":{"arguments":[{"id":61573,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61550,"src":"7862:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61571,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7851:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7855:6:94","memberName":"encode","nodeType":"MemberAccess","src":"7851:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:37:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61581,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7918:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7929:16:94","memberName":"SupportUnderflow","nodeType":"MemberAccess","referencedDeclaration":57718,"src":"7918:27:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":61583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7946:8:94","memberName":"selector","nodeType":"MemberAccess","src":"7918:36:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":61584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7956:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7959:4:94","subExpression":{"hexValue":"313030","id":61585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7960:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"id":61588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7965:4:94","subExpression":{"hexValue":"313030","id":61587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7966:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":61579,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7895:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7899:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7895:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61576,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7879:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7882:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"7879:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7879:92:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61591,"nodeType":"ExpressionStatement","src":"7879:92:94"},{"expression":{"arguments":[{"id":61595,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61534,"src":"7997:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61570,"src":"8005:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61592,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7981:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7988:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7981:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61598,"nodeType":"ExpressionStatement","src":"7981:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61599,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"8020:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8020:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61601,"nodeType":"ExpressionStatement","src":"8020:18:94"},{"assignments":[61604],"declarations":[{"constant":false,"id":61604,"mutability":"mutable","name":"cv","nameLocation":"8060:2:94","nodeType":"VariableDeclaration","scope":61638,"src":"8049:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61603,"nodeType":"UserDefinedTypeName","pathNode":{"id":61602,"name":"CVStrategy","nameLocations":["8049:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"8049:10:94"},"referencedDeclaration":59653,"src":"8049:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61615,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61610,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61532,"src":"8092:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8097:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"8092:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8084:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61608,"name":"address","nodeType":"ElementaryTypeName","src":"8084:7:94","typeDescriptions":{}}},"id":61612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8084:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8076:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61606,"name":"address","nodeType":"ElementaryTypeName","src":"8076:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61605,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8065:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"8049:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8153:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61622,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8164:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8156:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61620,"name":"address","nodeType":"ElementaryTypeName","src":"8156:7:94","typeDescriptions":{}}},"id":61623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61617,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61604,"src":"8128:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8131:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"8128:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8128:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8172:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65416d6f756e74","id":61626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8175:18:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""},"value":"VoterStakeAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""}],"id":61616,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8119:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":61627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61628,"nodeType":"ExpressionStatement","src":"8119:75:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61630,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61604,"src":"8232:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8235:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"8232:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8232:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8263:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564416d6f756e74496e50726f706f73616c","id":61635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8266:29:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""},"value":"TotalStakedAmountInProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""}],"id":61629,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8223:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":61636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8223:73:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61637,"nodeType":"ExpressionStatement","src":"8223:73:94"}]},"functionSelector":"d97d0578","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","nameLocation":"7411:69:94","parameters":{"id":61526,"nodeType":"ParameterList","parameters":[],"src":"7480:2:94"},"returnParameters":{"id":61527,"nodeType":"ParameterList","parameters":[],"src":"7490:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61695,"nodeType":"FunctionDefinition","src":"8309:519:94","nodes":[],"body":{"id":61694,"nodeType":"Block","src":"8379:449:94","nodes":[],"statements":[{"assignments":[null,61643],"declarations":[null,{"constant":false,"id":61643,"mutability":"mutable","name":"poolId","nameLocation":"8400:6:94","nodeType":"VariableDeclaration","scope":61694,"src":"8392:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61642,"name":"uint256","nodeType":"ElementaryTypeName","src":"8392:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61649,"initialValue":{"arguments":[{"id":61645,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8426:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8434:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8437:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61644,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"8410:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8389:50:94"},{"assignments":[61654],"declarations":[{"constant":false,"id":61654,"mutability":"mutable","name":"proposal","nameLocation":"8483:8:94","nodeType":"VariableDeclaration","scope":61694,"src":"8450:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":61653,"nodeType":"UserDefinedTypeName","pathNode":{"id":61652,"name":"CVStrategy.CreateProposal","nameLocations":["8450:10:94","8461:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"8450:25:94"},"referencedDeclaration":57786,"src":"8450:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":61667,"initialValue":{"arguments":[{"hexValue":"31","id":61657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8533:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61658,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61643,"src":"8536:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61659,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"8544:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":61661,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8558:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8569:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"8558:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":61663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8582:9:94","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":57769,"src":"8558:33:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":61664,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"8593:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61665,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8611:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61655,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8494:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8505:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"8494:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":61666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:133:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"8450:177:94"},{"assignments":[61669],"declarations":[{"constant":false,"id":61669,"mutability":"mutable","name":"data","nameLocation":"8650:4:94","nodeType":"VariableDeclaration","scope":61694,"src":"8637:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61668,"name":"bytes","nodeType":"ElementaryTypeName","src":"8637:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61674,"initialValue":{"arguments":[{"id":61672,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61654,"src":"8668:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":61670,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8657:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8661:6:94","memberName":"encode","nodeType":"MemberAccess","src":"8657:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8637:40:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61680,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8726:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8737:22:94","memberName":"ProposalIdAlreadyExist","nodeType":"MemberAccess","referencedDeclaration":57740,"src":"8726:33:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":61682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8760:8:94","memberName":"selector","nodeType":"MemberAccess","src":"8726:42:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":61683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8770:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8703:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8707:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8703:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8703:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"8687:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8690:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"8687:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8687:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61686,"nodeType":"ExpressionStatement","src":"8687:86:94"},{"expression":{"arguments":[{"id":61690,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61643,"src":"8808:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61691,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61669,"src":"8816:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61687,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"8783:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"8783:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":61692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61693,"nodeType":"ExpressionStatement","src":"8783:38:94"}]},"functionSelector":"9a45ff89","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_registerRecipient_ProposalIdAlreadyExist","nameLocation":"8318:51:94","parameters":{"id":61640,"nodeType":"ParameterList","parameters":[],"src":"8369:2:94"},"returnParameters":{"id":61641,"nodeType":"ParameterList","parameters":[],"src":"8379:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61855,"nodeType":"FunctionDefinition","src":"8834:1541:94","nodes":[],"body":{"id":61854,"nodeType":"Block","src":"8890:1485:94","nodes":[],"statements":[{"assignments":[61702,61704],"declarations":[{"constant":false,"id":61702,"mutability":"mutable","name":"pool","nameLocation":"8919:4:94","nodeType":"VariableDeclaration","scope":61854,"src":"8901:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61701,"nodeType":"UserDefinedTypeName","pathNode":{"id":61700,"name":"IAllo.Pool","nameLocations":["8901:5:94","8907:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"8901:10:94"},"referencedDeclaration":2319,"src":"8901:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61704,"mutability":"mutable","name":"poolId","nameLocation":"8933:6:94","nodeType":"VariableDeclaration","scope":61854,"src":"8925:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61703,"name":"uint256","nodeType":"ElementaryTypeName","src":"8925:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61710,"initialValue":{"arguments":[{"id":61706,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8959:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8967:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8970:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61705,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"8943:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8943:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8900:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9044:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61711,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"9026:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9026:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61714,"nodeType":"ExpressionStatement","src":"9026:39:94"},{"assignments":[61720],"declarations":[{"constant":false,"id":61720,"mutability":"mutable","name":"votes","nameLocation":"9111:5:94","nodeType":"VariableDeclaration","scope":61854,"src":"9075:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61718,"nodeType":"UserDefinedTypeName","pathNode":{"id":61717,"name":"CVStrategy.ProposalSupport","nameLocations":["9075:10:94","9086:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9075:26:94"},"referencedDeclaration":57829,"src":"9075:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61719,"nodeType":"ArrayTypeName","src":"9075:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61727,"initialValue":{"arguments":[{"hexValue":"31","id":61725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9152:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9119:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61722,"nodeType":"UserDefinedTypeName","pathNode":{"id":61721,"name":"CVStrategy.ProposalSupport","nameLocations":["9123:10:94","9134:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9123:26:94"},"referencedDeclaration":57829,"src":"9123:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61723,"nodeType":"ArrayTypeName","src":"9123:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9075:79:94"},{"expression":{"id":61736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61728,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61720,"src":"9164:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61730,"indexExpression":{"hexValue":"30","id":61729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9170:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9164:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9202:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9205:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61731,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"9175:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9186:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"9175:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"9164:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61737,"nodeType":"ExpressionStatement","src":"9164:44:94"},{"assignments":[61739],"declarations":[{"constant":false,"id":61739,"mutability":"mutable","name":"data","nameLocation":"9271:4:94","nodeType":"VariableDeclaration","scope":61854,"src":"9258:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61738,"name":"bytes","nodeType":"ElementaryTypeName","src":"9258:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61744,"initialValue":{"arguments":[{"id":61742,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61720,"src":"9289:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9278:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9282:6:94","memberName":"encode","nodeType":"MemberAccess","src":"9278:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9278:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9258:37:94"},{"expression":{"arguments":[{"id":61748,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61704,"src":"9322:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61749,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"9330:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61745,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"9306:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9313:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"9306:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61751,"nodeType":"ExpressionStatement","src":"9306:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61752,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"9346:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61754,"nodeType":"ExpressionStatement","src":"9346:18:94"},{"assignments":[61756],"declarations":[{"constant":false,"id":61756,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"9382:13:94","nodeType":"VariableDeclaration","scope":61854,"src":"9374:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61755,"name":"uint256","nodeType":"ElementaryTypeName","src":"9374:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61762,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":61757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9398:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":61758,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"9403:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9398:18:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":61760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9419:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9398:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9374:48:94"},{"assignments":[61765],"declarations":[{"constant":false,"id":61765,"mutability":"mutable","name":"cv","nameLocation":"9443:2:94","nodeType":"VariableDeclaration","scope":61854,"src":"9432:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61764,"nodeType":"UserDefinedTypeName","pathNode":{"id":61763,"name":"CVStrategy","nameLocations":["9432:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"9432:10:94"},"referencedDeclaration":59653,"src":"9432:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61776,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61771,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61702,"src":"9475:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9480:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"9475:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9467:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61769,"name":"address","nodeType":"ElementaryTypeName","src":"9467:7:94","typeDescriptions":{}}},"id":61773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9467:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9459:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61767,"name":"address","nodeType":"ElementaryTypeName","src":"9459:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9459:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61766,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"9448:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"9432:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9535:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61783,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9546:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9538:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61781,"name":"address","nodeType":"ElementaryTypeName","src":"9538:7:94","typeDescriptions":{}}},"id":61784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9538:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61778,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"9510:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9513:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"9510:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9510:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61786,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"9554:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61777,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9501:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61788,"nodeType":"ExpressionStatement","src":"9501:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9632:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61790,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"9605:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9608:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"9605:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9605:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61794,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"9636:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61789,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9596:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61796,"nodeType":"ExpressionStatement","src":"9596:54:94"},{"assignments":[61802],"declarations":[{"constant":false,"id":61802,"mutability":"mutable","name":"votes2","nameLocation":"9956:6:94","nodeType":"VariableDeclaration","scope":61854,"src":"9920:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61800,"nodeType":"UserDefinedTypeName","pathNode":{"id":61799,"name":"CVStrategy.ProposalSupport","nameLocations":["9920:10:94","9931:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9920:26:94"},"referencedDeclaration":57829,"src":"9920:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61801,"nodeType":"ArrayTypeName","src":"9920:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":61809,"initialValue":{"arguments":[{"hexValue":"31","id":61807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9998:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9965:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61804,"nodeType":"UserDefinedTypeName","pathNode":{"id":61803,"name":"CVStrategy.ProposalSupport","nameLocations":["9969:10:94","9980:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9969:26:94"},"referencedDeclaration":57829,"src":"9969:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61805,"nodeType":"ArrayTypeName","src":"9969:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9965:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9920:80:94"},{"expression":{"id":61818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61810,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61802,"src":"10010:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61812,"indexExpression":{"hexValue":"30","id":61811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10017:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10010:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10049:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61813,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10022:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10033:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"10022:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10022:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10010:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61819,"nodeType":"ExpressionStatement","src":"10010:45:94"},{"expression":{"id":61825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61820,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"10065:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61823,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61802,"src":"10083:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10072:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10076:6:94","memberName":"encode","nodeType":"MemberAccess","src":"10072:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10072:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"10065:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":61826,"nodeType":"ExpressionStatement","src":"10065:25:94"},{"expression":{"arguments":[{"id":61830,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61704,"src":"10167:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61831,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"10175:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61827,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"10151:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10158:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"10151:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61833,"nodeType":"ExpressionStatement","src":"10151:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10252:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61840,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10263:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10255:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61838,"name":"address","nodeType":"ElementaryTypeName","src":"10255:7:94","typeDescriptions":{}}},"id":61841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61835,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"10227:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10230:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"10227:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61843,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"10271:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61834,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10218:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10218:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61845,"nodeType":"ExpressionStatement","src":"10218:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10350:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61847,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"10323:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10326:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"10323:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10323:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61851,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"10354:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61846,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10314:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10314:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61853,"nodeType":"ExpressionStatement","src":"10314:54:94"}]},"functionSelector":"d25bba07","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_change_support","nameLocation":"8843:37:94","parameters":{"id":61696,"nodeType":"ParameterList","parameters":[],"src":"8880:2:94"},"returnParameters":{"id":61697,"nodeType":"ParameterList","parameters":[],"src":"8890:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62023,"nodeType":"FunctionDefinition","src":"10381:1258:94","nodes":[],"body":{"id":62022,"nodeType":"Block","src":"10430:1209:94","nodes":[],"statements":[{"assignments":[61862,61864],"declarations":[{"constant":false,"id":61862,"mutability":"mutable","name":"pool","nameLocation":"10459:4:94","nodeType":"VariableDeclaration","scope":62022,"src":"10441:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61861,"nodeType":"UserDefinedTypeName","pathNode":{"id":61860,"name":"IAllo.Pool","nameLocations":["10441:5:94","10447:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"10441:10:94"},"referencedDeclaration":2319,"src":"10441:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61864,"mutability":"mutable","name":"poolId","nameLocation":"10473:6:94","nodeType":"VariableDeclaration","scope":62022,"src":"10465:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61863,"name":"uint256","nodeType":"ElementaryTypeName","src":"10465:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61870,"initialValue":{"arguments":[{"id":61866,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"10499:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10507:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10510:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61865,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"10483:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10440:72:94"},{"assignments":[61873],"declarations":[{"constant":false,"id":61873,"mutability":"mutable","name":"cv","nameLocation":"10534:2:94","nodeType":"VariableDeclaration","scope":62022,"src":"10523:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61872,"nodeType":"UserDefinedTypeName","pathNode":{"id":61871,"name":"CVStrategy","nameLocations":["10523:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"10523:10:94"},"referencedDeclaration":59653,"src":"10523:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61884,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61879,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"10566:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"10566:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10558:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61877,"name":"address","nodeType":"ElementaryTypeName","src":"10558:7:94","typeDescriptions":{}}},"id":61881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10550:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61875,"name":"address","nodeType":"ElementaryTypeName","src":"10550:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61874,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10539:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"10523:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":61889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10619:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":61888,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10605:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61885,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10593:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10596:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"10593:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61892,"nodeType":"ExpressionStatement","src":"10593:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":61897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10686:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":61896,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10672:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10672:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61893,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10657:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10660:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"10657:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61900,"nodeType":"ExpressionStatement","src":"10657:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":61905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10753:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":61904,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10739:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61901,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10726:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10729:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"10726:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61908,"nodeType":"ExpressionStatement","src":"10726:40:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10859:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61909,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"10841:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61912,"nodeType":"ExpressionStatement","src":"10841:39:94"},{"assignments":[61918],"declarations":[{"constant":false,"id":61918,"mutability":"mutable","name":"votes","nameLocation":"10926:5:94","nodeType":"VariableDeclaration","scope":62022,"src":"10890:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61916,"nodeType":"UserDefinedTypeName","pathNode":{"id":61915,"name":"CVStrategy.ProposalSupport","nameLocations":["10890:10:94","10901:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"10890:26:94"},"referencedDeclaration":57829,"src":"10890:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61917,"nodeType":"ArrayTypeName","src":"10890:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61925,"initialValue":{"arguments":[{"hexValue":"31","id":61923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10967:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10934:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61920,"nodeType":"UserDefinedTypeName","pathNode":{"id":61919,"name":"CVStrategy.ProposalSupport","nameLocations":["10938:10:94","10949:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"10938:26:94"},"referencedDeclaration":57829,"src":"10938:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61921,"nodeType":"ArrayTypeName","src":"10938:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10890:79:94"},{"expression":{"id":61934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61926,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"10979:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61928,"indexExpression":{"hexValue":"30","id":61927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10985:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10979:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11017:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61929,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10990:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11001:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"10990:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10979:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61935,"nodeType":"ExpressionStatement","src":"10979:44:94"},{"assignments":[61937],"declarations":[{"constant":false,"id":61937,"mutability":"mutable","name":"data","nameLocation":"11046:4:94","nodeType":"VariableDeclaration","scope":62022,"src":"11033:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61936,"name":"bytes","nodeType":"ElementaryTypeName","src":"11033:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61942,"initialValue":{"arguments":[{"id":61940,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"11064:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11053:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11057:6:94","memberName":"encode","nodeType":"MemberAccess","src":"11053:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11033:37:94"},{"expression":{"arguments":[{"id":61946,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61864,"src":"11096:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61947,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61937,"src":"11104:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61943,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"11080:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11087:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"11080:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61949,"nodeType":"ExpressionStatement","src":"11080:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61950,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"11119:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11119:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61952,"nodeType":"ExpressionStatement","src":"11119:18:94"},{"assignments":[61954],"declarations":[{"constant":false,"id":61954,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"11156:13:94","nodeType":"VariableDeclaration","scope":62022,"src":"11148:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61953,"name":"uint256","nodeType":"ElementaryTypeName","src":"11148:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61960,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":61955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":61956,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"11177:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11172:18:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":61958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11193:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"11172:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11148:48:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11240:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61967,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11251:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":61966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11243:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61965,"name":"address","nodeType":"ElementaryTypeName","src":"11243:7:94","typeDescriptions":{}}},"id":61968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11243:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61962,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11215:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"11215:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11215:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61970,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11259:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61961,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11206:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11206:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61972,"nodeType":"ExpressionStatement","src":"11206:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11319:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61974,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11292:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11295:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"11292:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61978,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11323:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61973,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11283:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61980,"nodeType":"ExpressionStatement","src":"11283:54:94"},{"assignments":[61982],"declarations":[{"constant":false,"id":61982,"mutability":"mutable","name":"cv_amount","nameLocation":"11356:9:94","nodeType":"VariableDeclaration","scope":62022,"src":"11348:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61981,"name":"uint256","nodeType":"ElementaryTypeName","src":"11348:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61989,"initialValue":{"arguments":[{"hexValue":"3130","id":61985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11391:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":61986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11395:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61987,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11398:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61983,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11368:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11371:19:94","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":59246,"src":"11368:22:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":61988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11368:44:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11348:64:94"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":61993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11434:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":61994,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61982,"src":"11451:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61990,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"11422:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":61992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"11422:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":61995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11422:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61996,"nodeType":"ExpressionStatement","src":"11422:39:94"},{"assignments":[61998],"declarations":[{"constant":false,"id":61998,"mutability":"mutable","name":"cv_cmp","nameLocation":"11479:6:94","nodeType":"VariableDeclaration","scope":62022,"src":"11471:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61997,"name":"uint256","nodeType":"ElementaryTypeName","src":"11471:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62009,"initialValue":{"arguments":[{"hexValue":"3130","id":62000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11509:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62002,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11516:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":62007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":62003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11531:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11543:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:2:94","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"11543:8:94","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"11531:20:94","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":61999,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"11488:20:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":62008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11488:64:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11471:81:94"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":62013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11574:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":62014,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"11588:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62010,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"11562:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11570:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"11562:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62016,"nodeType":"ExpressionStatement","src":"11562:33:94"},{"expression":{"arguments":[{"id":62018,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61982,"src":"11614:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62019,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"11625:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62017,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11605:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11605:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62021,"nodeType":"ExpressionStatement","src":"11605:27:94"}]},"functionSelector":"de8a1354","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_function","nameLocation":"10390:30:94","parameters":{"id":61856,"nodeType":"ParameterList","parameters":[],"src":"10420:2:94"},"returnParameters":{"id":61857,"nodeType":"ParameterList","parameters":[],"src":"10430:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62236,"nodeType":"FunctionDefinition","src":"11645:1898:94","nodes":[],"body":{"id":62235,"nodeType":"Block","src":"11696:1847:94","nodes":[],"statements":[{"assignments":[62030,62032],"declarations":[{"constant":false,"id":62030,"mutability":"mutable","name":"pool","nameLocation":"11725:4:94","nodeType":"VariableDeclaration","scope":62235,"src":"11707:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62029,"nodeType":"UserDefinedTypeName","pathNode":{"id":62028,"name":"IAllo.Pool","nameLocations":["11707:5:94","11713:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"11707:10:94"},"referencedDeclaration":2319,"src":"11707:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62032,"mutability":"mutable","name":"poolId","nameLocation":"11739:6:94","nodeType":"VariableDeclaration","scope":62235,"src":"11731:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62031,"name":"uint256","nodeType":"ElementaryTypeName","src":"11731:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62038,"initialValue":{"arguments":[{"id":62034,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"11765:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11773:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11776:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62033,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"11749:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11749:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11706:72:94"},{"assignments":[62041],"declarations":[{"constant":false,"id":62041,"mutability":"mutable","name":"cv","nameLocation":"11800:2:94","nodeType":"VariableDeclaration","scope":62235,"src":"11789:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62040,"nodeType":"UserDefinedTypeName","pathNode":{"id":62039,"name":"CVStrategy","nameLocations":["11789:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"11789:10:94"},"referencedDeclaration":59653,"src":"11789:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62052,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62047,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62030,"src":"11832:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"11832:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11824:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62045,"name":"address","nodeType":"ElementaryTypeName","src":"11824:7:94","typeDescriptions":{}}},"id":62049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11816:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62043,"name":"address","nodeType":"ElementaryTypeName","src":"11816:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11816:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62042,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"11805:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11805:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"11789:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":62057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11885:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":62056,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"11871:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11871:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62053,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11862:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"11859:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62060,"nodeType":"ExpressionStatement","src":"11859:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":62065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":62064,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"11938:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11938:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62061,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11923:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11926:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"11923:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11923:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62068,"nodeType":"ExpressionStatement","src":"11923:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":62073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12019:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":62072,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"12005:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62069,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11992:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11995:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"11992:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62076,"nodeType":"ExpressionStatement","src":"11992:40:94"},{"assignments":[62078],"declarations":[{"constant":false,"id":62078,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"12071:13:94","nodeType":"VariableDeclaration","scope":62235,"src":"12063:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62077,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62080,"initialValue":{"hexValue":"3435303030","id":62079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12087:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"12063:29:94"},{"expression":{"arguments":[{"arguments":[{"id":62084,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"12199:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12191:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62082,"name":"address","nodeType":"ElementaryTypeName","src":"12191:7:94","typeDescriptions":{}}},"id":62085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12229:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62089,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"12267:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12283:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"12267:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12304:8:94","memberName":"selector","nodeType":"MemberAccess","src":"12267:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62092,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12314:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12244:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12248:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12244:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12244:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62081,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"12167:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12167:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62095,"nodeType":"ExpressionStatement","src":"12167:171:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12409:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62096,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"12391:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12391:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62099,"nodeType":"ExpressionStatement","src":"12391:39:94"},{"assignments":[62105],"declarations":[{"constant":false,"id":62105,"mutability":"mutable","name":"votes","nameLocation":"12476:5:94","nodeType":"VariableDeclaration","scope":62235,"src":"12440:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62103,"nodeType":"UserDefinedTypeName","pathNode":{"id":62102,"name":"CVStrategy.ProposalSupport","nameLocations":["12440:10:94","12451:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"12440:26:94"},"referencedDeclaration":57829,"src":"12440:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62104,"nodeType":"ArrayTypeName","src":"12440:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62112,"initialValue":{"arguments":[{"hexValue":"31","id":62110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12517:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12484:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62107,"nodeType":"UserDefinedTypeName","pathNode":{"id":62106,"name":"CVStrategy.ProposalSupport","nameLocations":["12488:10:94","12499:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"12488:26:94"},"referencedDeclaration":57829,"src":"12488:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62108,"nodeType":"ArrayTypeName","src":"12488:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12484:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12440:79:94"},{"expression":{"id":62121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62113,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62105,"src":"12529:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62115,"indexExpression":{"hexValue":"30","id":62114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12535:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12529:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12567:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12570:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62116,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"12540:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12551:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"12540:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12540:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"12529:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62122,"nodeType":"ExpressionStatement","src":"12529:45:94"},{"assignments":[62124],"declarations":[{"constant":false,"id":62124,"mutability":"mutable","name":"data","nameLocation":"12597:4:94","nodeType":"VariableDeclaration","scope":62235,"src":"12584:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62123,"name":"bytes","nodeType":"ElementaryTypeName","src":"12584:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62129,"initialValue":{"arguments":[{"id":62127,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62105,"src":"12615:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12604:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12608:6:94","memberName":"encode","nodeType":"MemberAccess","src":"12604:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12604:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12584:37:94"},{"expression":{"arguments":[{"id":62133,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62032,"src":"12647:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62134,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62124,"src":"12655:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62130,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"12631:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12638:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"12631:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62136,"nodeType":"ExpressionStatement","src":"12631:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62137,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"12670:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12670:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62139,"nodeType":"ExpressionStatement","src":"12670:18:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12733:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62146,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12744:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12736:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62144,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:94","typeDescriptions":{}}},"id":62147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12736:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62141,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12708:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12711:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"12708:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62149,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12752:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62140,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12699:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62151,"nodeType":"ExpressionStatement","src":"12699:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12812:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62153,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12785:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12788:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"12785:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12785:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62157,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12816:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62152,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12776:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12776:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62159,"nodeType":"ExpressionStatement","src":"12776:54:94"},{"assignments":[62161],"declarations":[{"constant":false,"id":62161,"mutability":"mutable","name":"AMOUNT_STAKED_1","nameLocation":"12849:15:94","nodeType":"VariableDeclaration","scope":62235,"src":"12841:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62160,"name":"uint256","nodeType":"ElementaryTypeName","src":"12841:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62163,"initialValue":{"hexValue":"3135303030","id":62162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12867:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"nodeType":"VariableDeclarationStatement","src":"12841:31:94"},{"assignments":[62165],"declarations":[{"constant":false,"id":62165,"mutability":"mutable","name":"cv_amount","nameLocation":"12890:9:94","nodeType":"VariableDeclaration","scope":62235,"src":"12882:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62164,"name":"uint256","nodeType":"ElementaryTypeName","src":"12882:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62172,"initialValue":{"arguments":[{"hexValue":"3130","id":62168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12929:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62170,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"12932:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62166,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12902:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12905:19:94","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":59246,"src":"12902:22:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":62171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12902:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12882:66:94"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":62176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12971:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":62177,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"12988:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62173,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"12959:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12967:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"12959:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62179,"nodeType":"ExpressionStatement","src":"12959:39:94"},{"assignments":[62181],"declarations":[{"constant":false,"id":62181,"mutability":"mutable","name":"cv_cmp","nameLocation":"13016:6:94","nodeType":"VariableDeclaration","scope":62235,"src":"13008:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62180,"name":"uint256","nodeType":"ElementaryTypeName","src":"13008:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62192,"initialValue":{"arguments":[{"hexValue":"3130","id":62183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13046:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13050:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62185,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"13053:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":62190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":62186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13070:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13082:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13088:2:94","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"13082:8:94","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"13070:20:94","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":62182,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"13025:20:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":62191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13025:66:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13008:83:94"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":62196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13113:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":62197,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62181,"src":"13127:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62193,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"13101:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13109:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"13101:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13101:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62199,"nodeType":"ExpressionStatement","src":"13101:33:94"},{"expression":{"arguments":[{"id":62201,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"13154:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62202,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62181,"src":"13165:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62200,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13145:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13145:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62204,"nodeType":"ExpressionStatement","src":"13145:27:94"},{"expression":{"arguments":[{"id":62206,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"13191:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3135303030","id":62207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13208:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"}],"id":62205,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13182:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62209,"nodeType":"ExpressionStatement","src":"13182:32:94"},{"expression":{"arguments":[{"id":62211,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"13233:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":62212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13248:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":62210,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13224:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13224:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62214,"nodeType":"ExpressionStatement","src":"13224:30:94"},{"expression":{"arguments":[{"id":62216,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"13273:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3937363938","id":62217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13284:5:94","typeDescriptions":{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"},"value":"97698"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"}],"id":62215,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13264:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13264:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62219,"nodeType":"ExpressionStatement","src":"13264:26:94"},{"expression":{"arguments":[{"arguments":[{"id":62223,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"13397:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13389:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62221,"name":"address","nodeType":"ElementaryTypeName","src":"13389:7:94","typeDescriptions":{}}},"id":62224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13389:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13427:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62228,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"13465:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13481:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"13465:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13502:8:94","memberName":"selector","nodeType":"MemberAccess","src":"13465:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62231,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"13512:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13442:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13446:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13442:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62220,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"13365:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62234,"nodeType":"ExpressionStatement","src":"13365:171:94"}]},"functionSelector":"90ff95a4","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_as_js_test","nameLocation":"11654:32:94","parameters":{"id":62024,"nodeType":"ParameterList","parameters":[],"src":"11686:2:94"},"returnParameters":{"id":62025,"nodeType":"ParameterList","parameters":[],"src":"11696:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62413,"nodeType":"FunctionDefinition","src":"13549:1626:94","nodes":[],"body":{"id":62412,"nodeType":"Block","src":"13608:1567:94","nodes":[],"statements":[{"assignments":[62243,62245],"declarations":[{"constant":false,"id":62243,"mutability":"mutable","name":"pool","nameLocation":"13637:4:94","nodeType":"VariableDeclaration","scope":62412,"src":"13619:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62242,"nodeType":"UserDefinedTypeName","pathNode":{"id":62241,"name":"IAllo.Pool","nameLocations":["13619:5:94","13625:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13619:10:94"},"referencedDeclaration":2319,"src":"13619:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62245,"mutability":"mutable","name":"poolId","nameLocation":"13651:6:94","nodeType":"VariableDeclaration","scope":62412,"src":"13643:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62244,"name":"uint256","nodeType":"ElementaryTypeName","src":"13643:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62251,"initialValue":{"arguments":[{"id":62247,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"13677:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13685:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13688:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62246,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"13661:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13661:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13618:72:94"},{"assignments":[62254],"declarations":[{"constant":false,"id":62254,"mutability":"mutable","name":"cv","nameLocation":"13712:2:94","nodeType":"VariableDeclaration","scope":62412,"src":"13701:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62253,"nodeType":"UserDefinedTypeName","pathNode":{"id":62252,"name":"CVStrategy","nameLocations":["13701:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"13701:10:94"},"referencedDeclaration":59653,"src":"13701:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62265,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62260,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62243,"src":"13744:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"13744:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13736:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62258,"name":"address","nodeType":"ElementaryTypeName","src":"13736:7:94","typeDescriptions":{}}},"id":62262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13736:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13728:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62256,"name":"address","nodeType":"ElementaryTypeName","src":"13728:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13728:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62255,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"13717:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"13701:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":62270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13797:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":62269,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13783:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13783:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62266,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13771:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13774:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"13771:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13771:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62273,"nodeType":"ExpressionStatement","src":"13771:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":62278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13864:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":62277,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13850:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13850:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62274,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13835:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13838:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"13835:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13835:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62281,"nodeType":"ExpressionStatement","src":"13835:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":62286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13931:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":62285,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13917:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62282,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13904:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13907:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"13904:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13904:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62289,"nodeType":"ExpressionStatement","src":"13904:40:94"},{"expression":{"arguments":[{"arguments":[{"id":62293,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"14063:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14055:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62291,"name":"address","nodeType":"ElementaryTypeName","src":"14055:7:94","typeDescriptions":{}}},"id":62294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14055:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14081:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62298,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"14107:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14123:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"14107:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14144:8:94","memberName":"selector","nodeType":"MemberAccess","src":"14107:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":62301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14154:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":62296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14084:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14088:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14084:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14084:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62290,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"14031:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14031:139:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62304,"nodeType":"ExpressionStatement","src":"14031:139:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14241:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62305,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"14223:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62308,"nodeType":"ExpressionStatement","src":"14223:39:94"},{"assignments":[62314],"declarations":[{"constant":false,"id":62314,"mutability":"mutable","name":"votes","nameLocation":"14308:5:94","nodeType":"VariableDeclaration","scope":62412,"src":"14272:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62312,"nodeType":"UserDefinedTypeName","pathNode":{"id":62311,"name":"CVStrategy.ProposalSupport","nameLocations":["14272:10:94","14283:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"14272:26:94"},"referencedDeclaration":57829,"src":"14272:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62313,"nodeType":"ArrayTypeName","src":"14272:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62321,"initialValue":{"arguments":[{"hexValue":"31","id":62319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14349:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14316:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62316,"nodeType":"UserDefinedTypeName","pathNode":{"id":62315,"name":"CVStrategy.ProposalSupport","nameLocations":["14320:10:94","14331:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"14320:26:94"},"referencedDeclaration":57829,"src":"14320:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62317,"nodeType":"ArrayTypeName","src":"14320:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14316:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14272:79:94"},{"expression":{"id":62330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62322,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62314,"src":"14361:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62324,"indexExpression":{"hexValue":"30","id":62323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14367:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14361:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14399:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14402:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62325,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"14372:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14383:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"14372:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14372:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"14361:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62331,"nodeType":"ExpressionStatement","src":"14361:45:94"},{"assignments":[62333],"declarations":[{"constant":false,"id":62333,"mutability":"mutable","name":"data","nameLocation":"14450:4:94","nodeType":"VariableDeclaration","scope":62412,"src":"14437:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62332,"name":"bytes","nodeType":"ElementaryTypeName","src":"14437:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62338,"initialValue":{"arguments":[{"id":62336,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62314,"src":"14468:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:6:94","memberName":"encode","nodeType":"MemberAccess","src":"14457:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14437:37:94"},{"expression":{"arguments":[{"id":62342,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62245,"src":"14500:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62343,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62333,"src":"14508:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62339,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"14484:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14491:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"14484:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62345,"nodeType":"ExpressionStatement","src":"14484:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62346,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"14523:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62348,"nodeType":"ExpressionStatement","src":"14523:18:94"},{"assignments":[62350],"declarations":[{"constant":false,"id":62350,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"14560:13:94","nodeType":"VariableDeclaration","scope":62412,"src":"14552:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62349,"name":"uint256","nodeType":"ElementaryTypeName","src":"14552:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62352,"initialValue":{"hexValue":"3435303030","id":62351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14576:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"14552:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14625:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62359,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14636:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14628:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62357,"name":"address","nodeType":"ElementaryTypeName","src":"14628:7:94","typeDescriptions":{}}},"id":62360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14628:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62354,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14600:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14603:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"14600:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14600:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62362,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14644:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62353,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14591:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14591:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62364,"nodeType":"ExpressionStatement","src":"14591:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14722:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62366,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14695:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14698:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"14695:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62370,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14726:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62365,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14686:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14686:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62372,"nodeType":"ExpressionStatement","src":"14686:54:94"},{"assignments":[62374],"declarations":[{"constant":false,"id":62374,"mutability":"mutable","name":"ct1","nameLocation":"14777:3:94","nodeType":"VariableDeclaration","scope":62412,"src":"14769:11:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62373,"name":"uint256","nodeType":"ElementaryTypeName","src":"14769:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62379,"initialValue":{"arguments":[{"hexValue":"31303030","id":62377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:4:94","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":62375,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14783:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14786:18:94","memberName":"calculateThreshold","nodeType":"MemberAccess","referencedDeclaration":59341,"src":"14783:21:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14783:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14769:41:94"},{"expression":{"arguments":[{"hexValue":"7468726573686f6c64202573","id":62383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14832:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},"value":"threshold %s"},{"id":62384,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62374,"src":"14848:3:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62380,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"14820:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14828:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"14820:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14820:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62386,"nodeType":"ExpressionStatement","src":"14820:32:94"},{"expression":{"arguments":[{"id":62388,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14871:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":62389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14886:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":62387,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14862:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14862:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62391,"nodeType":"ExpressionStatement","src":"14862:30:94"},{"expression":{"arguments":[{"id":62393,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62374,"src":"14911:3:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3530363235","id":62394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14916:5:94","typeDescriptions":{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"},"value":"50625"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"}],"id":62392,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14902:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62396,"nodeType":"ExpressionStatement","src":"14902:20:94"},{"expression":{"arguments":[{"arguments":[{"id":62400,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15029:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62398,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:94","typeDescriptions":{}}},"id":62401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15059:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62405,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15097:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15113:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"15097:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15134:8:94","memberName":"selector","nodeType":"MemberAccess","src":"15097:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62408,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"15144:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15074:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15078:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15074:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15074:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62397,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"14997:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14997:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62411,"nodeType":"ExpressionStatement","src":"14997:171:94"}]},"functionSelector":"a6f2b82f","implemented":true,"kind":"function","modifiers":[],"name":"disabled_test_threshold_check_as_js_test","nameLocation":"13558:40:94","parameters":{"id":62237,"nodeType":"ParameterList","parameters":[],"src":"13598:2:94"},"returnParameters":{"id":62238,"nodeType":"ParameterList","parameters":[],"src":"13608:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62590,"nodeType":"FunctionDefinition","src":"15181:1522:94","nodes":[],"body":{"id":62589,"nodeType":"Block","src":"15224:1479:94","nodes":[],"statements":[{"assignments":[62420,62422],"declarations":[{"constant":false,"id":62420,"mutability":"mutable","name":"pool","nameLocation":"15253:4:94","nodeType":"VariableDeclaration","scope":62589,"src":"15235:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62419,"nodeType":"UserDefinedTypeName","pathNode":{"id":62418,"name":"IAllo.Pool","nameLocations":["15235:5:94","15241:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"15235:10:94"},"referencedDeclaration":2319,"src":"15235:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62422,"mutability":"mutable","name":"poolId","nameLocation":"15267:6:94","nodeType":"VariableDeclaration","scope":62589,"src":"15259:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62421,"name":"uint256","nodeType":"ElementaryTypeName","src":"15259:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62428,"initialValue":{"arguments":[{"id":62424,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"15293:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15301:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15304:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62423,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"15277:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15277:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"15234:72:94"},{"expression":{"arguments":[{"arguments":[{"id":62432,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15404:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15396:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62430,"name":"address","nodeType":"ElementaryTypeName","src":"15396:7:94","typeDescriptions":{}}},"id":62433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15396:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15422:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62437,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15448:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15464:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"15448:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15485:8:94","memberName":"selector","nodeType":"MemberAccess","src":"15448:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":62440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15495:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":62435,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15425:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15429:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15425:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15425:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62429,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"15372:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15372:139:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62443,"nodeType":"ExpressionStatement","src":"15372:139:94"},{"assignments":[62449],"declarations":[{"constant":false,"id":62449,"mutability":"mutable","name":"votes","nameLocation":"15652:5:94","nodeType":"VariableDeclaration","scope":62589,"src":"15616:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62447,"nodeType":"UserDefinedTypeName","pathNode":{"id":62446,"name":"CVStrategy.ProposalSupport","nameLocations":["15616:10:94","15627:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"15616:26:94"},"referencedDeclaration":57829,"src":"15616:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62448,"nodeType":"ArrayTypeName","src":"15616:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":62456,"initialValue":{"arguments":[{"hexValue":"31","id":62454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15693:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15660:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62451,"nodeType":"UserDefinedTypeName","pathNode":{"id":62450,"name":"CVStrategy.ProposalSupport","nameLocations":["15664:10:94","15675:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"15664:26:94"},"referencedDeclaration":57829,"src":"15664:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62452,"nodeType":"ArrayTypeName","src":"15664:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15660:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15616:79:94"},{"expression":{"id":62465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62457,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"15705:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62459,"indexExpression":{"hexValue":"30","id":62458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15711:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15705:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15743:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15746:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62460,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"15716:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15727:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"15716:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15716:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"15705:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62466,"nodeType":"ExpressionStatement","src":"15705:45:94"},{"assignments":[62468],"declarations":[{"constant":false,"id":62468,"mutability":"mutable","name":"data","nameLocation":"15773:4:94","nodeType":"VariableDeclaration","scope":62589,"src":"15760:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62467,"name":"bytes","nodeType":"ElementaryTypeName","src":"15760:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62473,"initialValue":{"arguments":[{"id":62471,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"15791:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62469,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15780:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15784:6:94","memberName":"encode","nodeType":"MemberAccess","src":"15780:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15780:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15760:37:94"},{"expression":{"arguments":[{"id":62477,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62422,"src":"15823:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62478,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"15831:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62474,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"15807:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15814:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"15807:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62480,"nodeType":"ExpressionStatement","src":"15807:29:94"},{"assignments":[62482],"declarations":[{"constant":false,"id":62482,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"15886:13:94","nodeType":"VariableDeclaration","scope":62589,"src":"15878:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62481,"name":"uint256","nodeType":"ElementaryTypeName","src":"15878:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62484,"initialValue":{"hexValue":"3435303030","id":62483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"15878:29:94"},{"assignments":[62487],"declarations":[{"constant":false,"id":62487,"mutability":"mutable","name":"cv","nameLocation":"15928:2:94","nodeType":"VariableDeclaration","scope":62589,"src":"15917:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62486,"nodeType":"UserDefinedTypeName","pathNode":{"id":62485,"name":"CVStrategy","nameLocations":["15917:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"15917:10:94"},"referencedDeclaration":59653,"src":"15917:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62498,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62493,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62420,"src":"15960:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"15960:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15952:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62491,"name":"address","nodeType":"ElementaryTypeName","src":"15952:7:94","typeDescriptions":{}}},"id":62495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15952:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15944:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62489,"name":"address","nodeType":"ElementaryTypeName","src":"15944:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15944:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62488,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"15933:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"15917:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62505,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16031:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16023:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62503,"name":"address","nodeType":"ElementaryTypeName","src":"16023:7:94","typeDescriptions":{}}},"id":62506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16023:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62500,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"15995:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15998:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"15995:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15995:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62508,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"16039:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62499,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"15986:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15986:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62510,"nodeType":"ExpressionStatement","src":"15986:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16099:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62512,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16072:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16075:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"16072:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16072:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62516,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"16103:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62511,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"16063:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16063:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62518,"nodeType":"ExpressionStatement","src":"16063:54:94"},{"expression":{"id":62528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62519,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"16128:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62521,"indexExpression":{"hexValue":"30","id":62520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16128:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16166:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"16169:4:94","subExpression":{"hexValue":"313030","id":62525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16170:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62522,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"16139:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16150:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"16139:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"16128:46:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62529,"nodeType":"ExpressionStatement","src":"16128:46:94"},{"expression":{"id":62535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62530,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"16184:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62533,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"16202:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16191:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16195:6:94","memberName":"encode","nodeType":"MemberAccess","src":"16191:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"16184:24:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62536,"nodeType":"ExpressionStatement","src":"16184:24:94"},{"expression":{"arguments":[{"id":62540,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62422,"src":"16234:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62541,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"16242:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62537,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"16218:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"16218:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62543,"nodeType":"ExpressionStatement","src":"16218:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16292:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62550,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16303:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16295:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62548,"name":"address","nodeType":"ElementaryTypeName","src":"16295:7:94","typeDescriptions":{}}},"id":62551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16295:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62545,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16267:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16270:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"16267:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16267:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16311:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65","id":62554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16314:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""},"value":"VoterStake"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""}],"id":62544,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16258:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16258:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62556,"nodeType":"ExpressionStatement","src":"16258:69:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16373:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62558,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16346:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"16346:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16346:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16377:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"5374616b6564416d6f756e74","id":62563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16380:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""},"value":"StakedAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""}],"id":62557,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16337:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16337:58:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62565,"nodeType":"ExpressionStatement","src":"16337:58:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62567,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16415:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16418:11:94","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":57867,"src":"16415:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16415:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16433:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564","id":62571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16436:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""},"value":"TotalStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""}],"id":62566,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16406:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:44:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62573,"nodeType":"ExpressionStatement","src":"16406:44:94"},{"expression":{"arguments":[{"arguments":[{"id":62577,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"16557:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16549:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62575,"name":"address","nodeType":"ElementaryTypeName","src":"16549:7:94","typeDescriptions":{}}},"id":62578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16549:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16587:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62582,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"16625:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16641:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"16625:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16662:8:94","memberName":"selector","nodeType":"MemberAccess","src":"16625:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62585,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"16672:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62580,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16602:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16606:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16602:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62574,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64493,"src":"16525:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16525:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62588,"nodeType":"ExpressionStatement","src":"16525:171:94"}]},"functionSelector":"61164d4e","implemented":true,"kind":"function","modifiers":[],"name":"test_total_staked_amount","nameLocation":"15190:24:94","parameters":{"id":62414,"nodeType":"ParameterList","parameters":[],"src":"15214:2:94"},"returnParameters":{"id":62415,"nodeType":"ParameterList","parameters":[],"src":"15224:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62689,"nodeType":"FunctionDefinition","src":"16709:866:94","nodes":[],"body":{"id":62688,"nodeType":"Block","src":"16769:806:94","nodes":[],"statements":[{"assignments":[62597,62599],"declarations":[{"constant":false,"id":62597,"mutability":"mutable","name":"pool","nameLocation":"16798:4:94","nodeType":"VariableDeclaration","scope":62688,"src":"16780:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62596,"nodeType":"UserDefinedTypeName","pathNode":{"id":62595,"name":"IAllo.Pool","nameLocations":["16780:5:94","16786:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"16780:10:94"},"referencedDeclaration":2319,"src":"16780:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62599,"mutability":"mutable","name":"poolId","nameLocation":"16812:6:94","nodeType":"VariableDeclaration","scope":62688,"src":"16804:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62598,"name":"uint256","nodeType":"ElementaryTypeName","src":"16804:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62605,"initialValue":{"arguments":[{"id":62601,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16838:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16846:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16849:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62600,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"16822:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16779:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16934:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62606,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"16916:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62609,"nodeType":"ExpressionStatement","src":"16916:39:94"},{"assignments":[62615],"declarations":[{"constant":false,"id":62615,"mutability":"mutable","name":"votes","nameLocation":"17001:5:94","nodeType":"VariableDeclaration","scope":62688,"src":"16965:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62613,"nodeType":"UserDefinedTypeName","pathNode":{"id":62612,"name":"CVStrategy.ProposalSupport","nameLocations":["16965:10:94","16976:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"16965:26:94"},"referencedDeclaration":57829,"src":"16965:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62614,"nodeType":"ArrayTypeName","src":"16965:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62622,"initialValue":{"arguments":[{"hexValue":"32","id":62620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17042:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17009:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62617,"nodeType":"UserDefinedTypeName","pathNode":{"id":62616,"name":"CVStrategy.ProposalSupport","nameLocations":["17013:10:94","17024:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"17013:26:94"},"referencedDeclaration":57829,"src":"17013:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62618,"nodeType":"ArrayTypeName","src":"17013:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17009:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16965:79:94"},{"expression":{"id":62631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62623,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17054:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62625,"indexExpression":{"hexValue":"30","id":62624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17060:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17054:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17092:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17095:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62626,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17065:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17076:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"17065:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"17054:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62632,"nodeType":"ExpressionStatement","src":"17054:45:94"},{"expression":{"baseExpression":{"id":62633,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17109:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62635,"indexExpression":{"hexValue":"31","id":62634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17115:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17109:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62636,"nodeType":"ExpressionStatement","src":"17109:8:94"},{"assignments":[62638],"declarations":[{"constant":false,"id":62638,"mutability":"mutable","name":"data","nameLocation":"17140:4:94","nodeType":"VariableDeclaration","scope":62688,"src":"17127:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62637,"name":"bytes","nodeType":"ElementaryTypeName","src":"17127:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62643,"initialValue":{"arguments":[{"id":62641,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17158:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17147:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17151:6:94","memberName":"encode","nodeType":"MemberAccess","src":"17147:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17127:37:94"},{"expression":{"arguments":[{"id":62647,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62599,"src":"17296:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62648,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62638,"src":"17304:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62644,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"17280:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17287:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"17280:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62650,"nodeType":"ExpressionStatement","src":"17280:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62651,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"17319:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17319:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62653,"nodeType":"ExpressionStatement","src":"17319:18:94"},{"assignments":[62656],"declarations":[{"constant":false,"id":62656,"mutability":"mutable","name":"cv","nameLocation":"17359:2:94","nodeType":"VariableDeclaration","scope":62688,"src":"17348:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62655,"nodeType":"UserDefinedTypeName","pathNode":{"id":62654,"name":"CVStrategy","nameLocations":["17348:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"17348:10:94"},"referencedDeclaration":59653,"src":"17348:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62667,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62662,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62597,"src":"17391:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17396:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17391:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17383:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62660,"name":"address","nodeType":"ElementaryTypeName","src":"17383:7:94","typeDescriptions":{}}},"id":62664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17383:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17375:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62658,"name":"address","nodeType":"ElementaryTypeName","src":"17375:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17375:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62657,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17364:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17364:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17348:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17452:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62674,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17463:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17455:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62672,"name":"address","nodeType":"ElementaryTypeName","src":"17455:7:94","typeDescriptions":{}}},"id":62675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62669,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62656,"src":"17427:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17430:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"17427:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17427:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62677,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"17471:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62668,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17418:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62679,"nodeType":"ExpressionStatement","src":"17418:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17550:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62681,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62656,"src":"17523:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17526:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"17523:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62685,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"17554:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62680,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17514:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17514:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62687,"nodeType":"ExpressionStatement","src":"17514:54:94"}]},"functionSelector":"39b7e525","implemented":true,"kind":"function","modifiers":[],"name":"test_allocate_proposalSupport_empty_array","nameLocation":"16718:41:94","parameters":{"id":62591,"nodeType":"ParameterList","parameters":[],"src":"16759:2:94"},"returnParameters":{"id":62592,"nodeType":"ParameterList","parameters":[],"src":"16769:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63071,"nodeType":"FunctionDefinition","src":"17581:3967:94","nodes":[],"body":{"id":63070,"nodeType":"Block","src":"17651:3897:94","nodes":[],"statements":[{"assignments":[62696,62698],"declarations":[{"constant":false,"id":62696,"mutability":"mutable","name":"pool","nameLocation":"17680:4:94","nodeType":"VariableDeclaration","scope":63070,"src":"17662:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62695,"nodeType":"UserDefinedTypeName","pathNode":{"id":62694,"name":"IAllo.Pool","nameLocations":["17662:5:94","17668:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"17662:10:94"},"referencedDeclaration":2319,"src":"17662:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62698,"mutability":"mutable","name":"poolId","nameLocation":"17694:6:94","nodeType":"VariableDeclaration","scope":63070,"src":"17686:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62697,"name":"uint256","nodeType":"ElementaryTypeName","src":"17686:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62707,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":62702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17728:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17720:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62700,"name":"address","nodeType":"ElementaryTypeName","src":"17720:7:94","typeDescriptions":{}}},"id":62703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3530","id":62704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17732:8:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50"},{"hexValue":"315f303030","id":62705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17742:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":62699,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"17704:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17704:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"17661:93:94"},{"assignments":[62710],"declarations":[{"constant":false,"id":62710,"mutability":"mutable","name":"cv","nameLocation":"17776:2:94","nodeType":"VariableDeclaration","scope":63070,"src":"17765:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62709,"nodeType":"UserDefinedTypeName","pathNode":{"id":62708,"name":"CVStrategy","nameLocations":["17765:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"17765:10:94"},"referencedDeclaration":59653,"src":"17765:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62721,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62716,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62696,"src":"17808:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62717,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17813:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17808:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17800:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62714,"name":"address","nodeType":"ElementaryTypeName","src":"17800:7:94","typeDescriptions":{}}},"id":62718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17800:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17792:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62712,"name":"address","nodeType":"ElementaryTypeName","src":"17792:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17792:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62711,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17781:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17781:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17765:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":62726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18110:15:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":62725,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18096:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18096:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62722,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18084:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18087:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"18084:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18084:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62729,"nodeType":"ExpressionStatement","src":"18084:43:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":62734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18183:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":62733,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18169:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18169:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62730,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18154:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18157:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"18154:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18154:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62737,"nodeType":"ExpressionStatement","src":"18154:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":62742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18250:12:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":62741,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18236:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18236:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62738,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18223:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18226:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"18223:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18223:41:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62745,"nodeType":"ExpressionStatement","src":"18223:41:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18367:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62746,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"18349:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18349:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62749,"nodeType":"ExpressionStatement","src":"18349:39:94"},{"assignments":[62751],"declarations":[{"constant":false,"id":62751,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"18405:11:94","nodeType":"VariableDeclaration","scope":63070,"src":"18398:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62750,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":62753,"initialValue":{"hexValue":"313030","id":62752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18419:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"18398:24:94"},{"assignments":[62759],"declarations":[{"constant":false,"id":62759,"mutability":"mutable","name":"votes","nameLocation":"18468:5:94","nodeType":"VariableDeclaration","scope":63070,"src":"18432:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62757,"nodeType":"UserDefinedTypeName","pathNode":{"id":62756,"name":"CVStrategy.ProposalSupport","nameLocations":["18432:10:94","18443:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"18432:26:94"},"referencedDeclaration":57829,"src":"18432:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62758,"nodeType":"ArrayTypeName","src":"18432:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62766,"initialValue":{"arguments":[{"hexValue":"31","id":62764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18509:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18476:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62761,"nodeType":"UserDefinedTypeName","pathNode":{"id":62760,"name":"CVStrategy.ProposalSupport","nameLocations":["18480:10:94","18491:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"18480:26:94"},"referencedDeclaration":57829,"src":"18480:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62762,"nodeType":"ArrayTypeName","src":"18480:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18476:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18432:79:94"},{"expression":{"id":62775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62767,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62759,"src":"18521:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62769,"indexExpression":{"hexValue":"30","id":62768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18527:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18521:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18559:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62773,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62751,"src":"18562:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":62770,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"18532:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18543:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"18532:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18532:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"18521:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62776,"nodeType":"ExpressionStatement","src":"18521:53:94"},{"assignments":[62778],"declarations":[{"constant":false,"id":62778,"mutability":"mutable","name":"data","nameLocation":"18618:4:94","nodeType":"VariableDeclaration","scope":63070,"src":"18605:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62777,"name":"bytes","nodeType":"ElementaryTypeName","src":"18605:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62783,"initialValue":{"arguments":[{"id":62781,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62759,"src":"18636:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18625:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18629:6:94","memberName":"encode","nodeType":"MemberAccess","src":"18625:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18625:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18605:37:94"},{"expression":{"arguments":[{"id":62787,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"18668:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62788,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"18676:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62784,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"18652:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18659:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"18652:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62790,"nodeType":"ExpressionStatement","src":"18652:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62791,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"18691:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62793,"nodeType":"ExpressionStatement","src":"18691:18:94"},{"assignments":[62795],"declarations":[{"constant":false,"id":62795,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"18728:13:94","nodeType":"VariableDeclaration","scope":63070,"src":"18720:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62794,"name":"uint256","nodeType":"ElementaryTypeName","src":"18720:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62804,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62798,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62751,"src":"18752:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18744:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":62796,"name":"uint256","nodeType":"ElementaryTypeName","src":"18744:7:94","typeDescriptions":{}}},"id":62799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18744:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62800,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"18767:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18744:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":62802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18783:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"18744:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18720:66:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18830:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62811,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18841:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":62810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18833:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62809,"name":"address","nodeType":"ElementaryTypeName","src":"18833:7:94","typeDescriptions":{}}},"id":62812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62806,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18805:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18808:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"18805:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18805:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62814,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"18849:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62805,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18796:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18796:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62816,"nodeType":"ExpressionStatement","src":"18796:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18927:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62818,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18900:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18903:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"18900:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18900:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62822,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"18931:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62817,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18891:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18891:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62824,"nodeType":"ExpressionStatement","src":"18891:54:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62828,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19042:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19042:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62825,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19028:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19031:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"19028:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19028:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62831,"nodeType":"ExpressionStatement","src":"19028:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62832,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19158:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19161:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"19158:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19158:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62836,"nodeType":"ExpressionStatement","src":"19158:19:94"},{"assignments":[62842],"declarations":[{"constant":false,"id":62842,"mutability":"mutable","name":"votes2","nameLocation":"19224:6:94","nodeType":"VariableDeclaration","scope":63070,"src":"19188:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62840,"nodeType":"UserDefinedTypeName","pathNode":{"id":62839,"name":"CVStrategy.ProposalSupport","nameLocations":["19188:10:94","19199:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"19188:26:94"},"referencedDeclaration":57829,"src":"19188:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62841,"nodeType":"ArrayTypeName","src":"19188:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62849,"initialValue":{"arguments":[{"hexValue":"31","id":62847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19266:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19233:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62844,"nodeType":"UserDefinedTypeName","pathNode":{"id":62843,"name":"CVStrategy.ProposalSupport","nameLocations":["19237:10:94","19248:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"19237:26:94"},"referencedDeclaration":57829,"src":"19237:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62845,"nodeType":"ArrayTypeName","src":"19237:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19233:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19188:80:94"},{"assignments":[62851],"declarations":[{"constant":false,"id":62851,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"19285:12:94","nodeType":"VariableDeclaration","scope":63070,"src":"19278:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62850,"name":"int256","nodeType":"ElementaryTypeName","src":"19278:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":62853,"initialValue":{"hexValue":"313030","id":62852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19300:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"19278:25:94"},{"expression":{"id":62862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62854,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62842,"src":"19313:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62856,"indexExpression":{"hexValue":"30","id":62855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19320:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19313:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19352:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62860,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62851,"src":"19355:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":62857,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"19325:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19336:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"19325:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19325:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"19313:55:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62863,"nodeType":"ExpressionStatement","src":"19313:55:94"},{"expression":{"id":62869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62864,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"19378:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62867,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62842,"src":"19396:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62865,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19385:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19389:6:94","memberName":"encode","nodeType":"MemberAccess","src":"19385:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19385:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19378:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62870,"nodeType":"ExpressionStatement","src":"19378:25:94"},{"expression":{"arguments":[{"id":62874,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"19480:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62875,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"19488:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62871,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"19464:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19471:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"19464:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62877,"nodeType":"ExpressionStatement","src":"19464:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19503:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19506:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"19503:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19503:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62882,"nodeType":"ExpressionStatement","src":"19503:14:94"},{"assignments":[62884],"declarations":[{"constant":false,"id":62884,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"19536:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"19528:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62883,"name":"uint256","nodeType":"ElementaryTypeName","src":"19528:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62893,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62887,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62851,"src":"19561:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19553:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":62885,"name":"uint256","nodeType":"ElementaryTypeName","src":"19553:7:94","typeDescriptions":{}}},"id":62888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19553:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62889,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"19577:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19553:37:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":62891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19593:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"19553:43:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19528:68:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19641:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62900,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19652:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19652:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19644:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62898,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:94","typeDescriptions":{}}},"id":62902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19644:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62895,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19616:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19619:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"19616:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62904,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62884,"src":"19668:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62894,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19607:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19607:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62906,"nodeType":"ExpressionStatement","src":"19607:76:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19748:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62908,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19721:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19724:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"19721:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19721:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62912,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"19752:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62913,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62884,"src":"19768:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19752:30:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62907,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19712:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19712:71:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62916,"nodeType":"ExpressionStatement","src":"19712:71:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":62920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19860:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":62921,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"19883:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":62922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19889:6:94","memberName":"number","nodeType":"MemberAccess","src":"19883:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62917,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"19848:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19856:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"19848:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19848:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62924,"nodeType":"ExpressionStatement","src":"19848:48:94"},{"assignments":[62926],"declarations":[{"constant":false,"id":62926,"mutability":"mutable","name":"totalEffectiveActivePoints","nameLocation":"19914:26:94","nodeType":"VariableDeclaration","scope":63070,"src":"19906:34:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62925,"name":"uint256","nodeType":"ElementaryTypeName","src":"19906:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62930,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62927,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19943:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19946:26:94","memberName":"totalEffectiveActivePoints","nodeType":"MemberAccess","referencedDeclaration":59478,"src":"19943:29:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19943:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19906:68:94"},{"expression":{"arguments":[{"hexValue":"746f74616c456666656374697665416374697665506f696e7473","id":62934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19996:28:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},"value":"totalEffectiveActivePoints"},{"id":62935,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20026:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62931,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"19984:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19992:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"19984:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62937,"nodeType":"ExpressionStatement","src":"19984:69:94"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":62941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20075:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"id":62944,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20110:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62942,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20090:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20093:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20090:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20090:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62938,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20063:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20071:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20063:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62947,"nodeType":"ExpressionStatement","src":"20063:75:94"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":62951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20160:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":62956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20222:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62954,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20195:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20198:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"20195:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20195:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62952,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20175:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20178:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20175:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20175:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62948,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20148:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20156:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20148:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20148:78:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62960,"nodeType":"ExpressionStatement","src":"20148:78:94"},{"expression":{"arguments":[{"arguments":[{"id":62964,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20266:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62962,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20246:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20249:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20246:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"323839303334","id":62966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20295:6:94","typeDescriptions":{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},"value":"289034"},{"hexValue":"6d61784356537570706c79","id":62967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20303:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""}],"id":62961,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20237:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20237:80:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62969,"nodeType":"ExpressionStatement","src":"20237:80:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"31","id":62975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20383:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62973,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20356:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20359:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"20356:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62971,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20336:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20339:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20336:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20336:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3238393033","id":62978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20388:5:94","typeDescriptions":{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},"value":"28903"},{"hexValue":"6d617843565374616b6564","id":62979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20395:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""}],"id":62970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20327:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20327:82:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62981,"nodeType":"ExpressionStatement","src":"20327:82:94"},{"expression":{"arguments":[{"hexValue":"313130","id":62985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20428:3:94","typeDescriptions":{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"},"value":"110"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"}],"expression":{"id":62982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"20420:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20423:4:94","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23810,"src":"20420:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20420:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62987,"nodeType":"ExpressionStatement","src":"20420:12:94"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":62991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20454:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":62992,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20476:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":62993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20482:6:94","memberName":"number","nodeType":"MemberAccess","src":"20476:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62988,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20442:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20450:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20442:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20442:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62995,"nodeType":"ExpressionStatement","src":"20442:47:94"},{"expression":{"arguments":[{"hexValue":"31","id":62999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20774:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62996,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20746:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20749:24:94","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":59576,"src":"20746:27:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":63000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20746:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63001,"nodeType":"ExpressionStatement","src":"20746:30:94"},{"assignments":[null,null,null,63003,63005,null,null,null,63007,null,63009,63011],"declarations":[null,null,null,{"constant":false,"id":63003,"mutability":"mutable","name":"requestedAmount","nameLocation":"20851:15:94","nodeType":"VariableDeclaration","scope":63070,"src":"20843:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63002,"name":"uint256","nodeType":"ElementaryTypeName","src":"20843:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63005,"mutability":"mutable","name":"stakedTokens","nameLocation":"20888:12:94","nodeType":"VariableDeclaration","scope":63070,"src":"20880:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63004,"name":"uint256","nodeType":"ElementaryTypeName","src":"20880:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":63007,"mutability":"mutable","name":"convictionLast","nameLocation":"20964:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"20956:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63006,"name":"uint256","nodeType":"ElementaryTypeName","src":"20956:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63009,"mutability":"mutable","name":"threshold","nameLocation":"21014:9:94","nodeType":"VariableDeclaration","scope":63070,"src":"21006:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63008,"name":"uint256","nodeType":"ElementaryTypeName","src":"21006:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63011,"mutability":"mutable","name":"voterPointsPct","nameLocation":"21045:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"21037:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63010,"name":"uint256","nodeType":"ElementaryTypeName","src":"21037:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63016,"initialValue":{"arguments":[{"hexValue":"31","id":63014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21087:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63012,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"21072:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21075:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"21072:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20787:302:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21112:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63021,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63003,"src":"21136:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63017,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21100:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21108:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21100:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21100:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63023,"nodeType":"ExpressionStatement","src":"21100:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21174:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63028,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63005,"src":"21195:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63024,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21162:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21170:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21162:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21162:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63030,"nodeType":"ExpressionStatement","src":"21162:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21230:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63035,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63009,"src":"21247:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63031,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21218:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21226:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21218:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21218:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63037,"nodeType":"ExpressionStatement","src":"21218:39:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21279:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63042,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63007,"src":"21302:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63038,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21267:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21275:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21267:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21267:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63044,"nodeType":"ExpressionStatement","src":"21267:50:94"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":63048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21339:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":63049,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63011,"src":"21362:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63045,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21327:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21335:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21327:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63051,"nodeType":"ExpressionStatement","src":"21327:50:94"},{"expression":{"arguments":[{"id":63053,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63009,"src":"21396:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3537383036","id":63054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21407:5:94","typeDescriptions":{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},"value":"57806"},{"hexValue":"7468726573686f6c64","id":63055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21414:11:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""},"value":"threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""}],"id":63052,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21387:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21387:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63057,"nodeType":"ExpressionStatement","src":"21387:39:94"},{"expression":{"arguments":[{"id":63059,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63007,"src":"21445:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"39303933","id":63060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21461:4:94","typeDescriptions":{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},"value":"9093"},{"hexValue":"636f6e76696374696f6e4c617374","id":63061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21467:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""},"value":"convictionLast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""}],"id":63058,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21436:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21436:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63063,"nodeType":"ExpressionStatement","src":"21436:48:94"},{"expression":{"arguments":[{"id":63065,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63011,"src":"21503:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313030","id":63066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21519:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"766f746572506f696e7473506374","id":63067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21524:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""},"value":"voterPointsPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""}],"id":63064,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21494:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21494:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63069,"nodeType":"ExpressionStatement","src":"21494:47:94"}]},"functionSelector":"503c712e","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_conviction_threshold_2_users","nameLocation":"17590:51:94","parameters":{"id":62690,"nodeType":"ParameterList","parameters":[],"src":"17641:2:94"},"returnParameters":{"id":62691,"nodeType":"ParameterList","parameters":[],"src":"17651:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63428,"nodeType":"FunctionDefinition","src":"21554:3158:94","nodes":[],"body":{"id":63427,"nodeType":"Block","src":"21597:3115:94","nodes":[],"statements":[{"assignments":[63078,63080],"declarations":[{"constant":false,"id":63078,"mutability":"mutable","name":"pool","nameLocation":"21626:4:94","nodeType":"VariableDeclaration","scope":63427,"src":"21608:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63077,"nodeType":"UserDefinedTypeName","pathNode":{"id":63076,"name":"IAllo.Pool","nameLocations":["21608:5:94","21614:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21608:10:94"},"referencedDeclaration":2319,"src":"21608:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63080,"mutability":"mutable","name":"poolId","nameLocation":"21640:6:94","nodeType":"VariableDeclaration","scope":63427,"src":"21632:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63079,"name":"uint256","nodeType":"ElementaryTypeName","src":"21632:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63086,"initialValue":{"arguments":[{"id":63082,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21666:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21674:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21677:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63081,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"21650:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21650:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21607:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21762:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63087,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"21744:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21744:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63090,"nodeType":"ExpressionStatement","src":"21744:39:94"},{"assignments":[63092],"declarations":[{"constant":false,"id":63092,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"21800:11:94","nodeType":"VariableDeclaration","scope":63427,"src":"21793:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63091,"name":"int256","nodeType":"ElementaryTypeName","src":"21793:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63094,"initialValue":{"hexValue":"3830","id":63093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21814:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"VariableDeclarationStatement","src":"21793:23:94"},{"assignments":[63100],"declarations":[{"constant":false,"id":63100,"mutability":"mutable","name":"votes","nameLocation":"21862:5:94","nodeType":"VariableDeclaration","scope":63427,"src":"21826:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63098,"nodeType":"UserDefinedTypeName","pathNode":{"id":63097,"name":"CVStrategy.ProposalSupport","nameLocations":["21826:10:94","21837:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"21826:26:94"},"referencedDeclaration":57829,"src":"21826:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63099,"nodeType":"ArrayTypeName","src":"21826:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63107,"initialValue":{"arguments":[{"hexValue":"31","id":63105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21903:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"21870:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63102,"nodeType":"UserDefinedTypeName","pathNode":{"id":63101,"name":"CVStrategy.ProposalSupport","nameLocations":["21874:10:94","21885:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"21874:26:94"},"referencedDeclaration":57829,"src":"21874:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63103,"nodeType":"ArrayTypeName","src":"21874:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21870:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"21826:79:94"},{"expression":{"id":63116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63108,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"21915:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63110,"indexExpression":{"hexValue":"30","id":63109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21921:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21915:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21953:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63114,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"21956:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63111,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"21926:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21937:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"21926:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21926:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"21915:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63117,"nodeType":"ExpressionStatement","src":"21915:53:94"},{"assignments":[63119],"declarations":[{"constant":false,"id":63119,"mutability":"mutable","name":"data","nameLocation":"22012:4:94","nodeType":"VariableDeclaration","scope":63427,"src":"21999:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63118,"name":"bytes","nodeType":"ElementaryTypeName","src":"21999:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63124,"initialValue":{"arguments":[{"id":63122,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"22030:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22019:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22023:6:94","memberName":"encode","nodeType":"MemberAccess","src":"22019:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22019:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21999:37:94"},{"expression":{"arguments":[{"id":63128,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22062:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63129,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"22070:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63125,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22046:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22053:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"22046:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63131,"nodeType":"ExpressionStatement","src":"22046:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63132,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"22085:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22085:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63134,"nodeType":"ExpressionStatement","src":"22085:18:94"},{"assignments":[63136],"declarations":[{"constant":false,"id":63136,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"22122:13:94","nodeType":"VariableDeclaration","scope":63427,"src":"22114:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63135,"name":"uint256","nodeType":"ElementaryTypeName","src":"22114:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63139,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"22146:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22138:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63137,"name":"uint256","nodeType":"ElementaryTypeName","src":"22138:7:94","typeDescriptions":{}}},"id":63140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22138:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63141,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"22161:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22138:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22177:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"22138:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22114:66:94"},{"assignments":[63148],"declarations":[{"constant":false,"id":63148,"mutability":"mutable","name":"cv","nameLocation":"22201:2:94","nodeType":"VariableDeclaration","scope":63427,"src":"22190:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63147,"nodeType":"UserDefinedTypeName","pathNode":{"id":63146,"name":"CVStrategy","nameLocations":["22190:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"22190:10:94"},"referencedDeclaration":59653,"src":"22190:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63159,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63154,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63078,"src":"22233:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22238:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"22233:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22225:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63152,"name":"address","nodeType":"ElementaryTypeName","src":"22225:7:94","typeDescriptions":{}}},"id":63156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22225:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22217:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63150,"name":"address","nodeType":"ElementaryTypeName","src":"22217:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63149,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22206:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22206:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"22190:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22293:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63166,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22304:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":63165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22296:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63164,"name":"address","nodeType":"ElementaryTypeName","src":"22296:7:94","typeDescriptions":{}}},"id":63167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22296:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63161,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"22268:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22271:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"22268:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22268:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63169,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63136,"src":"22312:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6531","id":63170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22327:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""},"value":"ProposalVoterStake1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""}],"id":63160,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"22259:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22259:90:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63172,"nodeType":"ExpressionStatement","src":"22259:90:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22413:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63174,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"22386:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"22386:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63178,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63136,"src":"22417:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63173,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"22377:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22377:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63180,"nodeType":"ExpressionStatement","src":"22377:54:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63184,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22528:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63181,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"22514:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22517:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"22514:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22514:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63187,"nodeType":"ExpressionStatement","src":"22514:27:94"},{"assignments":[63189],"declarations":[{"constant":false,"id":63189,"mutability":"mutable","name":"proposalID2","nameLocation":"22560:11:94","nodeType":"VariableDeclaration","scope":63427,"src":"22552:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63188,"name":"uint256","nodeType":"ElementaryTypeName","src":"22552:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63191,"initialValue":{"hexValue":"32","id":63190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22574:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"22552:23:94"},{"assignments":[63196],"declarations":[{"constant":false,"id":63196,"mutability":"mutable","name":"proposal","nameLocation":"22618:8:94","nodeType":"VariableDeclaration","scope":63427,"src":"22585:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63195,"nodeType":"UserDefinedTypeName","pathNode":{"id":63194,"name":"CVStrategy.CreateProposal","nameLocations":["22585:10:94","22596:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"22585:25:94"},"referencedDeclaration":57786,"src":"22585:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63212,"initialValue":{"arguments":[{"id":63199,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"22668:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63200,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22681:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63201,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22689:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22689:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63203,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22703:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22714:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"22703:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22727:7:94","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57770,"src":"22703:31:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":63206,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"22736:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63209,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"22762:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":63208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22754:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63207,"name":"address","nodeType":"ElementaryTypeName","src":"22754:7:94","typeDescriptions":{}}},"id":63210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22754:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63197,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22629:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22640:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"22629:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22629:149:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"22585:193:94"},{"assignments":[63214],"declarations":[{"constant":false,"id":63214,"mutability":"mutable","name":"data2","nameLocation":"22801:5:94","nodeType":"VariableDeclaration","scope":63427,"src":"22788:18:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63213,"name":"bytes","nodeType":"ElementaryTypeName","src":"22788:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63219,"initialValue":{"arguments":[{"id":63217,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63196,"src":"22820:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63215,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22809:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22813:6:94","memberName":"encode","nodeType":"MemberAccess","src":"22809:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22809:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22788:41:94"},{"expression":{"arguments":[{"id":63223,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22864:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63224,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63214,"src":"22872:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63220,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22839:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22846:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"22839:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63226,"nodeType":"ExpressionStatement","src":"22839:39:94"},{"expression":{"arguments":[{"arguments":[{"id":63232,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"22911:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":63231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22903:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63230,"name":"address","nodeType":"ElementaryTypeName","src":"22903:7:94","typeDescriptions":{}}},"id":63233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22903:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63234,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"22929:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22945:20:94","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60385,"src":"22929:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22929:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63227,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"22889:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":63229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22895:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"22889:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":63237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:79:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63238,"nodeType":"ExpressionStatement","src":"22889:79:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63239,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23031:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"23031:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23031:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63243,"nodeType":"ExpressionStatement","src":"23031:19:94"},{"assignments":[63249],"declarations":[{"constant":false,"id":63249,"mutability":"mutable","name":"votes2","nameLocation":"23097:6:94","nodeType":"VariableDeclaration","scope":63427,"src":"23061:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63247,"nodeType":"UserDefinedTypeName","pathNode":{"id":63246,"name":"CVStrategy.ProposalSupport","nameLocations":["23061:10:94","23072:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"23061:26:94"},"referencedDeclaration":57829,"src":"23061:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63248,"nodeType":"ArrayTypeName","src":"23061:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63256,"initialValue":{"arguments":[{"hexValue":"31","id":63254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23139:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"23106:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63251,"nodeType":"UserDefinedTypeName","pathNode":{"id":63250,"name":"CVStrategy.ProposalSupport","nameLocations":["23110:10:94","23121:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"23110:26:94"},"referencedDeclaration":57829,"src":"23110:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63252,"nodeType":"ArrayTypeName","src":"23110:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23106:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23061:80:94"},{"assignments":[63258],"declarations":[{"constant":false,"id":63258,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"23158:12:94","nodeType":"VariableDeclaration","scope":63427,"src":"23151:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63257,"name":"int256","nodeType":"ElementaryTypeName","src":"23151:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63260,"initialValue":{"hexValue":"313030","id":63259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23173:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"23151:25:94"},{"expression":{"id":63269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63261,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63249,"src":"23186:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63263,"indexExpression":{"hexValue":"30","id":63262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23193:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23186:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63266,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23225:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63267,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63258,"src":"23238:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63264,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"23198:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23209:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"23198:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:53:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"23186:65:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63270,"nodeType":"ExpressionStatement","src":"23186:65:94"},{"expression":{"id":63276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63271,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"23261:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63274,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63249,"src":"23279:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23268:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23272:6:94","memberName":"encode","nodeType":"MemberAccess","src":"23268:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23268:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"23261:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63277,"nodeType":"ExpressionStatement","src":"23261:25:94"},{"expression":{"arguments":[{"id":63281,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"23363:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63282,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"23371:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63278,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"23347:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23354:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"23347:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63284,"nodeType":"ExpressionStatement","src":"23347:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23386:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23389:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"23386:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23386:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63289,"nodeType":"ExpressionStatement","src":"23386:14:94"},{"assignments":[63291],"declarations":[{"constant":false,"id":63291,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"23419:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"23411:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63290,"name":"uint256","nodeType":"ElementaryTypeName","src":"23411:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63300,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63294,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63258,"src":"23444:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63292,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:94","typeDescriptions":{}}},"id":63295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23436:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63296,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"23460:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23436:37:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23476:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"23436:43:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23411:68:94"},{"expression":{"arguments":[{"arguments":[{"id":63304,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23524:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63307,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"23545:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23545:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23537:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63305,"name":"address","nodeType":"ElementaryTypeName","src":"23537:7:94","typeDescriptions":{}}},"id":63309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23537:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63302,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23499:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23502:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"23499:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23499:60:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63311,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"23561:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6532","id":63312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23577:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""},"value":"ProposalVoterStake2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""}],"id":63301,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23490:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:109:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63314,"nodeType":"ExpressionStatement","src":"23490:109:94"},{"expression":{"arguments":[{"arguments":[{"id":63318,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23664:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63316,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23637:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23640:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"23637:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23637:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63320,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"23678:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5374616b65644d6f756e7432","id":63321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23694:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""},"value":"StakedMount2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""}],"id":63315,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23628:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23628:81:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63323,"nodeType":"ExpressionStatement","src":"23628:81:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":63327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23786:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":63328,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23809:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":63329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23815:6:94","memberName":"number","nodeType":"MemberAccess","src":"23809:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63324,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23774:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23782:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23774:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23774:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63331,"nodeType":"ExpressionStatement","src":"23774:48:94"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":63335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23844:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63338,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23879:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23882:11:94","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":57867,"src":"23879:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23879:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63336,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23862:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"23859:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23859:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63332,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23832:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23840:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23832:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23832:65:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63343,"nodeType":"ExpressionStatement","src":"23832:65:94"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":63347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23919:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":63352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23981:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63350,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23954:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23957:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"23954:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23954:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63348,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23934:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23937:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"23934:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23934:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63344,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23907:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23915:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23907:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23907:78:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63356,"nodeType":"ExpressionStatement","src":"23907:78:94"},{"expression":{"arguments":[{"hexValue":"3130","id":63360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24003:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"expression":{"id":63357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23995:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23998:4:94","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23810,"src":"23995:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23995:11:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63362,"nodeType":"ExpressionStatement","src":"23995:11:94"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":63366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24028:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":63367,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24050:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":63368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24056:6:94","memberName":"number","nodeType":"MemberAccess","src":"24050:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63363,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24016:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24024:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24016:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24016:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63370,"nodeType":"ExpressionStatement","src":"24016:47:94"},{"expression":{"arguments":[{"hexValue":"31","id":63374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24102:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63371,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"24074:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24077:24:94","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":59576,"src":"24074:27:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":63375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24074:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63376,"nodeType":"ExpressionStatement","src":"24074:30:94"},{"assignments":[null,null,null,63378,63380,null,null,null,63382,null,63384,63386],"declarations":[null,null,null,{"constant":false,"id":63378,"mutability":"mutable","name":"requestedAmount","nameLocation":"24179:15:94","nodeType":"VariableDeclaration","scope":63427,"src":"24171:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24171:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63380,"mutability":"mutable","name":"stakedTokens","nameLocation":"24216:12:94","nodeType":"VariableDeclaration","scope":63427,"src":"24208:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63379,"name":"uint256","nodeType":"ElementaryTypeName","src":"24208:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":63382,"mutability":"mutable","name":"convictionLast","nameLocation":"24292:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"24284:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63381,"name":"uint256","nodeType":"ElementaryTypeName","src":"24284:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63384,"mutability":"mutable","name":"threshold","nameLocation":"24342:9:94","nodeType":"VariableDeclaration","scope":63427,"src":"24334:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63383,"name":"uint256","nodeType":"ElementaryTypeName","src":"24334:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63386,"mutability":"mutable","name":"voterPointsPct","nameLocation":"24373:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"24365:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63385,"name":"uint256","nodeType":"ElementaryTypeName","src":"24365:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63391,"initialValue":{"arguments":[{"hexValue":"31","id":63389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24415:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63387,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"24400:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24403:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"24400:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24400:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24115:302:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24440:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63396,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63378,"src":"24464:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63392,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24428:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24436:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24428:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24428:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63398,"nodeType":"ExpressionStatement","src":"24428:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24502:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63403,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63380,"src":"24523:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63399,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24490:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24498:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24490:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63405,"nodeType":"ExpressionStatement","src":"24490:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24558:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63410,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63384,"src":"24575:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63406,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24546:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24554:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24546:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24546:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63412,"nodeType":"ExpressionStatement","src":"24546:39:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24607:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63417,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63382,"src":"24630:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63413,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24595:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24603:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24595:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24595:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63419,"nodeType":"ExpressionStatement","src":"24595:50:94"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":63423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24667:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":63424,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63386,"src":"24690:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63420,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24655:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24663:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24655:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24655:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63426,"nodeType":"ExpressionStatement","src":"24655:50:94"}]},"functionSelector":"757e122d","implemented":true,"kind":"function","modifiers":[],"name":"test_1_proposalSupported","nameLocation":"21563:24:94","parameters":{"id":63072,"nodeType":"ParameterList","parameters":[],"src":"21587:2:94"},"returnParameters":{"id":63073,"nodeType":"ParameterList","parameters":[],"src":"21597:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63638,"nodeType":"FunctionDefinition","src":"24718:2468:94","nodes":[],"body":{"id":63637,"nodeType":"Block","src":"24765:2421:94","nodes":[],"statements":[{"assignments":[63435,63437],"declarations":[{"constant":false,"id":63435,"mutability":"mutable","name":"pool","nameLocation":"24794:4:94","nodeType":"VariableDeclaration","scope":63637,"src":"24776:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63434,"nodeType":"UserDefinedTypeName","pathNode":{"id":63433,"name":"IAllo.Pool","nameLocations":["24776:5:94","24782:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24776:10:94"},"referencedDeclaration":2319,"src":"24776:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63437,"mutability":"mutable","name":"poolId","nameLocation":"24808:6:94","nodeType":"VariableDeclaration","scope":63637,"src":"24800:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63436,"name":"uint256","nodeType":"ElementaryTypeName","src":"24800:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63443,"initialValue":{"arguments":[{"id":63439,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"24834:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24842:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24845:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63438,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"24818:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24818:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24775:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63444,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"24912:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24912:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63447,"nodeType":"ExpressionStatement","src":"24912:39:94"},{"assignments":[63449],"declarations":[{"constant":false,"id":63449,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"24968:11:94","nodeType":"VariableDeclaration","scope":63637,"src":"24961:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63448,"name":"int256","nodeType":"ElementaryTypeName","src":"24961:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63451,"initialValue":{"hexValue":"313030","id":63450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24982:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"24961:24:94"},{"assignments":[63457],"declarations":[{"constant":false,"id":63457,"mutability":"mutable","name":"votes","nameLocation":"25031:5:94","nodeType":"VariableDeclaration","scope":63637,"src":"24995:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63455,"nodeType":"UserDefinedTypeName","pathNode":{"id":63454,"name":"CVStrategy.ProposalSupport","nameLocations":["24995:10:94","25006:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"24995:26:94"},"referencedDeclaration":57829,"src":"24995:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63456,"nodeType":"ArrayTypeName","src":"24995:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63464,"initialValue":{"arguments":[{"hexValue":"31","id":63462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25072:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"25039:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63459,"nodeType":"UserDefinedTypeName","pathNode":{"id":63458,"name":"CVStrategy.ProposalSupport","nameLocations":["25043:10:94","25054:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"25043:26:94"},"referencedDeclaration":57829,"src":"25043:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63460,"nodeType":"ArrayTypeName","src":"25043:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25039:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"24995:79:94"},{"expression":{"id":63473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63465,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63457,"src":"25084:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63467,"indexExpression":{"hexValue":"30","id":63466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25090:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25084:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25122:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63471,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63449,"src":"25125:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63468,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"25095:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25106:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"25095:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25095:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"25084:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63474,"nodeType":"ExpressionStatement","src":"25084:53:94"},{"expression":{"arguments":[{"id":63478,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63437,"src":"25217:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63481,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63457,"src":"25236:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63479,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25225:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25229:6:94","memberName":"encode","nodeType":"MemberAccess","src":"25225:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25225:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63475,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"25201:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25208:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"25201:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63484,"nodeType":"ExpressionStatement","src":"25201:42:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63485,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"25253:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63487,"nodeType":"ExpressionStatement","src":"25253:18:94"},{"assignments":[63489],"declarations":[{"constant":false,"id":63489,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"25290:13:94","nodeType":"VariableDeclaration","scope":63637,"src":"25282:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63488,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63498,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63492,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63449,"src":"25314:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25306:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63490,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:94","typeDescriptions":{}}},"id":63493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25306:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63494,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"25329:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25306:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25345:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"25306:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25282:66:94"},{"assignments":[63501],"declarations":[{"constant":false,"id":63501,"mutability":"mutable","name":"cv","nameLocation":"25369:2:94","nodeType":"VariableDeclaration","scope":63637,"src":"25358:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63500,"nodeType":"UserDefinedTypeName","pathNode":{"id":63499,"name":"CVStrategy","nameLocations":["25358:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"25358:10:94"},"referencedDeclaration":59653,"src":"25358:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63512,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63507,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"25401:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25406:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"25401:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25393:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63505,"name":"address","nodeType":"ElementaryTypeName","src":"25393:7:94","typeDescriptions":{}}},"id":63509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25393:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25385:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63503,"name":"address","nodeType":"ElementaryTypeName","src":"25385:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25385:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63502,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"25374:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25374:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"25358:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25461:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63519,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"25472:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":63518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25464:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63517,"name":"address","nodeType":"ElementaryTypeName","src":"25464:7:94","typeDescriptions":{}}},"id":63520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25464:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63514,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25436:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25439:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"25436:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25436:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63522,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63489,"src":"25480:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63513,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25427:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25427:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63524,"nodeType":"ExpressionStatement","src":"25427:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25558:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63526,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25531:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25534:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"25531:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63530,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63489,"src":"25562:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63525,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25522:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25522:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63532,"nodeType":"ExpressionStatement","src":"25522:54:94"},{"assignments":[null,63534,null,63536,63538,null,null,63540,63542,null,63544,null],"declarations":[null,{"constant":false,"id":63534,"mutability":"mutable","name":"beneficiary","nameLocation":"25641:11:94","nodeType":"VariableDeclaration","scope":63637,"src":"25633:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63533,"name":"address","nodeType":"ElementaryTypeName","src":"25633:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null,{"constant":false,"id":63536,"mutability":"mutable","name":"requestedAmount","nameLocation":"25688:15:94","nodeType":"VariableDeclaration","scope":63637,"src":"25680:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63535,"name":"uint256","nodeType":"ElementaryTypeName","src":"25680:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63538,"mutability":"mutable","name":"stakedTokens","nameLocation":"25725:12:94","nodeType":"VariableDeclaration","scope":63637,"src":"25717:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63537,"name":"uint256","nodeType":"ElementaryTypeName","src":"25717:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":63540,"mutability":"mutable","name":"blockLast","nameLocation":"25787:9:94","nodeType":"VariableDeclaration","scope":63637,"src":"25779:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63539,"name":"uint256","nodeType":"ElementaryTypeName","src":"25779:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63542,"mutability":"mutable","name":"convictionLast","nameLocation":"25818:14:94","nodeType":"VariableDeclaration","scope":63637,"src":"25810:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63541,"name":"uint256","nodeType":"ElementaryTypeName","src":"25810:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63544,"mutability":"mutable","name":"threshold","nameLocation":"25868:9:94","nodeType":"VariableDeclaration","scope":63637,"src":"25860:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63543,"name":"uint256","nodeType":"ElementaryTypeName","src":"25860:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":63549,"initialValue":{"arguments":[{"hexValue":"31","id":63547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25944:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63545,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25929:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25932:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"25929:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25929:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25605:341:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26154:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63554,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63536,"src":"26178:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63550,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26142:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26150:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26142:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26142:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63556,"nodeType":"ExpressionStatement","src":"26142:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26216:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63561,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"26237:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63557,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26204:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26212:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26204:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26204:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63563,"nodeType":"ExpressionStatement","src":"26204:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26272:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63568,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63544,"src":"26289:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63564,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26260:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26268:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26260:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26260:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63570,"nodeType":"ExpressionStatement","src":"26260:39:94"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":63574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26391:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":63575,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63540,"src":"26409:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63571,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26379:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26387:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26379:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26379:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63577,"nodeType":"ExpressionStatement","src":"26379:40:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26441:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63582,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63542,"src":"26464:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63578,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26429:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26437:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26429:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63584,"nodeType":"ExpressionStatement","src":"26429:50:94"},{"assignments":[63589],"declarations":[{"constant":false,"id":63589,"mutability":"mutable","name":"recipients","nameLocation":"26677:10:94","nodeType":"VariableDeclaration","scope":63637,"src":"26660:27:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63587,"name":"address","nodeType":"ElementaryTypeName","src":"26660:7:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63588,"nodeType":"ArrayTypeName","src":"26660:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":63595,"initialValue":{"arguments":[{"hexValue":"30","id":63593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26704:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26690:13:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":63590,"name":"address","nodeType":"ElementaryTypeName","src":"26694:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63591,"nodeType":"ArrayTypeName","src":"26694:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":63594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26690:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26660:46:94"},{"assignments":[63597],"declarations":[{"constant":false,"id":63597,"mutability":"mutable","name":"dataProposal","nameLocation":"26768:12:94","nodeType":"VariableDeclaration","scope":63637,"src":"26755:25:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63596,"name":"bytes","nodeType":"ElementaryTypeName","src":"26755:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63602,"initialValue":{"arguments":[{"hexValue":"31","id":63600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26794:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26783:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26787:6:94","memberName":"encode","nodeType":"MemberAccess","src":"26783:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26783:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"26755:41:94"},{"assignments":[63604],"declarations":[{"constant":false,"id":63604,"mutability":"mutable","name":"amount","nameLocation":"26815:6:94","nodeType":"VariableDeclaration","scope":63637,"src":"26807:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63603,"name":"uint256","nodeType":"ElementaryTypeName","src":"26807:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63610,"initialValue":{"arguments":[{"expression":{"id":63606,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"26835:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26840:5:94","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26835:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63608,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"26847:11:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63605,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61359,"src":"26824:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":63609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26824:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26807:52:94"},{"expression":{"arguments":[{"id":63612,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"26945:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26953:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63611,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"26936:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26936:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63615,"nodeType":"ExpressionStatement","src":"26936:19:94"},{"expression":{"arguments":[{"id":63619,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63437,"src":"26984:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63620,"name":"recipients","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63589,"src":"26992:10:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":63621,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63597,"src":"27004:12:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63616,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"26966:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26973:10:94","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"26966:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":63622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:51:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63623,"nodeType":"ExpressionStatement","src":"26966:51:94"},{"expression":{"id":63630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63624,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"27027:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":63626,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"27047:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27052:5:94","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"27047:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63628,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"27059:11:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63625,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61359,"src":"27036:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":63629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27036:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27027:44:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63631,"nodeType":"ExpressionStatement","src":"27027:44:94"},{"expression":{"arguments":[{"id":63633,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"27155:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63634,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63536,"src":"27163:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63632,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"27146:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27146:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63636,"nodeType":"ExpressionStatement","src":"27146:33:94"}]},"functionSelector":"8cf86e50","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_native_token","nameLocation":"24727:28:94","parameters":{"id":63429,"nodeType":"ParameterList","parameters":[],"src":"24755:2:94"},"returnParameters":{"id":63430,"nodeType":"ParameterList","parameters":[],"src":"24765:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63864,"nodeType":"FunctionDefinition","src":"27192:2606:94","nodes":[],"body":{"id":63863,"nodeType":"Block","src":"27245:2553:94","nodes":[],"statements":[{"assignments":[63645,63647],"declarations":[{"constant":false,"id":63645,"mutability":"mutable","name":"pool","nameLocation":"27274:4:94","nodeType":"VariableDeclaration","scope":63863,"src":"27256:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63644,"nodeType":"UserDefinedTypeName","pathNode":{"id":63643,"name":"IAllo.Pool","nameLocations":["27256:5:94","27262:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"27256:10:94"},"referencedDeclaration":2319,"src":"27256:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63647,"mutability":"mutable","name":"poolId","nameLocation":"27288:6:94","nodeType":"VariableDeclaration","scope":63863,"src":"27280:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63646,"name":"uint256","nodeType":"ElementaryTypeName","src":"27280:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63656,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27322:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27314:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63649,"name":"address","nodeType":"ElementaryTypeName","src":"27314:7:94","typeDescriptions":{}}},"id":63652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27314:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27326:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27329:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63648,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"27298:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27298:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27255:76:94"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":63658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27360:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":63657,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"27342:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27342:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63660,"nodeType":"ExpressionStatement","src":"27342:35:94"},{"assignments":[63665],"declarations":[{"constant":false,"id":63665,"mutability":"mutable","name":"proposal","nameLocation":"27421:8:94","nodeType":"VariableDeclaration","scope":63863,"src":"27388:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63664,"nodeType":"UserDefinedTypeName","pathNode":{"id":63663,"name":"CVStrategy.CreateProposal","nameLocations":["27388:10:94","27399:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"27388:25:94"},"referencedDeclaration":57786,"src":"27388:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63683,"initialValue":{"arguments":[{"hexValue":"32","id":63668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27470:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":63669,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"27473:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":63672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27489:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27481:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63670,"name":"address","nodeType":"ElementaryTypeName","src":"27481:7:94","typeDescriptions":{}}},"id":63673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27481:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63674,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27493:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27504:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"27493:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27517:9:94","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":57769,"src":"27493:33:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":63677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27528:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":63680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27539:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27531:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63678,"name":"address","nodeType":"ElementaryTypeName","src":"27531:7:94","typeDescriptions":{}}},"id":63681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27531:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63666,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27444:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27455:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"27444:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27444:98:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"27388:154:94"},{"assignments":[63685],"declarations":[{"constant":false,"id":63685,"mutability":"mutable","name":"data","nameLocation":"27565:4:94","nodeType":"VariableDeclaration","scope":63863,"src":"27552:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63684,"name":"bytes","nodeType":"ElementaryTypeName","src":"27552:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63690,"initialValue":{"arguments":[{"id":63688,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63665,"src":"27583:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63686,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27572:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27576:6:94","memberName":"encode","nodeType":"MemberAccess","src":"27572:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27572:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"27552:40:94"},{"expression":{"arguments":[{"id":63694,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"27627:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63695,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63685,"src":"27635:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63691,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"27602:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27609:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"27602:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63697,"nodeType":"ExpressionStatement","src":"27602:38:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63698,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"27651:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27651:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63700,"nodeType":"ExpressionStatement","src":"27651:18:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27751:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63701,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64080,"src":"27733:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63704,"nodeType":"ExpressionStatement","src":"27733:39:94"},{"assignments":[63706],"declarations":[{"constant":false,"id":63706,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"27789:11:94","nodeType":"VariableDeclaration","scope":63863,"src":"27782:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63705,"name":"int256","nodeType":"ElementaryTypeName","src":"27782:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63708,"initialValue":{"hexValue":"313030","id":63707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27803:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"27782:24:94"},{"assignments":[63710],"declarations":[{"constant":false,"id":63710,"mutability":"mutable","name":"PROPOSAL_ID","nameLocation":"27824:11:94","nodeType":"VariableDeclaration","scope":63863,"src":"27816:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63709,"name":"uint256","nodeType":"ElementaryTypeName","src":"27816:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63712,"initialValue":{"hexValue":"32","id":63711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27838:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"27816:23:94"},{"assignments":[63718],"declarations":[{"constant":false,"id":63718,"mutability":"mutable","name":"votes","nameLocation":"27885:5:94","nodeType":"VariableDeclaration","scope":63863,"src":"27849:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63716,"nodeType":"UserDefinedTypeName","pathNode":{"id":63715,"name":"CVStrategy.ProposalSupport","nameLocations":["27849:10:94","27860:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"27849:26:94"},"referencedDeclaration":57829,"src":"27849:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63717,"nodeType":"ArrayTypeName","src":"27849:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63725,"initialValue":{"arguments":[{"hexValue":"31","id":63723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27926:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27893:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63720,"nodeType":"UserDefinedTypeName","pathNode":{"id":63719,"name":"CVStrategy.ProposalSupport","nameLocations":["27897:10:94","27908:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"27897:26:94"},"referencedDeclaration":57829,"src":"27897:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63721,"nodeType":"ArrayTypeName","src":"27897:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27893:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"27849:79:94"},{"expression":{"id":63734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63726,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63718,"src":"27938:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63728,"indexExpression":{"hexValue":"30","id":63727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27944:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27938:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63731,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"27976:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63732,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"27989:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63729,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27949:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27960:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"27949:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27949:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"27938:63:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63735,"nodeType":"ExpressionStatement","src":"27938:63:94"},{"expression":{"arguments":[{"id":63739,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"28081:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63742,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63718,"src":"28100:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28089:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28093:6:94","memberName":"encode","nodeType":"MemberAccess","src":"28089:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28089:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63736,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"28065:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28072:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"28065:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63745,"nodeType":"ExpressionStatement","src":"28065:42:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63746,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64112,"src":"28117:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28117:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63748,"nodeType":"ExpressionStatement","src":"28117:18:94"},{"assignments":[63750],"declarations":[{"constant":false,"id":63750,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"28154:13:94","nodeType":"VariableDeclaration","scope":63863,"src":"28146:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63749,"name":"uint256","nodeType":"ElementaryTypeName","src":"28146:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63753,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"28178:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63751,"name":"uint256","nodeType":"ElementaryTypeName","src":"28170:7:94","typeDescriptions":{}}},"id":63754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63755,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"28193:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28170:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28209:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"28170:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28146:66:94"},{"assignments":[63762],"declarations":[{"constant":false,"id":63762,"mutability":"mutable","name":"cv","nameLocation":"28233:2:94","nodeType":"VariableDeclaration","scope":63863,"src":"28222:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63761,"nodeType":"UserDefinedTypeName","pathNode":{"id":63760,"name":"CVStrategy","nameLocations":["28222:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"28222:10:94"},"referencedDeclaration":59653,"src":"28222:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63773,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63768,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63645,"src":"28265:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28270:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"28265:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28257:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63766,"name":"address","nodeType":"ElementaryTypeName","src":"28257:7:94","typeDescriptions":{}}},"id":63770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28257:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28249:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63764,"name":"address","nodeType":"ElementaryTypeName","src":"28249:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28249:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63763,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"28238:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"28222:59:94"},{"expression":{"arguments":[{"arguments":[{"id":63777,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"28325:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63780,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28346:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64039","typeString":"contract CVStrategyTest"}],"id":63779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28338:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63778,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:94","typeDescriptions":{}}},"id":63781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28338:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63775,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28300:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28303:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"28300:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28300:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63783,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63750,"src":"28354:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63774,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28291:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28291:77:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63785,"nodeType":"ExpressionStatement","src":"28291:77:94"},{"expression":{"arguments":[{"arguments":[{"id":63789,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"28432:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63787,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28405:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28408:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"28405:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28405:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63791,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63750,"src":"28446:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63786,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28396:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28396:64:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63793,"nodeType":"ExpressionStatement","src":"28396:64:94"},{"assignments":[null,null,null,63795,63797,null,null,63799,63801,null,63803,null],"declarations":[null,null,null,{"constant":false,"id":63795,"mutability":"mutable","name":"requestedAmount","nameLocation":"28553:15:94","nodeType":"VariableDeclaration","scope":63863,"src":"28545:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63794,"name":"uint256","nodeType":"ElementaryTypeName","src":"28545:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63797,"mutability":"mutable","name":"stakedTokens","nameLocation":"28590:12:94","nodeType":"VariableDeclaration","scope":63863,"src":"28582:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63796,"name":"uint256","nodeType":"ElementaryTypeName","src":"28582:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":63799,"mutability":"mutable","name":"blockLast","nameLocation":"28652:9:94","nodeType":"VariableDeclaration","scope":63863,"src":"28644:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63798,"name":"uint256","nodeType":"ElementaryTypeName","src":"28644:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63801,"mutability":"mutable","name":"convictionLast","nameLocation":"28683:14:94","nodeType":"VariableDeclaration","scope":63863,"src":"28675:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63800,"name":"uint256","nodeType":"ElementaryTypeName","src":"28675:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63803,"mutability":"mutable","name":"threshold","nameLocation":"28733:9:94","nodeType":"VariableDeclaration","scope":63863,"src":"28725:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63802,"name":"uint256","nodeType":"ElementaryTypeName","src":"28725:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":63808,"initialValue":{"arguments":[{"hexValue":"31","id":63806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28809:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63804,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28794:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28797:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"28794:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28794:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28489:322:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29019:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63813,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63795,"src":"29043:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63809,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29007:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29015:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29007:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29007:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63815,"nodeType":"ExpressionStatement","src":"29007:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29081:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63820,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63797,"src":"29102:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63816,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29069:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29077:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29069:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63822,"nodeType":"ExpressionStatement","src":"29069:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29137:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63827,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63803,"src":"29154:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63823,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29125:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29133:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29125:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29125:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63829,"nodeType":"ExpressionStatement","src":"29125:39:94"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":63833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29256:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":63834,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63799,"src":"29274:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63830,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29244:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29252:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29244:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29244:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63836,"nodeType":"ExpressionStatement","src":"29244:40:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29306:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63841,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63801,"src":"29329:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63837,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29294:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29302:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29294:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29294:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63843,"nodeType":"ExpressionStatement","src":"29294:50:94"},{"assignments":[63845],"declarations":[{"constant":false,"id":63845,"mutability":"mutable","name":"dataProposal","nameLocation":"29620:12:94","nodeType":"VariableDeclaration","scope":63863,"src":"29607:25:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63844,"name":"bytes","nodeType":"ElementaryTypeName","src":"29607:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63850,"initialValue":{"arguments":[{"id":63848,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"29646:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29635:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29639:6:94","memberName":"encode","nodeType":"MemberAccess","src":"29635:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29635:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"29607:51:94"},{"expression":{"arguments":[{"id":63854,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"29687:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":63858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29709:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29695:13:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":63855,"name":"address","nodeType":"ElementaryTypeName","src":"29699:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63856,"nodeType":"ArrayTypeName","src":"29699:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":63859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29695:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":63860,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63845,"src":"29713:12:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63851,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"29669:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29676:10:94","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"29669:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":63861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:57:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63862,"nodeType":"ExpressionStatement","src":"29669:57:94"}]},"functionSelector":"eaeb7195","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_signaling_proposal","nameLocation":"27201:34:94","parameters":{"id":63639,"nodeType":"ParameterList","parameters":[],"src":"27235:2:94"},"returnParameters":{"id":63640,"nodeType":"ParameterList","parameters":[],"src":"27245:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63941,"nodeType":"FunctionDefinition","src":"29804:496:94","nodes":[],"body":{"id":63940,"nodeType":"Block","src":"29843:457:94","nodes":[],"statements":[{"assignments":[63871,63873],"declarations":[{"constant":false,"id":63871,"mutability":"mutable","name":"pool","nameLocation":"29872:4:94","nodeType":"VariableDeclaration","scope":63940,"src":"29854:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63870,"nodeType":"UserDefinedTypeName","pathNode":{"id":63869,"name":"IAllo.Pool","nameLocations":["29854:5:94","29860:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"29854:10:94"},"referencedDeclaration":2319,"src":"29854:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63873,"mutability":"mutable","name":"poolId","nameLocation":"29886:6:94","nodeType":"VariableDeclaration","scope":63940,"src":"29878:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63872,"name":"uint256","nodeType":"ElementaryTypeName","src":"29878:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63882,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29920:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29912:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63875,"name":"address","nodeType":"ElementaryTypeName","src":"29912:7:94","typeDescriptions":{}}},"id":63878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29912:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29924:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29927:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63874,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"29896:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29896:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29853:76:94"},{"assignments":[63885],"declarations":[{"constant":false,"id":63885,"mutability":"mutable","name":"cv","nameLocation":"29951:2:94","nodeType":"VariableDeclaration","scope":63940,"src":"29940:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63884,"nodeType":"UserDefinedTypeName","pathNode":{"id":63883,"name":"CVStrategy","nameLocations":["29940:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"29940:10:94"},"referencedDeclaration":59653,"src":"29940:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63896,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63891,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63871,"src":"29983:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29988:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"29983:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29975:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63889,"name":"address","nodeType":"ElementaryTypeName","src":"29975:7:94","typeDescriptions":{}}},"id":63893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29967:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63887,"name":"address","nodeType":"ElementaryTypeName","src":"29967:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29967:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63886,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"29956:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29956:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"29940:59:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63902,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"30049:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":63903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30065:20:94","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":59839,"src":"30049:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":63904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30086:8:94","memberName":"selector","nodeType":"MemberAccess","src":"30049:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30026:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30030:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30026:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30026:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63897,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30010:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30013:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"30010:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30010:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63907,"nodeType":"ExpressionStatement","src":"30010:86:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63908,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63885,"src":"30106:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30109:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30106:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30106:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63912,"nodeType":"ExpressionStatement","src":"30106:19:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63916,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30150:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30150:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63913,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30136:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30139:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"30136:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30136:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63919,"nodeType":"ExpressionStatement","src":"30136:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63920,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63885,"src":"30173:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30176:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30173:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30173:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63924,"nodeType":"ExpressionStatement","src":"30173:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30202:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30205:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"30202:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30202:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63929,"nodeType":"ExpressionStatement","src":"30202:14:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63933,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30261:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30261:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63931,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"30236:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30252:8:94","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":60271,"src":"30236:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":63935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30236:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":63936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30276:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"69734d656d626572","id":63937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30282:10:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":63930,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12734,"src":"30227:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":63938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30227:66:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63939,"nodeType":"ExpressionStatement","src":"30227:66:94"}]},"functionSelector":"136994c0","implemented":true,"kind":"function","modifiers":[],"name":"test_activate_points","nameLocation":"29813:20:94","parameters":{"id":63865,"nodeType":"ParameterList","parameters":[],"src":"29833:2:94"},"returnParameters":{"id":63866,"nodeType":"ParameterList","parameters":[],"src":"29843:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64038,"nodeType":"FunctionDefinition","src":"30306:634:94","nodes":[],"body":{"id":64037,"nodeType":"Block","src":"30347:593:94","nodes":[],"statements":[{"assignments":[63948,63950],"declarations":[{"constant":false,"id":63948,"mutability":"mutable","name":"pool","nameLocation":"30376:4:94","nodeType":"VariableDeclaration","scope":64037,"src":"30358:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63947,"nodeType":"UserDefinedTypeName","pathNode":{"id":63946,"name":"IAllo.Pool","nameLocations":["30358:5:94","30364:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"30358:10:94"},"referencedDeclaration":2319,"src":"30358:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63950,"mutability":"mutable","name":"poolId","nameLocation":"30390:6:94","nodeType":"VariableDeclaration","scope":64037,"src":"30382:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63949,"name":"uint256","nodeType":"ElementaryTypeName","src":"30382:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63959,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30424:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30416:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63952,"name":"address","nodeType":"ElementaryTypeName","src":"30416:7:94","typeDescriptions":{}}},"id":63955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30416:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30428:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30431:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63951,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"30400:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30400:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"30357:76:94"},{"assignments":[63962],"declarations":[{"constant":false,"id":63962,"mutability":"mutable","name":"cv","nameLocation":"30455:2:94","nodeType":"VariableDeclaration","scope":64037,"src":"30444:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63961,"nodeType":"UserDefinedTypeName","pathNode":{"id":63960,"name":"CVStrategy","nameLocations":["30444:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"30444:10:94"},"referencedDeclaration":59653,"src":"30444:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63973,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63968,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63948,"src":"30487:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30492:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"30487:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30479:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63966,"name":"address","nodeType":"ElementaryTypeName","src":"30479:7:94","typeDescriptions":{}}},"id":63970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30479:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30471:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63964,"name":"address","nodeType":"ElementaryTypeName","src":"30471:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30471:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63963,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"30460:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30460:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"30444:59:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63979,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"30553:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":63980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30569:20:94","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":59839,"src":"30553:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":63981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30590:8:94","memberName":"selector","nodeType":"MemberAccess","src":"30553:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30530:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30534:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30530:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30530:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63974,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30514:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30517:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"30514:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30514:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63984,"nodeType":"ExpressionStatement","src":"30514:86:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63985,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30610:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30613:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30610:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30610:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63989,"nodeType":"ExpressionStatement","src":"30610:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63990,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30640:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30643:16:94","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":58246,"src":"30640:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30640:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63994,"nodeType":"ExpressionStatement","src":"30640:21:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63998,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"30705:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":63999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30705:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63996,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"30680:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30696:8:94","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":60271,"src":"30680:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":64000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30680:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":64001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30715:5:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"69734d656d626572","id":64002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30722:10:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":63995,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12734,"src":"30671:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":64003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30671:62:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64004,"nodeType":"ExpressionStatement","src":"30671:62:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64008,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30758:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30758:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30744:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":64007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30747:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"30744:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30744:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64011,"nodeType":"ExpressionStatement","src":"30744:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64012,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30781:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":64014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30784:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30781:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30781:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64016,"nodeType":"ExpressionStatement","src":"30781:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64017,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30810:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":64019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30813:16:94","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":58246,"src":"30810:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30810:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64021,"nodeType":"ExpressionStatement","src":"30810:21:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64022,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30841:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":64024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30844:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"30841:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30841:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64026,"nodeType":"ExpressionStatement","src":"30841:14:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64030,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30900:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30900:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64028,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"30875:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":64029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30891:8:94","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":60271,"src":"30875:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":64032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30875:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":64033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30915:5:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"69734d656d626572","id":64034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30922:10:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":64027,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12734,"src":"30866:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":64035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30866:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64036,"nodeType":"ExpressionStatement","src":"30866:67:94"}]},"functionSelector":"0ef639f6","implemented":true,"kind":"function","modifiers":[],"name":"test_deactivate_points","nameLocation":"30315:22:94","parameters":{"id":63942,"nodeType":"ParameterList","parameters":[],"src":"30337:2:94"},"returnParameters":{"id":63943,"nodeType":"ParameterList","parameters":[],"src":"30347:0:94"},"scope":64039,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":60877,"name":"Test","nameLocations":["1552:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":22403,"src":"1552:4:94"},"id":60878,"nodeType":"InheritanceSpecifier","src":"1552:4:94"},{"baseName":{"id":60879,"name":"AlloSetup","nameLocations":["1558:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1558:9:94"},"id":60880,"nodeType":"InheritanceSpecifier","src":"1558:9:94"},{"baseName":{"id":60881,"name":"RegistrySetupFull","nameLocations":["1569:17:94"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1569:17:94"},"id":60882,"nodeType":"InheritanceSpecifier","src":"1569:17:94"},{"baseName":{"id":60883,"name":"CVStrategyHelpers","nameLocations":["1588:17:94"],"nodeType":"IdentifierPath","referencedDeclaration":60835,"src":"1588:17:94"},"id":60884,"nodeType":"InheritanceSpecifier","src":"1588:17:94"},{"baseName":{"id":60885,"name":"Errors","nameLocations":["1607:6:94"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1607:6:94"},"id":60886,"nodeType":"InheritanceSpecifier","src":"1607:6:94"},{"baseName":{"id":60887,"name":"GasHelpers2","nameLocations":["1615:11:94"],"nodeType":"IdentifierPath","referencedDeclaration":64113,"src":"1615:11:94"},"id":60888,"nodeType":"InheritanceSpecifier","src":"1615:11:94"},{"baseName":{"id":60889,"name":"SafeSetup","nameLocations":["1628:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":64494,"src":"1628:9:94"},"id":60890,"nodeType":"InheritanceSpecifier","src":"1628:9:94"}],"canonicalName":"CVStrategyTest","contractDependencies":[1390,2295,9751,55905,57671,59653,59700],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64039,64494,64113,3089,60835,9534,9370,9325,9264,22403,22352,17950,17625,16832,14772,14008,12515,12581,12578,3106],"name":"CVStrategyTest","nameLocation":"1534:14:94","scope":64040,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":94} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUESTED_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createProposal","inputs":[{"name":"_tokenPool","type":"address","internalType":"address"},{"name":"requestAmount","type":"uint256","internalType":"uint256"},{"name":"poolAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"pool","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]},{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disabled_test_threshold_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBalance","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testRevert_allocate_ProposalIdDuplicated","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_UserNotInRegistry","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_1_proposalSupported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_activate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_allocate_proposalSupport_empty_array","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_function","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_deactivate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_native_token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_signaling_proposal","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_change_support","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_conviction_threshold_2_users","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_total_staked_amount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602492835590919060259062000060908262000136565b5050600160288190556029805460ff19169055602c5550613a98602e553480156200008a57600080fd5b5062000202565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000bc57607f821691505b602082108103620000dd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013157600081815260208120601f850160051c810160208610156200010c5750805b601f850160051c820191505b818110156200012d5782815560010162000118565b5050505b505050565b81516001600160401b0381111562000152576200015262000091565b6200016a81620001638454620000a7565b84620000e3565b602080601f831160018114620001a25760008415620001895750858301515b600019600386901b1c1916600185901b1785556200012d565b600085815260208120601f198616915b82811015620001d357888601518255948401946001909101908401620001b2565b5085821015620001f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201be4580620002136000396000f3fe60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae6200170b565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009d69565b62001a28565b6200064762001d73565b6200064762001db5565b6200072362001df7565b6040516200065b919062009dd6565b6200073c62001e5b565b6040516200065b919062009e3f565b620006ae6200075c36600462009f14565b6029805460ff1916911515919091179055565b620006ae62001fa9565b6023546001600160a01b031662000647565b6200079562002220565b6040516200065b92919062009f34565b620006ae620022bf565b60205462000695565b6200072362002515565b6200072362002577565b62000723620025d9565b620006ae620025fc565b620006476200349e565b62000695602e5481565b62000647620034e0565b620006ae62003522565b6200064762003a9c565b6200081c62003ade565b6040516200065b919062009f57565b6200064762003bc8565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a0af565b62003c0a565b6200072362003edb565b620006ae62003f7d565b6200064762004bf9565b62000695602c5481565b6200072362004c3b565b601d546001600160a01b031662000647565b6200064762004caa565b6200064762004cec565b620008c762004d2e565b6040516200065b91906200a155565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004e08565b62000647620052a1565b62000647620052e3565b6200069561afc881565b620006ae62005325565b620006956200093736600462009d69565b6200585a565b6200081c62005937565b620006ae62005a21565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005c1c565b620006ae62005c8b565b6200064762006129565b620006956200099c3660046200a1bb565b6200616b565b620009b9620009b33660046200a237565b6200636b565b6040516200065b9291906200a290565b620008c762006ab2565b620009dd62006b8c565b60405190151581526020016200065b565b620006ae62006cc3565b62000695613a9881565b6021546001600160a01b031662000647565b6200064762006feb565b620006476200702d565b620006ae6200706f565b6200069562000a433660046200a2fa565b620073fe565b62000647620074d2565b601c546001600160a01b031662000647565b620006ae62007514565b62000647620078c6565b6200064762007908565b620006ae6200794a565b6200072362007dc3565b6200069562000aa83660046200a338565b62007e25565b620006ae62007ed3565b6200064762008469565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620084a6565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620084a6565b62000bc2620084ba565b62000bdf62000bd9601d546001600160a01b031690565b62008ac4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009c1f565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec7620052a1565b62000ed6600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a3a4565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009c2d565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009c3b565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a3c4565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008c9b565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a400565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a483565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a3a4565b505050565b6000806200141b60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a4bd565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620015899050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015cb57600080fd5b505af1158015620015e0573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200162057600080fd5b505af115801562001635573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ed57600080fd5b505af115801562001702573d6000803e3d6000fd5b50505050505050565b6000806200171d60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200178692016200a4bd565b600060405180830381600087803b158015620017a157600080fd5b505af1158015620017b6573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620017f657600080fd5b505af11580156200180b573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018369050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200187857600080fd5b505af11580156200188d573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018cd57600080fd5b505af1158015620018e2573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200194557600080fd5b505af11580156200195a573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200197f620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620019c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019ea91906200a3a4565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062009125565b602a546000906001600160a01b031662001d6257600060405162001a4c9062009ca6565b604051809103906000f08015801562001a69573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001a8b9062009cb4565b604051809103906000f08015801562001aa8573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001b05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b2b91906200a483565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001bce57600080fd5b505af115801562001be3573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001c7357600080fd5b505af115801562001c88573d6000803e3d6000fd5b50600092506001915062001c999050565b60405190808252806020026020018201604052801562001cc3578160200160208202803683370190505b509050848160008151811062001cdd5762001cdd6200a4d2565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001d2a90849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b15801562001d4557600080fd5b505af115801562001d5a573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620084a6565b6060601480548060200260200160405190810160405280929190818152602001828054801562001e5157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e32575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001f8857838290600052602060002001805462001ef4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001f22906200a3c4565b801562001f735780601f1062001f475761010080835404028352916020019162001f73565b820191906000526020600020905b81548152906001019060200180831162001f5557829003601f168201915b50505050508152602001906001019062001ed2565b50505050815250508152602001906001019062001e7f565b50505050905090565b600062001fcd73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915050620020056040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200201d5790505090506040518060400160405280600181526020016050815250816000815181106200207457620020746200a4d2565b6020026020010181905250604051806040016040528060018152602001601481525081600181518110620020ac57620020ac6200a4d2565b6020026020010181905250600081604051602001620020cc91906200a54f565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200216c91906004016200a4bd565b600060405180830381600087803b1580156200218757600080fd5b505af11580156200219c573d6000803e3d6000fd5b50505050620021b3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620021e292919062009f34565b600060405180830381600087803b158015620021fd57600080fd5b505af115801562002212573d6000803e3d6000fd5b505050506200140462009199565b602480546025805491929162002236906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462002264906200a3c4565b8015620022b55780601f106200228957610100808354040283529160200191620022b5565b820191906000526020600020905b8154815290600101906020018083116200229757829003601f168201915b5050505050905082565b600080620022e473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915091506200231d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023355790505090506040518060400160405280600181526020016064815250816000815181106200238c576200238c6200a4d2565b602002602001018190525080600181518110620023ad57620023ad6200a4d2565b5050604051600090620023c59083906020016200a54f565b6040516020818303038152906040529050620023e9601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200241892919062009f34565b600060405180830381600087803b1580156200243357600080fd5b505af115801562002448573d6000803e3d6000fd5b505050506200245662009199565b6020840151604051631c1ba58760e31b815260016004820152306024820152620024db906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620024ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024d391906200a4a3565b60326200922c565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d906024016200248f565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200261f60006802b5e3af16b1880000683635c9adc5dea000006200636b565b602082015191935091506001600160a01b0381166369fa25c46200264b670dd46c083165900062009342565b6040518263ffffffff1660e01b81526004016200266a91815260200190565b600060405180830381600087803b1580156200268557600080fd5b505af11580156200269a573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620026c067016345785d8a000062009342565b6040518263ffffffff1660e01b8152600401620026df91815260200190565b600060405180830381600087803b158015620026fa57600080fd5b505af11580156200270f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027346601c6bf5263400062009342565b6040518263ffffffff1660e01b81526004016200275391815260200190565b600060405180830381600087803b1580156200276e57600080fd5b505af115801562002783573d6000803e3d6000fd5b50505050620027bc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620027d757905050905060405180604001604052806001815260200183815250816000815181106200282d576200282d6200a4d2565b60200260200101819052506000816040516020016200284d91906200a54f565b604051602081830303815290604052905062002871601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620028a092919062009f34565b600060405180830381600087803b158015620028bb57600080fd5b505af1158015620028d0573d6000803e3d6000fd5b50505050620028de62009199565b60006064620028ef6032866200a5a0565b620028fb91906200a381565b604051631c1ba58760e31b8152600160048201523060248201529091506200297d906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200297691906200a4a3565b826200922c565b60405163dc96ff2d60e01b815260016004820152620029b0906001600160a01b0387169063dc96ff2d9060240162002932565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620029d4620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002a1657600080fd5b505af115801562002a2b573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a6b57600080fd5b505af115801562002a80573d6000803e3d6000fd5b50600092506001915062002a919050565b60405190808252806020026020018201604052801562002ad857816020015b604080518082019091526000808252602082015281526020019060019003908162002ab05790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002b0d5762002b0d6200a4d2565b60200260200101819052508160405160200162002b2b91906200a54f565b604051602081830303815290604052935062002b4f601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002b7e92919062009f34565b600060405180830381600087803b15801562002b9957600080fd5b505af115801562002bae573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c1157600080fd5b505af115801562002c26573d6000803e3d6000fd5b505050506000606460328362002c3d91906200a5a0565b62002c4991906200a381565b905062002c9d886001600160a01b031663e0dd2c38600162002c6a620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002932565b60405163dc96ff2d60e01b81526001600482015262002d20906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002ce8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d0e91906200a4a3565b62002d1a83876200a5ba565b6200922c565b62002d616040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002da2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dc891906200a4a3565b905062002e0b6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e74730000000000008152508262009355565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ea491906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002e78573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9e91906200a4a3565b62009355565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002f5e91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002f19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f3f91906200a4a3565b6040518263ffffffff1660e01b815260040162002e5a91815260200190565b60405163950559d760e01b81526004810182905262002ffd906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002fcf91906200a4a3565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620093b7565b60405163dc96ff2d60e01b81526001600482015262003106906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200307691906200a4a3565b6040518263ffffffff1660e01b81526004016200309591815260200190565b602060405180830381865afa158015620030b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030d991906200a4a3565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620093b7565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200315457600080fd5b505af115801562003169573d6000803e3d6000fd5b50505050620031ae6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620031f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200321c91906200a4a3565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200325591815260200190565b61018060405180830381865afa15801562003274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200329a91906200a5e0565b9b509b50509a5050505097509750505050620032e36040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62003318604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620033496040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b6200338060405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b620033c16040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b620034058261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620093b7565b62003449836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620093b7565b6200348c8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620093b7565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620084a6565b6000806200354773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602f5460405161afc86024820152929450909250620035b4916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003c0a565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620035cb5790505090506040518060400160405280600181526020016064815250816000815181106200362257620036226200a4d2565b60200260200101819052506000816040516020016200364291906200a54f565b604051602081830303815290604052905062003666601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200369592919062009f34565b600060405180830381600087803b158015620036b057600080fd5b505af1158015620036c5573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003752906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003725573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200374b91906200a4a3565b836200922c565b60405163dc96ff2d60e01b81526001600482015262003785906001600160a01b0383169063dc96ff2d9060240162003707565b60405180604001604052806001815260200160631981525084600081518110620037b357620037b36200a4d2565b602002602001018190525083604051602001620037d191906200a54f565b6040516020818303038152906040529250620037f5601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200382492919062009f34565b600060405180830381600087803b1580156200383f57600080fd5b505af115801562003854573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200390d92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620038a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620038cf91906200a4a3565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b815260016004820152620039bc906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003958573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200397e91906200a4a3565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620093b7565b62003a63816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620039ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2591906200a4a3565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620093b7565b602f546040516032602482015262003a94916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620084a6565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003baf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003b705790505b5050505050815250508152602001906001019062003b02565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620084a6565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003c90573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb691906200a4a3565b6040518b63ffffffff1660e01b815260040162003cdd9a999897969594939291906200a6d2565b600060405180830381865afa15801562003cfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003d2591908101906200a77f565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dd291906200a7cd565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003e89908c908c908c90600090819081908190819081908d906065016200a80c565b6020604051808303816000875af115801562003ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ecf91906200a3a4565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003f0a62001db5565b8160008151811062003f205762003f206200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62004caa565b8160018151811062003f605762003f606200a4d2565b6001600160a01b0390921660209283029190910190910152919050565b60008062003fa273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062003fdb6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003ff657905050905060405180604001604052806001815260200183815250816000815181106200404c576200404c6200a4d2565b60200260200101819052506000816040516020016200406c91906200a54f565b604051602081830303815290604052905062004090601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620040bf92919062009f34565b600060405180830381600087803b158015620040da57600080fd5b505af1158015620040ef573d6000803e3d6000fd5b50505050620040fd62009199565b600060646200410e6032866200a5a0565b6200411a91906200a381565b6020870151604051631c1ba58760e31b81526001600482015230602482015291925090620041d7906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200419a91906200a4a3565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200420a906001600160a01b0383169063dc96ff2d9060240162003707565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200422e620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200427057600080fd5b505af115801562004285573d6000803e3d6000fd5b5050505060006002905060006040518060c00160405280838152602001898152602001620042b2620052a1565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620042f8918491016200a893565b60405160208183030381529060405290506200431c601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200434b92919062009f34565b6020604051808303816000875af11580156200436b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200439191906200a483565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620043e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200440f91906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200445b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200448191906200a3a4565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620044be57600080fd5b505af1158015620044d3573d6000803e3d6000fd5b506000925060019150620044e49050565b6040519080825280602002602001820160405280156200452b57816020015b6040805180820190915260008082526020820152815260200190600190039081620045035790505b509050600060649050604051806040016040528086815260200182815250826000815181106200455f576200455f6200a4d2565b6020026020010181905250816040516020016200457d91906200a54f565b6040516020818303038152906040529750620045a1601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620045d092919062009f34565b600060405180830381600087803b158015620045eb57600080fd5b505af115801562004600573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200466357600080fd5b505af115801562004678573d6000803e3d6000fd5b50505050600060646032836200468f91906200a5a0565b6200469b91906200a381565b905062004769876001600160a01b031663e0dd2c3888620046bb620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004706573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472c91906200a4a3565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b81526004810187905262004817906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620047b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047da91906200a4a3565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620093b7565b620048586040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b620048ce6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002f19573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200492a91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002efb565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200497857600080fd5b505af11580156200498d573d6000803e3d6000fd5b50505050620049d26040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004a1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a4091906200a4a3565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004a7991815260200190565b61018060405180830381865afa15801562004a98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004abe91906200a5e0565b9b509b50509a505050509750975050505062004b076040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62004b3c604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b62004b6d6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b62004ba460405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b62004be56040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620084a6565b6040805160028082526060808301845292600092919060208301908036833701905050905062004c6a62000aed565b8160008151811062004c805762004c806200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62003bc8565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620084a6565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462004d74906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462004da2906200a3c4565b801562004df35780601f1062004dc75761010080835404028352916020019162004df3565b820191906000526020600020905b81548152906001019060200180831162004dd557829003601f168201915b50505050508152602001906001019062004d52565b60008062004e2d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062004e666040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004e81579050509050604051806040016040528060018152602001838152508160008151811062004ed75762004ed76200a4d2565b602002602001018190525062004ef5601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004f1791906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004f4592919062009f34565b600060405180830381600087803b15801562004f6057600080fd5b505af115801562004f75573d6000803e3d6000fd5b5050505062004f8362009199565b6000606462004f946032856200a5a0565b62004fa091906200a381565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004fe2906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b81526001600482015262005015906001600160a01b0383169063dc96ff2d9060240162003707565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200504e91815260200190565b61018060405180830381865afa1580156200506d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200509391906200a5e0565b509a50509950995050509750975050965050620050dd6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62005112604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620051436040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620051846040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b620051bb60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620051f2908a620073fe565b9050620052018160006200922c565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b81526004016200523e939291906200a8fc565b600060405180830381600087803b1580156200525957600080fd5b505af11580156200526e573d6000803e3d6000fd5b50505050620052828f604001518a620073fe565b90506200529081896200922c565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620084a6565b6000806200534a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005376670c7d713b49da000062009342565b6040518263ffffffff1660e01b81526004016200539591815260200190565b600060405180830381600087803b158015620053b057600080fd5b505af1158015620053c5573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620053eb6702c68af0bb14000062009342565b6040518263ffffffff1660e01b81526004016200540a91815260200190565b600060405180830381600087803b1580156200542557600080fd5b505af11580156200543a573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200545f66071afd498d000062009342565b6040518263ffffffff1660e01b81526004016200547e91815260200190565b600060405180830381600087803b1580156200549957600080fd5b505af1158015620054ae573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620054e992506001600160a01b03909116906000906318fb0de560e11b906044016200357c565b6200551e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055355790505090506040518060400160405280600181526020016064815250816000815181106200558c576200558c6200a4d2565b6020026020010181905250600081604051602001620055ac91906200a54f565b6040516020818303038152906040529050620055d0601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620055ff92919062009f34565b600060405180830381600087803b1580156200561a57600080fd5b505af11580156200562f573d6000803e3d6000fd5b505050506200563d62009199565b604051631c1ba58760e31b815260016004820152306024820152620056bc906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa1580156200568f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620056b591906200a4a3565b846200922c565b60405163dc96ff2d60e01b815260016004820152620056ef906001600160a01b0386169063dc96ff2d9060240162005671565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa15801562005749573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576f91906200a4a3565b9050620057a26040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b6000620057b7600a6000856289544062007e25565b9050620057e76040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b620057f382826200922c565b6200580183613a986200922c565b6200580f8661afc86200922c565b6200581e8262017da26200922c565b602f54604051603260248201526200584f916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050505050565b6026546000906200592f57816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620058ba620052a1565b620058c462004c3b565b6040518563ffffffff1660e01b8152600401620058e594939291906200a935565b6020604051808303816000875af115801562005905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200592b91906200a4a3565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005a0857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620059c95790505b505050505081525050815260200190600101906200595b565b600062005a4573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505060006040518060c001604052806001815260200183815260200162005a6c620052a1565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005ac191906200a893565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005b5a91906004016200a4bd565b600060405180830381600087803b15801562005b7557600080fd5b505af115801562005b8a573d6000803e3d6000fd5b5050505062005ba1601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005bd092919062009f34565b6020604051808303816000875af115801562005bf0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c1691906200a483565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005c4b6200349e565b8160008151811062005c615762005c616200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a620052e3565b60008062005cb073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005cdc670c7d713b49da000062009342565b6040518263ffffffff1660e01b815260040162005cfb91815260200190565b600060405180830381600087803b15801562005d1657600080fd5b505af115801562005d2b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005d516702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162005d7091815260200190565b600060405180830381600087803b15801562005d8b57600080fd5b505af115801562005da0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005dc566071afd498d000062009342565b6040518263ffffffff1660e01b815260040162005de491815260200190565b600060405180830381600087803b15801562005dff57600080fd5b505af115801562005e14573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005e4c93506001600160a01b0390911691506000906318fb0de560e11b906044016200357c565b62005e816040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005e9857905050905060405180604001604052806001815260200160648152508160008151811062005eef5762005eef6200a4d2565b602002602001018190525060008160405160200162005f0f91906200a54f565b604051602081830303815290604052905062005f33601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005f6292919062009f34565b600060405180830381600087803b15801562005f7d57600080fd5b505af115801562005f92573d6000803e3d6000fd5b5050505062005fa062009199565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005fdd906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262006010906001600160a01b0386169063dc96ff2d9060240162002932565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200609991906200a4a3565b9050620060dc6040518060400160405280600c81526020017f7468726573686f6c6420257300000000000000000000000000000000000000008152508262009355565b620060ea8261afc86200922c565b620060f88161c5c16200922c565b602f546040516032602482015262001702916001600160a01b0316906000906318fb0de560e11b906044016200357c565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620084a6565b6040805160808101825260008082526020820181905291810182905260608101829052620061a1670de0a46bc207d80062009342565b6020820152620061b96702c68af0bb14000062009342565b6040820152620061d066038d7ea4c6800062009342565b6060828101919091526001600160a01b03861682526040805160028082529281018252600092909160208301908036833701905050905030816000815181106200621e576200621e6200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200625557620062556200a4d2565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908516156200628c5750835b886001600160a01b031663e1007d4a620062a6886200585a565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200631897969594939291906200a9bd565b6020604051808303816000875af115801562006338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200635e91906200a4a3565b9998505050505050505050565b6200637562009cc2565b60008360000362006386576103e893505b826000036200639557613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620063c75750602d546001600160a01b03165b620063f86040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200641c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200645e57600080fd5b505af115801562006473573d6000803e3d6000fd5b5050505060006200648c601c546001600160a01b031690565b6040516200649a9062009d29565b6001600160a01b039091168152602001604051809103906000f080158015620064c7573d6000803e3d6000fd5b50905062006508620064e1601c546001600160a01b031690565b82620064f5602f546001600160a01b031690565b601d546001600160a01b0316866200616b565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200656957600080fd5b505af11580156200657e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620065be57600080fd5b505af1158015620065d3573d6000803e3d6000fd5b50505050620065ea601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200661891815260200190565b600060405180830381865afa15801562006636573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200666091908101906200ab4f565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620066d057600080fd5b505af1158015620066e5573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200679057601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200677057600080fd5b505af115801562006785573d6000803e3d6000fd5b505050505062006914565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620067f257600080fd5b505af115801562006807573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b36200682d601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af11580156200687b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620068a191906200a3a4565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620068fa57600080fd5b505af11580156200690f573d6000803e3d6000fd5b505050505b83516200696e906200693262000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c6549440000000000000000000000000000000000000081525062009404565b6200699f6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b60006040518060c0016040528060018152602001858152602001620069c3620052a1565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006a0291906200a893565b604051602081830303815290604052905062006a26601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006a5592919062009f34565b6020604051808303816000875af115801562006a75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006a9b91906200a483565b5062006aa662009199565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462006af8906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462006b26906200a3c4565b801562006b775780601f1062006b4b5761010080835404028352916020019162006b77565b820191906000526020600020905b81548152906001019060200180831162006b5957829003601f168201915b50505050508152602001906001019062006ad6565b600754600090610100900460ff161562006baf5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006cbe5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006c40917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200ac0f565b60408051601f198184030181529082905262006c5c916200ac41565b6000604051808303816000865af19150503d806000811462006c9b576040519150601f19603f3d011682016040523d82523d6000602084013e62006ca0565b606091505b509150508080602001905181019062006cba91906200a3a4565b9150505b919050565b600062006ce773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505062006d1f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006d3757905050905060405180604001604052806001815260200160508152508160008151811062006d8e5762006d8e6200a4d2565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006dc65762006dc66200a4d2565b602002602001018190525060008160405160200162006de691906200a54f565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006e1c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006e5e57600080fd5b505af115801562006e73573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006efd57600080fd5b505af115801562006f12573d6000803e3d6000fd5b5050505062006f29601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006f5892919062009f34565b600060405180830381600087803b15801562006f7357600080fd5b505af115801562006f88573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620021fd57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200709473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620070cd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620070e45790505090506040518060400160405280600181526020016050815250816000815181106200713b576200713b6200a4d2565b60200260200101819052506000816040516020016200715b91906200a54f565b60405160208183030381529060405290506200717f601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620071ae92919062009f34565b600060405180830381600087803b158015620071c957600080fd5b505af1158015620071de573d6000803e3d6000fd5b50505050620071ec62009199565b60006064620071fe603260506200a5a0565b6200720a91906200a381565b6020860151604051631c1ba58760e31b815260016004820152306024820152919250906200724c906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b8152600160048201526200727f906001600160a01b0383169063dc96ff2d9060240162003707565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007296579050509050604051806040016040528060018152602001601481525081600081518110620072ed57620072ed6200a4d2565b6020026020010181905250806040516020016200730b91906200a54f565b60405160208183030381529060405293506200732f601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200735e92919062009f34565b600060405180830381600087803b1580156200737957600080fd5b505af11580156200738e573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620073cb92506001600160a01b038516915063e0dd2c38906044016200248f565b60405163dc96ff2d60e01b81526001600482015262001702906001600160a01b0384169063dc96ff2d906024016200248f565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200744357506001600160a01b03811631620074cc565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620074a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074c991906200a4a3565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620084a6565b6000806200753973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620075726040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200758957905050905060405180604001604052806001815260200160631981525081600081518110620075e157620075e16200a4d2565b60200260200101819052506000816040516020016200760191906200a54f565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620076a991906004016200a4bd565b600060405180830381600087803b158015620076c457600080fd5b505af1158015620076d9573d6000803e3d6000fd5b50505050620076f0601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200771f92919062009f34565b600060405180830381600087803b1580156200773a57600080fd5b505af11580156200774f573d6000803e3d6000fd5b505050506200775d62009199565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007817906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620077b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620077d991906200a4a3565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562007862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200788891906200a4a3565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620093b7565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200796f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c46200799b670c7d713b49da000062009342565b6040518263ffffffff1660e01b8152600401620079ba91815260200190565b600060405180830381600087803b158015620079d557600080fd5b505af1158015620079ea573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007a106702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162007a2f91815260200190565b600060405180830381600087803b15801562007a4a57600080fd5b505af115801562007a5f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007a8466071afd498d000062009342565b6040518263ffffffff1660e01b815260040162007aa391815260200190565b600060405180830381600087803b15801562007abe57600080fd5b505af115801562007ad3573d6000803e3d6000fd5b5050505062007b0c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007b2357905050905060405180604001604052806001815260200160508152508160008151811062007b7a5762007b7a6200a4d2565b602002602001018190525060008160405160200162007b9a91906200a54f565b604051602081830303815290604052905062007bbe601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007bed92919062009f34565b600060405180830381600087803b15801562007c0857600080fd5b505af115801562007c1d573d6000803e3d6000fd5b5050505062007c2b62009199565b6000606462007c3d603260506200a5a0565b62007c4991906200a381565b604051631c1ba58760e31b81526001600482015230602482015290915062007c85906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262007cb8906001600160a01b0386169063dc96ff2d9060240162002932565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007d0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d3591906200a4a3565b905062007d686040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b600062007d7d600a6000856289544062007e25565b905062007dad6040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b62007db982826200922c565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6000848162007e4762007e4062989680608087901b6200a381565b8362009451565b905060806f8000000000000000000000000000000062007e6b86629896806200ac5f565b62007e7b84600160801b6200ac5f565b62007e8a629896808a6200a5a0565b62007e9691906200a5a0565b62007ea291906200a381565b62007eae89856200a5a0565b62007eba91906200a5ba565b62007ec691906200a5ba565b901c979650505050505050565b60008062007ee560008060006200636b565b9150915062007f1a6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007f60918491016200a893565b604051602081830303815290604052905062007f84601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007fb392919062009f34565b6020604051808303816000875af115801562007fd3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007ff991906200a483565b506200800462009199565b620080396040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252606491600291600091816020015b60408051808201909152600080825260208201528152602001906001900390816200805657905050905060405180604001604052808381526020018481525081600081518110620080ab57620080ab6200a4d2565b6020026020010181905250620080c9601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620080eb91906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200811992919062009f34565b600060405180830381600087803b1580156200813457600080fd5b505af115801562008149573d6000803e3d6000fd5b505050506200815762009199565b60006064620081686032866200a5a0565b6200817491906200a381565b6020890151604051631c1ba58760e31b81526004810186905230602482015291925090620081b6906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b815260048101859052620081e9906001600160a01b0383169063dc96ff2d9060240162003707565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200822191815260200190565b61018060405180830381865afa15801562008240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200826691906200a5e0565b509a505099509950505097509750505050620082af6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b620082e4604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620083156040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620083566040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b6200838d60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b600089604051602001620083a391815260200190565b6040516020818303038152906040529050620083c7601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f600060405190808252806020026020018201604052801562008402578160200160208202803683370190505b50846040518463ffffffff1660e01b815260040162008424939291906200a8fc565b600060405180830381600087803b1580156200843f57600080fd5b505af115801562008454573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620084b3826200950a565b5092915050565b620084c46200963f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620084e8620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200852a57600080fd5b505af11580156200853f573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620085ad620052a1565b620085b762004c3b565b6040518563ffffffff1660e01b8152600401620085d894939291906200a935565b6020604051808303816000875af1158015620085f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200861e91906200a4a3565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200866b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200869591908101906200ac75565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620086dc6200702d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200871e57600080fd5b505af115801562008733573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620087b26200702d565b620087bc62003edb565b6040518563ffffffff1660e01b8152600401620087dd94939291906200ad4b565b6020604051808303816000875af1158015620087fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200882391906200a4a3565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008870573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200889a91908101906200ac75565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620088e162001d73565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200892357600080fd5b505af115801562008938573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620089b762001d73565b620089c162005c1c565b6040518563ffffffff1660e01b8152600401620089e294939291906200adbd565b6020604051808303816000875af115801562008a02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a2891906200a4a3565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008a9f91908101906200ac75565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ae862004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008b2a57600080fd5b505af115801562008b3f573d6000803e3d6000fd5b5050505060405162008b519062009d37565b604051809103906000f08015801562008b6e573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008b9d62004cec565b8362008ba8620078c6565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008c0e57600080fd5b505af115801562008c23573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008c8657600080fd5b505af11580156200250e573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008cf49160040190815260200190565b602060405180830381865afa15801562008d12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008d3891906200a483565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008dd957600080fd5b505af115801562008dee573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062009110905057600060405162008e1a9062009ca6565b604051809103906000f08015801562008e37573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008e599062009cb4565b604051809103906000f08015801562008e76573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008ed3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ef991906200a483565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008f7c93920416620096f0565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200900d57600080fd5b505af115801562009022573d6000803e3d6000fd5b506000925060019150620090339050565b6040519080825280602002602001820160405280156200905d578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200908457620090846200a4d2565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d90620090d890849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b158015620090f357600080fd5b505af115801562009108573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200916291906200ae0c565b60405180910390a162001404838362009752565b60295460ff1615620091965760276200919082826200ae9f565b505a6028555b50565b60295460ff16156200922a5760005a90506000606482602854620091be91906200ac5f565b620091ca91906200ac5f565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a860276040516020016200920191906200af6c565b60408051601f19818403018152908290526200921f9184906200b00f565b60405180910390a150505b565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620092ba9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620092f391906200b033565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200932c91906200b06c565b60405180910390a16200933e620098e4565b5050565b6000620074cc64174876e800836200a381565b6200933e82826040516024016200936e9291906200b00f565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052620099f7565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620093f091906200ae0c565b60405180910390a16200140483836200922c565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200943d91906200ae0c565b60405180910390a162001404838362009a18565b6000600160801b8310620094ac5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095025780600116600003620094df57620094d4828362009b18565b915060011c620094b5565b620094eb838362009b18565b9250620094fa6001826200ac5f565b9050620094b5565b505092915050565b600080826040516020016200952091906200ac41565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620095a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620095c891906200a483565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200960690859087906004016200b097565b600060405180830381600087803b1580156200962157600080fd5b505af115801562009636573d6000803e3d6000fd5b50505050915091565b6040516200964d9062009d45565b604051809103906000f0801580156200966a573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de86200969962007908565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620096db57600080fd5b505af115801562005c16573d6000803e3d6000fd5b6200933e8282604051602401620097099291906200b0bb565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620099f7565b801515821515146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097e49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009837576040518060400160405280600581526020016466616c736560d81b81525062009855565b604051806040016040528060048152602001637472756560e01b8152505b6040516200986491906200b0e8565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620098b7576040518060400160405280600581526020016466616c736560d81b815250620098d5565b604051806040016040528060048152602001637472756560e01b8152505b6040516200932c91906200b127565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620099e65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200998192916020016200ac0f565b60408051601f19818403018152908290526200999d916200ac41565b6000604051808303816000865af19150503d8060008114620099dc576040519150601f19603f3d011682016040523d82523d6000602084013e620099e1565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009aa69060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009adf91906200b033565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200932c91906200b06c565b6000600160801b83111562009b965760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620094a3565b600160801b821062009beb5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620094a3565b60806f8000000000000000000000000000000062009c0a84866200a5a0565b62009c1691906200a5ba565b901c9392505050565b610e67806200b15383390190565b612768806200bfba83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009c99604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e72283390190565b613594806200ef7483390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009d15604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201250883390190565b6135c1806201599983390190565b612eb68062018f5a83390190565b6001600160a01b03811681146200919657600080fd5b60006020828403121562009d7c57600080fd5b813562009d898162009d53565b9392505050565b600081518084526020808501945080840160005b8381101562009dcb5781516001600160a01b03168752958201959082019060010162009da4565b509495945050505050565b60208152600062009d89602083018462009d90565b60005b8381101562009e0857818101518382015260200162009dee565b50506000910152565b6000815180845262009e2b81602086016020860162009deb565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009ef557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009ede57605f1989850301835262009ecb84865162009e11565b948e01949350918d019160010162009eac565b505050978a01979450509188019160010162009e66565b50919a9950505050505050505050565b80151581146200919657600080fd5b60006020828403121562009f2757600080fd5b813562009d898162009f05565b82815260406020820152600062009f4f604083018462009e11565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009fff57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009fe95783516001600160e01b0319168252928b019260019290920191908b019062009fbd565b50978a0197955050509187019160010162009f7f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a04a576200a04a6200a00e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a07c576200a07c6200a00e565b604052919050565b600067ffffffffffffffff8211156200a0a1576200a0a16200a00e565b50601f01601f191660200190565b6000806000606084860312156200a0c557600080fd5b83356200a0d28162009d53565b925060208401359150604084013567ffffffffffffffff8111156200a0f657600080fd5b8401601f810186136200a10857600080fd5b80356200a11f6200a119826200a084565b6200a050565b8181528760208385010111156200a13557600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a1ae57603f198886030184526200a19b85835162009e11565b945092850192908501906001016200a17c565b5092979650505050505050565b600080600080600060a086880312156200a1d457600080fd5b85356200a1e18162009d53565b945060208601356200a1f38162009d53565b935060408601356200a2058162009d53565b925060608601356200a2178162009d53565b915060808601356200a2298162009d53565b809150509295509295909350565b6000806000606084860312156200a24d57600080fd5b83356200a25a8162009d53565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009f4f604085018262009e11565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a2dc6101008401826200a26f565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a30e57600080fd5b82356200a31b8162009d53565b915060208301356200a32d8162009d53565b809150509250929050565b600080600080608085870312156200a34f57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a39f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a3b757600080fd5b815162009d898162009f05565b600181811c908216806200a3d957607f821691505b6020821081036200a3fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a45d6101008501826200a26f565b90508160c08601511660e0850152809250505092915050565b805162006cbe8162009d53565b6000602082840312156200a49657600080fd5b815162009d898162009d53565b6000602082840312156200a4b657600080fd5b5051919050565b60208152600062009d89602083018462009e11565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a4fe8184018b62009d90565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a593578151805185528601518685015292840192908501906001016200a56c565b5091979650505050505050565b8082028115828204841417620074cc57620074cc6200a36b565b80820180821115620074cc57620074cc6200a36b565b80516004811062006cbe57600080fd5b6000806000806000806000806000806000806101808d8f0312156200a60457600080fd5b8c516200a6118162009d53565b60208e0151909c506200a6248162009d53565b60408e0151909b506200a6378162009d53565b809a505060608d0151985060808d0151975060a08d0151600381106200a65c57600080fd5b96506200a66c60c08e016200a5d0565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a6ce576200a6ce6200a6a5565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a6fe8285018d62009e11565b92506200a70f606085018c6200a6bb565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a75a6200a119846200a084565b90508281528383830111156200a76f57600080fd5b62009d8983602083018462009deb565b6000602082840312156200a79257600080fd5b815167ffffffffffffffff8111156200a7aa57600080fd5b8201601f810184136200a7bc57600080fd5b62009f4f848251602084016200a749565b6000806000606084860312156200a7e357600080fd5b835160ff811681146200a7f557600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8388285018d62009e11565b91506200a849606085018c6200a6bb565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a882818562009e11565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a8d8576200a8d86200a6a5565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a917606083018562009d90565b82810360408401526200a92b818562009e11565b9695505050505050565b84815260a0602082015260006200a97960a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a98d81876200a26f565b90506001600160a01b038516606084015282810360808401526200a9b2818562009d90565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a9e960e085018a62009e11565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aa20816200a3c4565b806040870152868216600081146200aa4157600181146200aa5c576200aa8c565b60ff1983168787015281151560051b8701860193506200aa8c565b846000528860002060005b838110156200aa84578154898201890152908901908a016200aa67565b880187019450505b50505087810360c08901526200aaa3818a62009d90565b9f9e505050505050505050505050505050565b600082601f8301126200aac857600080fd5b62009d89838351602085016200a749565b6000604082840312156200aaec57600080fd5b6040516040810167ffffffffffffffff82821081831117156200ab13576200ab136200a00e565b816040528293508451835260208501519150808211156200ab3357600080fd5b506200ab42858286016200aab6565b6020830152505092915050565b6000602082840312156200ab6257600080fd5b815167ffffffffffffffff808211156200ab7b57600080fd5b9083019060c082860312156200ab9057600080fd5b6200ab9a6200a024565b8251815260208301516200abae8162009d53565b602082015260408301516200abc38162009d53565b60408201526060830151828111156200abdb57600080fd5b6200abe9878286016200aad9565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200ac3381600485016020870162009deb565b919091016004019392505050565b600082516200ac5581846020870162009deb565b9190910192915050565b81810381811115620074cc57620074cc6200a36b565b6000602082840312156200ac8857600080fd5b815167ffffffffffffffff808211156200aca157600080fd5b9083019060c082860312156200acb657600080fd5b6200acc06200a024565b82518152602083015160208201526040830151828111156200ace157600080fd5b6200acef878286016200aab6565b6040830152506060830151828111156200ad0857600080fd5b6200ad16878286016200aad9565b6060830152506200ad2a608084016200a476565b60808201526200ad3d60a084016200a476565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b6001600160a01b038516606084015282810360808401526200a9b2818562009d90565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009d89608083018462009e11565b601f8211156200140457600081815260208120601f850160051c810160208610156200ae7e5750805b601f850160051c820191505b8181101562003a94578281556001016200ae8a565b815167ffffffffffffffff8111156200aebc576200aebc6200a00e565b6200aed4816200aecd84546200a3c4565b846200ae55565b602080601f8311600181146200af0c57600084156200aef35750858301515b600019600386901b1c1916600185901b17855562003a94565b600085815260208120601f198616915b828110156200af3d578886015182559484019460019091019084016200af1c565b50858210156200af5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200af7c816200a3c4565b600182811680156200af9757600181146200afad576200afde565b60ff19841687528215158302870194506200afde565b8760005260208060002060005b858110156200afd55781548a8201529084019082016200afba565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b024604083018562009e11565b90508260208301529392505050565b6040815260006200b05e60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b05e60408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009f4f604083018462009e11565b6040815260006200b0d0604083018562009e11565b90506001600160a01b03831660208301529392505050565b6040815260006200b11360408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009f4f818562009e11565b6040815260006200b11360408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a26469706673582212202f9981fbe01658b90d42cb3e80a199c38b8b01fa322d955e9577f525be5c7d6764736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:47;;;;;;;;;;1525:29423:94;534:52:93;;;1572:26:44;1525:29423:94;534:52:93;;;;;;-1:-1:-1;;;534:52:93;;;;;;507:79;;;;1525:29423:94;;507:79:93;;;;;;;:::i;:::-;-1:-1:-1;;194:1:95;158:37;;;;226:34;;;-1:-1:-1;;226:34:95;;;339::96;;-1:-1:-1;1700:5:94;1672:33;;1525:29423;;;;;;;;;;;;14:127:97;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:97;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:97;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:97;;;2580:26;2531:89;-1:-1:-1;;1335:1:97;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:97;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:97;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:97;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:97:o;:::-;1525:29423:94;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae6200170b565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009d69565b62001a28565b6200064762001d73565b6200064762001db5565b6200072362001df7565b6040516200065b919062009dd6565b6200073c62001e5b565b6040516200065b919062009e3f565b620006ae6200075c36600462009f14565b6029805460ff1916911515919091179055565b620006ae62001fa9565b6023546001600160a01b031662000647565b6200079562002220565b6040516200065b92919062009f34565b620006ae620022bf565b60205462000695565b6200072362002515565b6200072362002577565b62000723620025d9565b620006ae620025fc565b620006476200349e565b62000695602e5481565b62000647620034e0565b620006ae62003522565b6200064762003a9c565b6200081c62003ade565b6040516200065b919062009f57565b6200064762003bc8565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a0af565b62003c0a565b6200072362003edb565b620006ae62003f7d565b6200064762004bf9565b62000695602c5481565b6200072362004c3b565b601d546001600160a01b031662000647565b6200064762004caa565b6200064762004cec565b620008c762004d2e565b6040516200065b91906200a155565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004e08565b62000647620052a1565b62000647620052e3565b6200069561afc881565b620006ae62005325565b620006956200093736600462009d69565b6200585a565b6200081c62005937565b620006ae62005a21565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005c1c565b620006ae62005c8b565b6200064762006129565b620006956200099c3660046200a1bb565b6200616b565b620009b9620009b33660046200a237565b6200636b565b6040516200065b9291906200a290565b620008c762006ab2565b620009dd62006b8c565b60405190151581526020016200065b565b620006ae62006cc3565b62000695613a9881565b6021546001600160a01b031662000647565b6200064762006feb565b620006476200702d565b620006ae6200706f565b6200069562000a433660046200a2fa565b620073fe565b62000647620074d2565b601c546001600160a01b031662000647565b620006ae62007514565b62000647620078c6565b6200064762007908565b620006ae6200794a565b6200072362007dc3565b6200069562000aa83660046200a338565b62007e25565b620006ae62007ed3565b6200064762008469565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620084a6565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620084a6565b62000bc2620084ba565b62000bdf62000bd9601d546001600160a01b031690565b62008ac4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009c1f565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec7620052a1565b62000ed6600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a3a4565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009c2d565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009c3b565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a3c4565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008c9b565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a400565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a483565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a3a4565b505050565b6000806200141b60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a4bd565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620015899050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015cb57600080fd5b505af1158015620015e0573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200162057600080fd5b505af115801562001635573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ed57600080fd5b505af115801562001702573d6000803e3d6000fd5b50505050505050565b6000806200171d60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200178692016200a4bd565b600060405180830381600087803b158015620017a157600080fd5b505af1158015620017b6573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620017f657600080fd5b505af11580156200180b573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018369050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200187857600080fd5b505af11580156200188d573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018cd57600080fd5b505af1158015620018e2573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200194557600080fd5b505af11580156200195a573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200197f620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620019c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019ea91906200a3a4565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062009125565b602a546000906001600160a01b031662001d6257600060405162001a4c9062009ca6565b604051809103906000f08015801562001a69573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001a8b9062009cb4565b604051809103906000f08015801562001aa8573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001b05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b2b91906200a483565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001bce57600080fd5b505af115801562001be3573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001c7357600080fd5b505af115801562001c88573d6000803e3d6000fd5b50600092506001915062001c999050565b60405190808252806020026020018201604052801562001cc3578160200160208202803683370190505b509050848160008151811062001cdd5762001cdd6200a4d2565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001d2a90849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b15801562001d4557600080fd5b505af115801562001d5a573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620084a6565b6060601480548060200260200160405190810160405280929190818152602001828054801562001e5157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e32575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001f8857838290600052602060002001805462001ef4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001f22906200a3c4565b801562001f735780601f1062001f475761010080835404028352916020019162001f73565b820191906000526020600020905b81548152906001019060200180831162001f5557829003601f168201915b50505050508152602001906001019062001ed2565b50505050815250508152602001906001019062001e7f565b50505050905090565b600062001fcd73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915050620020056040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200201d5790505090506040518060400160405280600181526020016050815250816000815181106200207457620020746200a4d2565b6020026020010181905250604051806040016040528060018152602001601481525081600181518110620020ac57620020ac6200a4d2565b6020026020010181905250600081604051602001620020cc91906200a54f565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200216c91906004016200a4bd565b600060405180830381600087803b1580156200218757600080fd5b505af11580156200219c573d6000803e3d6000fd5b50505050620021b3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620021e292919062009f34565b600060405180830381600087803b158015620021fd57600080fd5b505af115801562002212573d6000803e3d6000fd5b505050506200140462009199565b602480546025805491929162002236906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462002264906200a3c4565b8015620022b55780601f106200228957610100808354040283529160200191620022b5565b820191906000526020600020905b8154815290600101906020018083116200229757829003601f168201915b5050505050905082565b600080620022e473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915091506200231d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023355790505090506040518060400160405280600181526020016064815250816000815181106200238c576200238c6200a4d2565b602002602001018190525080600181518110620023ad57620023ad6200a4d2565b5050604051600090620023c59083906020016200a54f565b6040516020818303038152906040529050620023e9601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200241892919062009f34565b600060405180830381600087803b1580156200243357600080fd5b505af115801562002448573d6000803e3d6000fd5b505050506200245662009199565b6020840151604051631c1ba58760e31b815260016004820152306024820152620024db906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620024ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024d391906200a4a3565b60326200922c565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d906024016200248f565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200261f60006802b5e3af16b1880000683635c9adc5dea000006200636b565b602082015191935091506001600160a01b0381166369fa25c46200264b670dd46c083165900062009342565b6040518263ffffffff1660e01b81526004016200266a91815260200190565b600060405180830381600087803b1580156200268557600080fd5b505af11580156200269a573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620026c067016345785d8a000062009342565b6040518263ffffffff1660e01b8152600401620026df91815260200190565b600060405180830381600087803b158015620026fa57600080fd5b505af11580156200270f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027346601c6bf5263400062009342565b6040518263ffffffff1660e01b81526004016200275391815260200190565b600060405180830381600087803b1580156200276e57600080fd5b505af115801562002783573d6000803e3d6000fd5b50505050620027bc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620027d757905050905060405180604001604052806001815260200183815250816000815181106200282d576200282d6200a4d2565b60200260200101819052506000816040516020016200284d91906200a54f565b604051602081830303815290604052905062002871601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620028a092919062009f34565b600060405180830381600087803b158015620028bb57600080fd5b505af1158015620028d0573d6000803e3d6000fd5b50505050620028de62009199565b60006064620028ef6032866200a5a0565b620028fb91906200a381565b604051631c1ba58760e31b8152600160048201523060248201529091506200297d906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200297691906200a4a3565b826200922c565b60405163dc96ff2d60e01b815260016004820152620029b0906001600160a01b0387169063dc96ff2d9060240162002932565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620029d4620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002a1657600080fd5b505af115801562002a2b573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a6b57600080fd5b505af115801562002a80573d6000803e3d6000fd5b50600092506001915062002a919050565b60405190808252806020026020018201604052801562002ad857816020015b604080518082019091526000808252602082015281526020019060019003908162002ab05790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002b0d5762002b0d6200a4d2565b60200260200101819052508160405160200162002b2b91906200a54f565b604051602081830303815290604052935062002b4f601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002b7e92919062009f34565b600060405180830381600087803b15801562002b9957600080fd5b505af115801562002bae573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c1157600080fd5b505af115801562002c26573d6000803e3d6000fd5b505050506000606460328362002c3d91906200a5a0565b62002c4991906200a381565b905062002c9d886001600160a01b031663e0dd2c38600162002c6a620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002932565b60405163dc96ff2d60e01b81526001600482015262002d20906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002ce8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d0e91906200a4a3565b62002d1a83876200a5ba565b6200922c565b62002d616040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002da2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dc891906200a4a3565b905062002e0b6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e74730000000000008152508262009355565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ea491906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002e78573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9e91906200a4a3565b62009355565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002f5e91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002f19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f3f91906200a4a3565b6040518263ffffffff1660e01b815260040162002e5a91815260200190565b60405163950559d760e01b81526004810182905262002ffd906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002fcf91906200a4a3565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620093b7565b60405163dc96ff2d60e01b81526001600482015262003106906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200307691906200a4a3565b6040518263ffffffff1660e01b81526004016200309591815260200190565b602060405180830381865afa158015620030b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030d991906200a4a3565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620093b7565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200315457600080fd5b505af115801562003169573d6000803e3d6000fd5b50505050620031ae6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620031f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200321c91906200a4a3565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200325591815260200190565b61018060405180830381865afa15801562003274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200329a91906200a5e0565b9b509b50509a5050505097509750505050620032e36040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62003318604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620033496040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b6200338060405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b620033c16040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b620034058261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620093b7565b62003449836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620093b7565b6200348c8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620093b7565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620084a6565b6000806200354773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602f5460405161afc86024820152929450909250620035b4916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003c0a565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620035cb5790505090506040518060400160405280600181526020016064815250816000815181106200362257620036226200a4d2565b60200260200101819052506000816040516020016200364291906200a54f565b604051602081830303815290604052905062003666601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200369592919062009f34565b600060405180830381600087803b158015620036b057600080fd5b505af1158015620036c5573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003752906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003725573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200374b91906200a4a3565b836200922c565b60405163dc96ff2d60e01b81526001600482015262003785906001600160a01b0383169063dc96ff2d9060240162003707565b60405180604001604052806001815260200160631981525084600081518110620037b357620037b36200a4d2565b602002602001018190525083604051602001620037d191906200a54f565b6040516020818303038152906040529250620037f5601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200382492919062009f34565b600060405180830381600087803b1580156200383f57600080fd5b505af115801562003854573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200390d92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620038a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620038cf91906200a4a3565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b815260016004820152620039bc906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003958573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200397e91906200a4a3565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620093b7565b62003a63816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620039ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2591906200a4a3565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620093b7565b602f546040516032602482015262003a94916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620084a6565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003baf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003b705790505b5050505050815250508152602001906001019062003b02565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620084a6565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003c90573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb691906200a4a3565b6040518b63ffffffff1660e01b815260040162003cdd9a999897969594939291906200a6d2565b600060405180830381865afa15801562003cfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003d2591908101906200a77f565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dd291906200a7cd565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003e89908c908c908c90600090819081908190819081908d906065016200a80c565b6020604051808303816000875af115801562003ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ecf91906200a3a4565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003f0a62001db5565b8160008151811062003f205762003f206200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62004caa565b8160018151811062003f605762003f606200a4d2565b6001600160a01b0390921660209283029190910190910152919050565b60008062003fa273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062003fdb6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003ff657905050905060405180604001604052806001815260200183815250816000815181106200404c576200404c6200a4d2565b60200260200101819052506000816040516020016200406c91906200a54f565b604051602081830303815290604052905062004090601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620040bf92919062009f34565b600060405180830381600087803b158015620040da57600080fd5b505af1158015620040ef573d6000803e3d6000fd5b50505050620040fd62009199565b600060646200410e6032866200a5a0565b6200411a91906200a381565b6020870151604051631c1ba58760e31b81526001600482015230602482015291925090620041d7906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200419a91906200a4a3565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200420a906001600160a01b0383169063dc96ff2d9060240162003707565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200422e620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200427057600080fd5b505af115801562004285573d6000803e3d6000fd5b5050505060006002905060006040518060c00160405280838152602001898152602001620042b2620052a1565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620042f8918491016200a893565b60405160208183030381529060405290506200431c601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200434b92919062009f34565b6020604051808303816000875af11580156200436b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200439191906200a483565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620043e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200440f91906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200445b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200448191906200a3a4565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620044be57600080fd5b505af1158015620044d3573d6000803e3d6000fd5b506000925060019150620044e49050565b6040519080825280602002602001820160405280156200452b57816020015b6040805180820190915260008082526020820152815260200190600190039081620045035790505b509050600060649050604051806040016040528086815260200182815250826000815181106200455f576200455f6200a4d2565b6020026020010181905250816040516020016200457d91906200a54f565b6040516020818303038152906040529750620045a1601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620045d092919062009f34565b600060405180830381600087803b158015620045eb57600080fd5b505af115801562004600573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200466357600080fd5b505af115801562004678573d6000803e3d6000fd5b50505050600060646032836200468f91906200a5a0565b6200469b91906200a381565b905062004769876001600160a01b031663e0dd2c3888620046bb620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004706573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472c91906200a4a3565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b81526004810187905262004817906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620047b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047da91906200a4a3565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620093b7565b620048586040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b620048ce6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002f19573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200492a91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002efb565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200497857600080fd5b505af11580156200498d573d6000803e3d6000fd5b50505050620049d26040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004a1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a4091906200a4a3565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004a7991815260200190565b61018060405180830381865afa15801562004a98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004abe91906200a5e0565b9b509b50509a505050509750975050505062004b076040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62004b3c604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b62004b6d6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b62004ba460405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b62004be56040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620084a6565b6040805160028082526060808301845292600092919060208301908036833701905050905062004c6a62000aed565b8160008151811062004c805762004c806200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62003bc8565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620084a6565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462004d74906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462004da2906200a3c4565b801562004df35780601f1062004dc75761010080835404028352916020019162004df3565b820191906000526020600020905b81548152906001019060200180831162004dd557829003601f168201915b50505050508152602001906001019062004d52565b60008062004e2d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062004e666040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004e81579050509050604051806040016040528060018152602001838152508160008151811062004ed75762004ed76200a4d2565b602002602001018190525062004ef5601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004f1791906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004f4592919062009f34565b600060405180830381600087803b15801562004f6057600080fd5b505af115801562004f75573d6000803e3d6000fd5b5050505062004f8362009199565b6000606462004f946032856200a5a0565b62004fa091906200a381565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004fe2906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b81526001600482015262005015906001600160a01b0383169063dc96ff2d9060240162003707565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200504e91815260200190565b61018060405180830381865afa1580156200506d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200509391906200a5e0565b509a50509950995050509750975050965050620050dd6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62005112604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620051436040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620051846040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b620051bb60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620051f2908a620073fe565b9050620052018160006200922c565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b81526004016200523e939291906200a8fc565b600060405180830381600087803b1580156200525957600080fd5b505af11580156200526e573d6000803e3d6000fd5b50505050620052828f604001518a620073fe565b90506200529081896200922c565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620084a6565b6000806200534a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005376670c7d713b49da000062009342565b6040518263ffffffff1660e01b81526004016200539591815260200190565b600060405180830381600087803b158015620053b057600080fd5b505af1158015620053c5573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620053eb6702c68af0bb14000062009342565b6040518263ffffffff1660e01b81526004016200540a91815260200190565b600060405180830381600087803b1580156200542557600080fd5b505af11580156200543a573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200545f66071afd498d000062009342565b6040518263ffffffff1660e01b81526004016200547e91815260200190565b600060405180830381600087803b1580156200549957600080fd5b505af1158015620054ae573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620054e992506001600160a01b03909116906000906318fb0de560e11b906044016200357c565b6200551e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055355790505090506040518060400160405280600181526020016064815250816000815181106200558c576200558c6200a4d2565b6020026020010181905250600081604051602001620055ac91906200a54f565b6040516020818303038152906040529050620055d0601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620055ff92919062009f34565b600060405180830381600087803b1580156200561a57600080fd5b505af11580156200562f573d6000803e3d6000fd5b505050506200563d62009199565b604051631c1ba58760e31b815260016004820152306024820152620056bc906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa1580156200568f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620056b591906200a4a3565b846200922c565b60405163dc96ff2d60e01b815260016004820152620056ef906001600160a01b0386169063dc96ff2d9060240162005671565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa15801562005749573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576f91906200a4a3565b9050620057a26040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b6000620057b7600a6000856289544062007e25565b9050620057e76040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b620057f382826200922c565b6200580183613a986200922c565b6200580f8661afc86200922c565b6200581e8262017da26200922c565b602f54604051603260248201526200584f916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050505050565b6026546000906200592f57816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620058ba620052a1565b620058c462004c3b565b6040518563ffffffff1660e01b8152600401620058e594939291906200a935565b6020604051808303816000875af115801562005905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200592b91906200a4a3565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005a0857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620059c95790505b505050505081525050815260200190600101906200595b565b600062005a4573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505060006040518060c001604052806001815260200183815260200162005a6c620052a1565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005ac191906200a893565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005b5a91906004016200a4bd565b600060405180830381600087803b15801562005b7557600080fd5b505af115801562005b8a573d6000803e3d6000fd5b5050505062005ba1601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005bd092919062009f34565b6020604051808303816000875af115801562005bf0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c1691906200a483565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005c4b6200349e565b8160008151811062005c615762005c616200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a620052e3565b60008062005cb073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005cdc670c7d713b49da000062009342565b6040518263ffffffff1660e01b815260040162005cfb91815260200190565b600060405180830381600087803b15801562005d1657600080fd5b505af115801562005d2b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005d516702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162005d7091815260200190565b600060405180830381600087803b15801562005d8b57600080fd5b505af115801562005da0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005dc566071afd498d000062009342565b6040518263ffffffff1660e01b815260040162005de491815260200190565b600060405180830381600087803b15801562005dff57600080fd5b505af115801562005e14573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005e4c93506001600160a01b0390911691506000906318fb0de560e11b906044016200357c565b62005e816040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005e9857905050905060405180604001604052806001815260200160648152508160008151811062005eef5762005eef6200a4d2565b602002602001018190525060008160405160200162005f0f91906200a54f565b604051602081830303815290604052905062005f33601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005f6292919062009f34565b600060405180830381600087803b15801562005f7d57600080fd5b505af115801562005f92573d6000803e3d6000fd5b5050505062005fa062009199565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005fdd906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262006010906001600160a01b0386169063dc96ff2d9060240162002932565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200609991906200a4a3565b9050620060dc6040518060400160405280600c81526020017f7468726573686f6c6420257300000000000000000000000000000000000000008152508262009355565b620060ea8261afc86200922c565b620060f88161c5c16200922c565b602f546040516032602482015262001702916001600160a01b0316906000906318fb0de560e11b906044016200357c565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620084a6565b6040805160808101825260008082526020820181905291810182905260608101829052620061a1670de0a46bc207d80062009342565b6020820152620061b96702c68af0bb14000062009342565b6040820152620061d066038d7ea4c6800062009342565b6060828101919091526001600160a01b03861682526040805160028082529281018252600092909160208301908036833701905050905030816000815181106200621e576200621e6200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200625557620062556200a4d2565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908516156200628c5750835b886001600160a01b031663e1007d4a620062a6886200585a565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200631897969594939291906200a9bd565b6020604051808303816000875af115801562006338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200635e91906200a4a3565b9998505050505050505050565b6200637562009cc2565b60008360000362006386576103e893505b826000036200639557613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620063c75750602d546001600160a01b03165b620063f86040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200641c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200645e57600080fd5b505af115801562006473573d6000803e3d6000fd5b5050505060006200648c601c546001600160a01b031690565b6040516200649a9062009d29565b6001600160a01b039091168152602001604051809103906000f080158015620064c7573d6000803e3d6000fd5b50905062006508620064e1601c546001600160a01b031690565b82620064f5602f546001600160a01b031690565b601d546001600160a01b0316866200616b565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200656957600080fd5b505af11580156200657e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620065be57600080fd5b505af1158015620065d3573d6000803e3d6000fd5b50505050620065ea601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200661891815260200190565b600060405180830381865afa15801562006636573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200666091908101906200ab4f565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620066d057600080fd5b505af1158015620066e5573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200679057601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200677057600080fd5b505af115801562006785573d6000803e3d6000fd5b505050505062006914565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620067f257600080fd5b505af115801562006807573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b36200682d601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af11580156200687b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620068a191906200a3a4565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620068fa57600080fd5b505af11580156200690f573d6000803e3d6000fd5b505050505b83516200696e906200693262000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c6549440000000000000000000000000000000000000081525062009404565b6200699f6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b60006040518060c0016040528060018152602001858152602001620069c3620052a1565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006a0291906200a893565b604051602081830303815290604052905062006a26601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006a5592919062009f34565b6020604051808303816000875af115801562006a75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006a9b91906200a483565b5062006aa662009199565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462006af8906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462006b26906200a3c4565b801562006b775780601f1062006b4b5761010080835404028352916020019162006b77565b820191906000526020600020905b81548152906001019060200180831162006b5957829003601f168201915b50505050508152602001906001019062006ad6565b600754600090610100900460ff161562006baf5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006cbe5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006c40917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200ac0f565b60408051601f198184030181529082905262006c5c916200ac41565b6000604051808303816000865af19150503d806000811462006c9b576040519150601f19603f3d011682016040523d82523d6000602084013e62006ca0565b606091505b509150508080602001905181019062006cba91906200a3a4565b9150505b919050565b600062006ce773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505062006d1f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006d3757905050905060405180604001604052806001815260200160508152508160008151811062006d8e5762006d8e6200a4d2565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006dc65762006dc66200a4d2565b602002602001018190525060008160405160200162006de691906200a54f565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006e1c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006e5e57600080fd5b505af115801562006e73573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006efd57600080fd5b505af115801562006f12573d6000803e3d6000fd5b5050505062006f29601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006f5892919062009f34565b600060405180830381600087803b15801562006f7357600080fd5b505af115801562006f88573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620021fd57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200709473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620070cd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620070e45790505090506040518060400160405280600181526020016050815250816000815181106200713b576200713b6200a4d2565b60200260200101819052506000816040516020016200715b91906200a54f565b60405160208183030381529060405290506200717f601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620071ae92919062009f34565b600060405180830381600087803b158015620071c957600080fd5b505af1158015620071de573d6000803e3d6000fd5b50505050620071ec62009199565b60006064620071fe603260506200a5a0565b6200720a91906200a381565b6020860151604051631c1ba58760e31b815260016004820152306024820152919250906200724c906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b8152600160048201526200727f906001600160a01b0383169063dc96ff2d9060240162003707565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007296579050509050604051806040016040528060018152602001601481525081600081518110620072ed57620072ed6200a4d2565b6020026020010181905250806040516020016200730b91906200a54f565b60405160208183030381529060405293506200732f601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200735e92919062009f34565b600060405180830381600087803b1580156200737957600080fd5b505af11580156200738e573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620073cb92506001600160a01b038516915063e0dd2c38906044016200248f565b60405163dc96ff2d60e01b81526001600482015262001702906001600160a01b0384169063dc96ff2d906024016200248f565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200744357506001600160a01b03811631620074cc565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620074a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074c991906200a4a3565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620084a6565b6000806200753973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620075726040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200758957905050905060405180604001604052806001815260200160631981525081600081518110620075e157620075e16200a4d2565b60200260200101819052506000816040516020016200760191906200a54f565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620076a991906004016200a4bd565b600060405180830381600087803b158015620076c457600080fd5b505af1158015620076d9573d6000803e3d6000fd5b50505050620076f0601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200771f92919062009f34565b600060405180830381600087803b1580156200773a57600080fd5b505af11580156200774f573d6000803e3d6000fd5b505050506200775d62009199565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007817906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620077b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620077d991906200a4a3565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562007862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200788891906200a4a3565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620093b7565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200796f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c46200799b670c7d713b49da000062009342565b6040518263ffffffff1660e01b8152600401620079ba91815260200190565b600060405180830381600087803b158015620079d557600080fd5b505af1158015620079ea573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007a106702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162007a2f91815260200190565b600060405180830381600087803b15801562007a4a57600080fd5b505af115801562007a5f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007a8466071afd498d000062009342565b6040518263ffffffff1660e01b815260040162007aa391815260200190565b600060405180830381600087803b15801562007abe57600080fd5b505af115801562007ad3573d6000803e3d6000fd5b5050505062007b0c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007b2357905050905060405180604001604052806001815260200160508152508160008151811062007b7a5762007b7a6200a4d2565b602002602001018190525060008160405160200162007b9a91906200a54f565b604051602081830303815290604052905062007bbe601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007bed92919062009f34565b600060405180830381600087803b15801562007c0857600080fd5b505af115801562007c1d573d6000803e3d6000fd5b5050505062007c2b62009199565b6000606462007c3d603260506200a5a0565b62007c4991906200a381565b604051631c1ba58760e31b81526001600482015230602482015290915062007c85906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262007cb8906001600160a01b0386169063dc96ff2d9060240162002932565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007d0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d3591906200a4a3565b905062007d686040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b600062007d7d600a6000856289544062007e25565b905062007dad6040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b62007db982826200922c565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6000848162007e4762007e4062989680608087901b6200a381565b8362009451565b905060806f8000000000000000000000000000000062007e6b86629896806200ac5f565b62007e7b84600160801b6200ac5f565b62007e8a629896808a6200a5a0565b62007e9691906200a5a0565b62007ea291906200a381565b62007eae89856200a5a0565b62007eba91906200a5ba565b62007ec691906200a5ba565b901c979650505050505050565b60008062007ee560008060006200636b565b9150915062007f1a6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007f60918491016200a893565b604051602081830303815290604052905062007f84601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007fb392919062009f34565b6020604051808303816000875af115801562007fd3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007ff991906200a483565b506200800462009199565b620080396040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252606491600291600091816020015b60408051808201909152600080825260208201528152602001906001900390816200805657905050905060405180604001604052808381526020018481525081600081518110620080ab57620080ab6200a4d2565b6020026020010181905250620080c9601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620080eb91906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200811992919062009f34565b600060405180830381600087803b1580156200813457600080fd5b505af115801562008149573d6000803e3d6000fd5b505050506200815762009199565b60006064620081686032866200a5a0565b6200817491906200a381565b6020890151604051631c1ba58760e31b81526004810186905230602482015291925090620081b6906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b815260048101859052620081e9906001600160a01b0383169063dc96ff2d9060240162003707565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200822191815260200190565b61018060405180830381865afa15801562008240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200826691906200a5e0565b509a505099509950505097509750505050620082af6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b620082e4604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620083156040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620083566040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b6200838d60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b600089604051602001620083a391815260200190565b6040516020818303038152906040529050620083c7601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f600060405190808252806020026020018201604052801562008402578160200160208202803683370190505b50846040518463ffffffff1660e01b815260040162008424939291906200a8fc565b600060405180830381600087803b1580156200843f57600080fd5b505af115801562008454573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620084b3826200950a565b5092915050565b620084c46200963f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620084e8620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200852a57600080fd5b505af11580156200853f573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620085ad620052a1565b620085b762004c3b565b6040518563ffffffff1660e01b8152600401620085d894939291906200a935565b6020604051808303816000875af1158015620085f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200861e91906200a4a3565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200866b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200869591908101906200ac75565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620086dc6200702d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200871e57600080fd5b505af115801562008733573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620087b26200702d565b620087bc62003edb565b6040518563ffffffff1660e01b8152600401620087dd94939291906200ad4b565b6020604051808303816000875af1158015620087fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200882391906200a4a3565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008870573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200889a91908101906200ac75565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620088e162001d73565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200892357600080fd5b505af115801562008938573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620089b762001d73565b620089c162005c1c565b6040518563ffffffff1660e01b8152600401620089e294939291906200adbd565b6020604051808303816000875af115801562008a02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a2891906200a4a3565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008a9f91908101906200ac75565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ae862004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008b2a57600080fd5b505af115801562008b3f573d6000803e3d6000fd5b5050505060405162008b519062009d37565b604051809103906000f08015801562008b6e573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008b9d62004cec565b8362008ba8620078c6565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008c0e57600080fd5b505af115801562008c23573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008c8657600080fd5b505af11580156200250e573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008cf49160040190815260200190565b602060405180830381865afa15801562008d12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008d3891906200a483565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008dd957600080fd5b505af115801562008dee573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062009110905057600060405162008e1a9062009ca6565b604051809103906000f08015801562008e37573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008e599062009cb4565b604051809103906000f08015801562008e76573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008ed3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ef991906200a483565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008f7c93920416620096f0565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200900d57600080fd5b505af115801562009022573d6000803e3d6000fd5b506000925060019150620090339050565b6040519080825280602002602001820160405280156200905d578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200908457620090846200a4d2565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d90620090d890849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b158015620090f357600080fd5b505af115801562009108573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200916291906200ae0c565b60405180910390a162001404838362009752565b60295460ff1615620091965760276200919082826200ae9f565b505a6028555b50565b60295460ff16156200922a5760005a90506000606482602854620091be91906200ac5f565b620091ca91906200ac5f565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a860276040516020016200920191906200af6c565b60408051601f19818403018152908290526200921f9184906200b00f565b60405180910390a150505b565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620092ba9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620092f391906200b033565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200932c91906200b06c565b60405180910390a16200933e620098e4565b5050565b6000620074cc64174876e800836200a381565b6200933e82826040516024016200936e9291906200b00f565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052620099f7565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620093f091906200ae0c565b60405180910390a16200140483836200922c565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200943d91906200ae0c565b60405180910390a162001404838362009a18565b6000600160801b8310620094ac5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095025780600116600003620094df57620094d4828362009b18565b915060011c620094b5565b620094eb838362009b18565b9250620094fa6001826200ac5f565b9050620094b5565b505092915050565b600080826040516020016200952091906200ac41565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620095a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620095c891906200a483565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200960690859087906004016200b097565b600060405180830381600087803b1580156200962157600080fd5b505af115801562009636573d6000803e3d6000fd5b50505050915091565b6040516200964d9062009d45565b604051809103906000f0801580156200966a573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de86200969962007908565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620096db57600080fd5b505af115801562005c16573d6000803e3d6000fd5b6200933e8282604051602401620097099291906200b0bb565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620099f7565b801515821515146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097e49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009837576040518060400160405280600581526020016466616c736560d81b81525062009855565b604051806040016040528060048152602001637472756560e01b8152505b6040516200986491906200b0e8565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620098b7576040518060400160405280600581526020016466616c736560d81b815250620098d5565b604051806040016040528060048152602001637472756560e01b8152505b6040516200932c91906200b127565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620099e65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200998192916020016200ac0f565b60408051601f19818403018152908290526200999d916200ac41565b6000604051808303816000865af19150503d8060008114620099dc576040519150601f19603f3d011682016040523d82523d6000602084013e620099e1565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009aa69060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009adf91906200b033565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200932c91906200b06c565b6000600160801b83111562009b965760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620094a3565b600160801b821062009beb5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620094a3565b60806f8000000000000000000000000000000062009c0a84866200a5a0565b62009c1691906200a5ba565b901c9392505050565b610e67806200b15383390190565b612768806200bfba83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009c99604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e72283390190565b613594806200ef7483390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009d15604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201250883390190565b6135c1806201599983390190565b612eb68062018f5a83390190565b6001600160a01b03811681146200919657600080fd5b60006020828403121562009d7c57600080fd5b813562009d898162009d53565b9392505050565b600081518084526020808501945080840160005b8381101562009dcb5781516001600160a01b03168752958201959082019060010162009da4565b509495945050505050565b60208152600062009d89602083018462009d90565b60005b8381101562009e0857818101518382015260200162009dee565b50506000910152565b6000815180845262009e2b81602086016020860162009deb565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009ef557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009ede57605f1989850301835262009ecb84865162009e11565b948e01949350918d019160010162009eac565b505050978a01979450509188019160010162009e66565b50919a9950505050505050505050565b80151581146200919657600080fd5b60006020828403121562009f2757600080fd5b813562009d898162009f05565b82815260406020820152600062009f4f604083018462009e11565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009fff57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009fe95783516001600160e01b0319168252928b019260019290920191908b019062009fbd565b50978a0197955050509187019160010162009f7f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a04a576200a04a6200a00e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a07c576200a07c6200a00e565b604052919050565b600067ffffffffffffffff8211156200a0a1576200a0a16200a00e565b50601f01601f191660200190565b6000806000606084860312156200a0c557600080fd5b83356200a0d28162009d53565b925060208401359150604084013567ffffffffffffffff8111156200a0f657600080fd5b8401601f810186136200a10857600080fd5b80356200a11f6200a119826200a084565b6200a050565b8181528760208385010111156200a13557600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a1ae57603f198886030184526200a19b85835162009e11565b945092850192908501906001016200a17c565b5092979650505050505050565b600080600080600060a086880312156200a1d457600080fd5b85356200a1e18162009d53565b945060208601356200a1f38162009d53565b935060408601356200a2058162009d53565b925060608601356200a2178162009d53565b915060808601356200a2298162009d53565b809150509295509295909350565b6000806000606084860312156200a24d57600080fd5b83356200a25a8162009d53565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009f4f604085018262009e11565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a2dc6101008401826200a26f565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a30e57600080fd5b82356200a31b8162009d53565b915060208301356200a32d8162009d53565b809150509250929050565b600080600080608085870312156200a34f57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a39f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a3b757600080fd5b815162009d898162009f05565b600181811c908216806200a3d957607f821691505b6020821081036200a3fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a45d6101008501826200a26f565b90508160c08601511660e0850152809250505092915050565b805162006cbe8162009d53565b6000602082840312156200a49657600080fd5b815162009d898162009d53565b6000602082840312156200a4b657600080fd5b5051919050565b60208152600062009d89602083018462009e11565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a4fe8184018b62009d90565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a593578151805185528601518685015292840192908501906001016200a56c565b5091979650505050505050565b8082028115828204841417620074cc57620074cc6200a36b565b80820180821115620074cc57620074cc6200a36b565b80516004811062006cbe57600080fd5b6000806000806000806000806000806000806101808d8f0312156200a60457600080fd5b8c516200a6118162009d53565b60208e0151909c506200a6248162009d53565b60408e0151909b506200a6378162009d53565b809a505060608d0151985060808d0151975060a08d0151600381106200a65c57600080fd5b96506200a66c60c08e016200a5d0565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a6ce576200a6ce6200a6a5565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a6fe8285018d62009e11565b92506200a70f606085018c6200a6bb565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a75a6200a119846200a084565b90508281528383830111156200a76f57600080fd5b62009d8983602083018462009deb565b6000602082840312156200a79257600080fd5b815167ffffffffffffffff8111156200a7aa57600080fd5b8201601f810184136200a7bc57600080fd5b62009f4f848251602084016200a749565b6000806000606084860312156200a7e357600080fd5b835160ff811681146200a7f557600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8388285018d62009e11565b91506200a849606085018c6200a6bb565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a882818562009e11565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a8d8576200a8d86200a6a5565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a917606083018562009d90565b82810360408401526200a92b818562009e11565b9695505050505050565b84815260a0602082015260006200a97960a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a98d81876200a26f565b90506001600160a01b038516606084015282810360808401526200a9b2818562009d90565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a9e960e085018a62009e11565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aa20816200a3c4565b806040870152868216600081146200aa4157600181146200aa5c576200aa8c565b60ff1983168787015281151560051b8701860193506200aa8c565b846000528860002060005b838110156200aa84578154898201890152908901908a016200aa67565b880187019450505b50505087810360c08901526200aaa3818a62009d90565b9f9e505050505050505050505050505050565b600082601f8301126200aac857600080fd5b62009d89838351602085016200a749565b6000604082840312156200aaec57600080fd5b6040516040810167ffffffffffffffff82821081831117156200ab13576200ab136200a00e565b816040528293508451835260208501519150808211156200ab3357600080fd5b506200ab42858286016200aab6565b6020830152505092915050565b6000602082840312156200ab6257600080fd5b815167ffffffffffffffff808211156200ab7b57600080fd5b9083019060c082860312156200ab9057600080fd5b6200ab9a6200a024565b8251815260208301516200abae8162009d53565b602082015260408301516200abc38162009d53565b60408201526060830151828111156200abdb57600080fd5b6200abe9878286016200aad9565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200ac3381600485016020870162009deb565b919091016004019392505050565b600082516200ac5581846020870162009deb565b9190910192915050565b81810381811115620074cc57620074cc6200a36b565b6000602082840312156200ac8857600080fd5b815167ffffffffffffffff808211156200aca157600080fd5b9083019060c082860312156200acb657600080fd5b6200acc06200a024565b82518152602083015160208201526040830151828111156200ace157600080fd5b6200acef878286016200aab6565b6040830152506060830151828111156200ad0857600080fd5b6200ad16878286016200aad9565b6060830152506200ad2a608084016200a476565b60808201526200ad3d60a084016200a476565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b6001600160a01b038516606084015282810360808401526200a9b2818562009d90565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009d89608083018462009e11565b601f8211156200140457600081815260208120601f850160051c810160208610156200ae7e5750805b601f850160051c820191505b8181101562003a94578281556001016200ae8a565b815167ffffffffffffffff8111156200aebc576200aebc6200a00e565b6200aed4816200aecd84546200a3c4565b846200ae55565b602080601f8311600181146200af0c57600084156200aef35750858301515b600019600386901b1c1916600185901b17855562003a94565b600085815260208120601f198616915b828110156200af3d578886015182559484019460019091019084016200af1c565b50858210156200af5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200af7c816200a3c4565b600182811680156200af9757600181146200afad576200afde565b60ff19841687528215158302870194506200afde565b8760005260208060002060005b858110156200afd55781548a8201529084019082016200afba565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b024604083018562009e11565b90508260208301529392505050565b6040815260006200b05e60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b05e60408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009f4f604083018462009e11565b6040815260006200b0d0604083018562009e11565b90506001600160a01b03831660208301529392505050565b6040815260006200b11360408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009f4f818562009e11565b6040815260006200b11360408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a26469706673582212202f9981fbe01658b90d42cb3e80a199c38b8b01fa322d955e9577f525be5c7d6764736f6c63430008130033","sourceMap":"1525:29423:94:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:97;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:96:-;;;;;-1:-1:-1;;;;;269:28:96;;;4045:101:38;;;:::i;1810:42:94:-;;1850:2;1810:42;;;;;644:25:97;;;632:2;617:18;1810:42:94;498:177:97;1959:1152:94;;;:::i;:::-;;30306:640;;;:::i;226:92:38:-;306:4;226:92;;29804:496:94;;;:::i;905:138:38:-;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:96;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:50:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:95:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:95;;;;;;;;;;267:84;5385:977:94;;;:::i;2757:105:40:-;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;507:79:93;;;:::i;:::-;;;;;;;;:::i;16709:866:94:-;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:50;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;17581:3967:94:-;;;:::i;3366:113:38:-;;;:::i;1672:33:94:-;;;;;;4257:113:38;;;:::i;15181:1522:94:-;;;:::i;4152:99:38:-;;;:::i;2738:178:50:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:96:-;;;;;;;;-1:-1:-1;;;;;240:23:96;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;21554:3158:94:-;;;:::i;4376:105:38:-;;;:::i;339:34:96:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:50:-;;;:::i;:::-;;;;;;;:::i;1858:47:94:-;;1901:4;1858:47;;304:29:96;;;;;-1:-1:-1;;;;;304:29:96;;;24718:2468:94;;;:::i;1537:101:38:-;;;:::i;3485:113::-;;;:::i;1711:44:94:-;;1750:5;1711:44;;11645:1898;;;:::i;799:361:93:-;;;;;;:::i;:::-;;:::i;3069:146:50:-;;;:::i;8309:519:94:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;13549:1626:94:-;;;:::i;3938:101:38:-;;;:::i;1166:1463:93:-;;;;;;:::i;:::-;;:::i;3273:1814:94:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2157:141:50:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;12299:14:97;;12292:22;12274:41;;12262:2;12247:18;1819:584:44;12134:187:97;6368:1028:94;;;:::i;1761:43::-;;1799:5;1761:43;;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;8834:1541:94:-;;;:::i;5093:254::-;;;;;;:::i;:::-;;:::i;4571:105:38:-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;7402:901:94;;;:::i;546:124:38:-;;;:::i;324:109::-;;;:::i;10381:1258:94:-;;;:::i;2304:142:50:-;;;:::i;3483:378:93:-;;;;;;:::i;:::-;;:::i;27192:2606:94:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1644:22:94;;;;;-1:-1:-1;;;;;1644:22:94;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1959:1152:94:-;1993:21;:19;:21::i;:::-;2024:32;2044:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;2044:10:94;2024:11;:32::i;:::-;2067:13;;2081:12;:10;:12::i;:::-;2067:27;;-1:-1:-1;;;;;;2067:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2067:27:94;;;160:74:97;133:18;;2067:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2104:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2104:6:94;:23;;;;;2125:1;2104:23;;;644:25:97;-1:-1:-1;;;;;2104:20:94;;;;;;;617:18:97;;2104:23:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2137:6:94;:26;;;;;2161:1;2137:26;;;644:25:97;-1:-1:-1;;;;;2137:23:94;;;;;;;617:18:97;;2137:26:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2173:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2198:5:94;:23;;-1:-1:-1;;;;;;2198:23:94;-1:-1:-1;;;;;2198:23:94;;;;;;;;;2231:10;306:4:38;2251:16:94;2266:1;1750:5;2251:16;:::i;:::-;2231:37;;-1:-1:-1;;;;;;2231:37:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2231:37:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2231:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2278:5:94;;-1:-1:-1;;;;;2278:5:94;;-1:-1:-1;2278:10:94;;-1:-1:-1;2289:12:94;:10;:12::i;:::-;2303:16;2318:1;1750:5;2303:16;:::i;:::-;2278:42;;-1:-1:-1;;;;;;2278:42:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2278:42:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2278:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2330:5:94;;-1:-1:-1;;;;;2330:5:94;;-1:-1:-1;2330:13:94;;-1:-1:-1;2352:6:94;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2352:6:94;2361:10;;2330:42;;-1:-1:-1;;;;;;2330:42:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;2330:42:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;2330:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2383:13:94;;2397:12;:10;:12::i;:::-;2383:27;;-1:-1:-1;;;;;;2383:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2383:27:94;;;160:74:97;133:18;;2383:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2420:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2420:6:94;-1:-1:-1;;;;;2420:24:94;;306:4:38;2420:33:94;;-1:-1:-1;;;;;;2420:33:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;2420:33:94;;;160:74:97;133:18;;2420:33:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2463:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:31;2574:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2540:55;;2605:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2661:30:94;;2738:5;;;2701:19;;;;:44;;;;1850:2;2755:26;;;;:42;;;;2829:1;2807:19;;;:23;2840:27;;;;;;;;2859:8;2840:27;;;;;;;;;2859:8;;2840:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2840:27:94;;;;-1:-1:-1;;;2840:16:94;;;:27;2915:14;:12;:14::i;:::-;-1:-1:-1;;;;;2877:54:94;;;:19;;;:54;2975:38;;;;;:30;;;;;;:38;;2877:6;;2975:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2941:15;:73;;-1:-1:-1;;;;;;2941:73:94;-1:-1:-1;;;;;2941:73:94;;;;;;;;;3025:5;;3065:38;;;-1:-1:-1;;;3065:38:94;;;;3025:5;;;;;:13;;2941:73;;;3065:36;;:38;;;;;;;;;;;;;;2941:73;3065:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3025:79;;-1:-1:-1;;;;;;3025:79:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;3025:79:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;3025:79:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1983:1128;;1959:1152::o;30306:640::-;30358:22;30382:14;30400:33;30424:1;30428;30431;30400:15;:33::i;:::-;30487:13;;;;;30530:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30530:69:94;-1:-1:-1;;;30530:69:94;;;30514:86;;-1:-1:-1;;;30514:86:94;;30357:76;;-1:-1:-1;30357:76:94;;-1:-1:-1;30487:13:94;30514:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30610:2;-1:-1:-1;;;;;30610:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30640:2;-1:-1:-1;;;;;30640:19:94;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30747:13:94;;-1:-1:-1;30747:13:94;;-1:-1:-1;30761:12:94;;-1:-1:-1;30761:10:94;:12::i;:::-;30747:27;;-1:-1:-1;;;;;;30747:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30747:27:94;;;160:74:97;133:18;;30747:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30784:2;-1:-1:-1;;;;;30784:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30813:2;-1:-1:-1;;;;;30813:19:94;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30844:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30347:599;;;30306:640::o;29804:496::-;29854:22;29878:14;29896:33;29920:1;29924;29927;29896:15;:33::i;:::-;29983:13;;;;;30026:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30026:69:94;-1:-1:-1;;;30026:69:94;;;30010:86;;-1:-1:-1;;;30010:86:94;;29853:76;;-1:-1:-1;29853:76:94;;-1:-1:-1;29983:13:94;30010:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30106:2;-1:-1:-1;;;;;30106:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30136:13:94;;-1:-1:-1;30136:13:94;;-1:-1:-1;30150:12:94;;-1:-1:-1;30150:10:94;:12::i;:::-;30136:27;;-1:-1:-1;;;;;;30136:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30136:27:94;;;160:74:97;133:18;;30136:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30173:2;-1:-1:-1;;;;;30173:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30202:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30236:15:94;;30227:66;;-1:-1:-1;;;;;;30236:15:94;;-1:-1:-1;30236:24:94;30261:12;:10;:12::i;:::-;30236:38;;-1:-1:-1;;;;;;30236:38:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;30236:38:94;;;160:74:97;133:18;;30236:38:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30276:4;30227:66;;;;;;;;;;;;;;;;;:8;:66::i;380:708:96:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:96;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:96;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:96;;-1:-1:-1;;;;;;592:52:96;;;;;;;-1:-1:-1;;;;;17430:55:97;;;592:52:96;;;17412:74:97;17522:2;17502:18;;;17495:30;642:1:96;17541:18:97;;;17534:29;;;17615:18;;;17608:34;17580:19;;592:52:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:96;-1:-1:-1;;;;;658:45:96;;;;;;;;717:54;;;-1:-1:-1;;;717:54:96;;;;;18140:74:97;;;;18230:18;;;18223:30;18289:2;18269:18;;;18262:30;18328:17;18308:18;;;18301:45;658::96;;-1:-1:-1;717:8:96;;;;18363:19:97;;717:54:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:96;;;-1:-1:-1;;;785:45:96;;-1:-1:-1;;;;;18623:55:97;;785:45:96;;;18605:74:97;18695:18;;;18688:30;;;;18754:2;18734:18;;;18727:30;18793:18;18773;;;18766:46;785:8:96;;-1:-1:-1;785:8:96;;-1:-1:-1;18829:19:97;;785:45:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:96;;-1:-1:-1;884:1:96;;-1:-1:-1;870:16:96;;-1:-1:-1;870:16:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:96;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:96;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:96;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:96;;-1:-1:-1;;;;;1065:16:96;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:50:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:50;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;5385:977:94:-;5485:14;5503:29;4445:42:9;5527:1:94;5530;5503:15;:29::i;:::-;5454:78;;;5597:39;;;;;;;;;;;;;;-1:-1:-1;;;5597:39:94;;;:17;:39::i;:::-;5690:35;;;5723:1;5690:35;;;;;;;;;5646:41;;5690:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5690:35:94;;;;;;;;;;;;;;;5646:79;;5824:33;;;;;;;;5851:1;5824:33;;;;5854:2;5824:33;;;5813:5;5819:1;5813:8;;;;;;;;:::i;:::-;;;;;;:44;;;;5899:33;;;;;;;;5926:1;5899:33;;;;5929:2;5899:33;;;5888:5;5894:1;5888:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6074:17;6105:5;6094:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6094:17:94;;;;;;;;;6282:1;6212:75;;;21115:36:97;309:37:45;21167:18:97;;;;21160:45;;;;6212:75:94;;;;;;;;;;21088:18:97;;;;6212:75:94;;;;;;;-1:-1:-1;;;;;6212:75:94;6235:45;6212:75;;;6196:92;;-1:-1:-1;;;6196:92:94;;6094:17;;-1:-1:-1;6196:15:94;;;;:92;;6212:75;6196:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;6298:6:94;-1:-1:-1;;;;;6298:15:94;;6314:6;6322:4;6298:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6337:18;:16;:18::i;507:79:93:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16709:866:94:-;16780:22;16804:14;16822:29;4445:42:9;16846:1:94;16849;16822:15;:29::i;:::-;16779:72;;;;16916:39;;;;;;;;;;;;;;-1:-1:-1;;;16916:39:94;;;:17;:39::i;:::-;17009:35;;;17042:1;17009:35;;;;;;;;;16965:41;;17009:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;17009:35:94;;;;;;;;;;;;;;;16965:79;;17065:34;;;;;;;;17092:1;17065:34;;;;17095:3;17065:34;;;17054:5;17060:1;17054:8;;;;;;;;:::i;:::-;;;;;;:45;;;;17109:5;17115:1;17109:8;;;;;;;;:::i;:::-;-1:-1:-1;;17147:17:94;;17127;;17147;;17158:5;;17109:8;17147:17;;:::i;:::-;;;;;;;;;;;;;17127:37;;17280:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;17280:6:94;-1:-1:-1;;;;;17280:15:94;;17296:6;17304:4;17280:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17319:18;:16;:18::i;:::-;17391:13;;;;17427:42;;-1:-1:-1;;;17427:42:94;;17452:1;17427:42;;;21692:25:97;17463:4:94;21733:18:97;;;21726:83;17418:67:94;;-1:-1:-1;;;;;17427:24:94;;;;;21665:18:97;;17427:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1850:2;17418:8;:67::i;:::-;17523:29;;-1:-1:-1;;;17523:29:94;;17550:1;17523:29;;;644:25:97;17514:54:94;;-1:-1:-1;;;;;17523:26:94;;;;;617:18:97;;17523:29:94;498:177:97;17514:54:94;16769:806;;;;;16709:866::o;3221:133:50:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:50;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:50;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;17581:3967:94:-;17662:22;17686:14;17704:50;17728:1;17732:8;17742:11;17704:15;:50::i;:::-;17808:13;;;;17661:93;;-1:-1:-1;17661:93:94;-1:-1:-1;;;;;;18084:11:94;;;18096:30;18110:15;18096:13;:30::i;:::-;18084:43;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18084:43:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18154:2;-1:-1:-1;;;;;18154:14:94;;18169:24;18183:9;18169:13;:24::i;:::-;18154:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18154:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18223:2;-1:-1:-1;;;;;18223:12:94;;18236:27;18250:12;18236:13;:27::i;:::-;18223:41;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;18223:41:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:39;;;;;;;;;;;;;;-1:-1:-1;;;18349:39:94;;;:17;:39::i;:::-;18476:35;;;18509:1;18476:35;;;;;;;;;18419:3;;18398:18;;18476:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;18476:35:94;;;;;;;;;;;;;;;18432:79;;18532:42;;;;;;;;18559:1;18532:42;;;;18562:11;18532:42;;;18521:5;18527:1;18521:8;;;;;;;;:::i;:::-;;;;;;:53;;;;18605:17;18636:5;18625:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;18605:37;;18652:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;18652:6:94;-1:-1:-1;;;;;18652:15:94;;18668:6;18676:4;18652:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18691:18;:16;:18::i;:::-;18720:21;18783:3;18744:36;1850:2;18752:11;18744:36;:::i;:::-;:42;;;;:::i;:::-;18805;;-1:-1:-1;;;18805:42:94;;18830:1;18805:42;;;21692:25:97;18841:4:94;21733:18:97;;;21726:83;18720:66:94;;-1:-1:-1;18796:67:94;;-1:-1:-1;;;;;18805:24:94;;;;;21665:18:97;;18805:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18849:13;18796:8;:67::i;:::-;18900:29;;-1:-1:-1;;;18900:29:94;;18927:1;18900:29;;;644:25:97;18891:54:94;;-1:-1:-1;;;;;18900:26:94;;;;;617:18:97;;18900:29:94;498:177:97;18891:54:94;19028:13;;19042:12;:10;:12::i;:::-;19028:27;;-1:-1:-1;;;;;;19028:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;19028:27:94;;;160:74:97;133:18;;19028:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19158:2;-1:-1:-1;;;;;19158:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19188:42:94;;-1:-1:-1;19266:1:94;;-1:-1:-1;19233:35:94;;-1:-1:-1;19233:35:94;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;19233:35:94;;;;;;;;;;;;;;;;19188:80;;19278:19;19300:3;19278:25;;19325:43;;;;;;;;19352:1;19325:43;;;;19355:12;19325:43;;;19313:6;19320:1;19313:9;;;;;;;;:::i;:::-;;;;;;:55;;;;19396:6;19385:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;19378:25;;19464:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;19464:6:94;-1:-1:-1;;;;;19464:15:94;;19480:6;19488:4;19464:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;19503:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:22;19593:3;1850:2;19561:12;19553:37;;;;:::i;:::-;:43;;;;:::i;:::-;19528:68;;19607:76;19616:2;-1:-1:-1;;;;;19616:24:94;;19641:1;19652:12;:10;:12::i;:::-;19616:50;;-1:-1:-1;;;;;;19616:50:94;;;;;;;;;;21692:25:97;;;;-1:-1:-1;;;;;21753:55:97;21733:18;;;21726:83;21665:18;;19616:50:94;21510:305:97;19607:76:94;19721:29;;-1:-1:-1;;;19721:29:94;;19748:1;19721:29;;;644:25:97;19712:71:94;;-1:-1:-1;;;;;19721:26:94;;;;;617:18:97;;19721:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19752:30;19768:14;19752:13;:30;:::i;:::-;19712:8;:71::i;:::-;19848:48;;;;;;;;;;;;;;;;;;19883:12;19848:11;:48::i;:::-;19906:34;19943:2;-1:-1:-1;;;;;19943:29:94;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19906:68;;19984:69;;;;;;;;;;;;;;;;;;20026:26;19984:11;:69::i;:::-;20063:75;;;;;;;;;;;-1:-1:-1;;;20063:75:94;;;;20090:47;;-1:-1:-1;;;20090:47:94;;;;;644:25:97;;;20063:75:94;;;-1:-1:-1;;;;;20090:19:94;;;;;617:18:97;;20090:47:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20063:11;:75::i;:::-;20148:78;;;;;;;;;;;-1:-1:-1;;;20148:78:94;;;;20195:29;;-1:-1:-1;;;20195:29:94;;20222:1;20195:29;;;644:25:97;20148:78:94;;;-1:-1:-1;;;;;20175:19:94;;;;;;;20195:26;;617:18:97;;20195:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20175:50;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;20148:78:94;20246:47;;-1:-1:-1;;;20246:47:94;;;;;644:25:97;;;20237:80:94;;-1:-1:-1;;;;;20246:19:94;;;;;617:18:97;;20246:47:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20295:6;20237:80;;;;;;;;;;;;;-1:-1:-1;;;20237:80:94;;;:8;:80::i;:::-;20356:29;;-1:-1:-1;;;20356:29:94;;20383:1;20356:29;;;644:25:97;20327:82:94;;-1:-1:-1;;;;;20336:19:94;;;;;;;20356:26;;617:18:97;;20356:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20336:50;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;20336:50:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20388:5;20327:82;;;;;;;;;;;;;-1:-1:-1;;;20327:82:94;;;:8;:82::i;:::-;20420:12;;-1:-1:-1;;;20420:12:94;;20428:3;20420:12;;;644:25:97;20420:7:94;;;;617:18:97;;20420:12:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:47;;;;;;;;;;;;;;;;;;20476:12;20442:11;:47::i;:::-;20746:30;;-1:-1:-1;;;20746:30:94;;20774:1;20746:30;;;644:25:97;-1:-1:-1;;;;;20746:27:94;;;;;617:18:97;;20746:30:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20843:23;20880:20;20956:22;21006:17;21037:22;21072:2;-1:-1:-1;;;;;21072:14:94;;21087:1;21072:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;21072:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20787:302;;;;;;;;;;;;;;;;;21100:52;;;;;;;;;;;;;;-1:-1:-1;;;21100:52:94;;;21136:15;21100:11;:52::i;:::-;21162:46;;;;;;;;;;;;;;-1:-1:-1;;;21162:46:94;;;21195:12;21162:11;:46::i;:::-;21218:39;;;;;;;;;;;;;;-1:-1:-1;;;21218:39:94;;;21247:9;21218:11;:39::i;:::-;21267:50;;;;;;;;;;;;;;-1:-1:-1;;;21267:50:94;;;21302:14;21267:11;:50::i;:::-;21327;;;;;;;;;;;;;;;;;;21362:14;21327:11;:50::i;:::-;21387:39;21396:9;21407:5;21387:39;;;;;;;;;;;;;;;;;:8;:39::i;:::-;21436:48;21445:14;21461:4;21436:48;;;;;;;;;;;;;;;;;:8;:48::i;:::-;21494:47;21503:14;21519:3;21494:47;;;;;;;;;;;;;;;;;:8;:47::i;:::-;17651:3897;;;;;;;;;;;;;;;;17581:3967::o;3366:113:38:-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;15181:1522:94:-;15235:22;15259:14;15277:29;4445:42:9;15301:1:94;15304;15277:15;:29::i;:::-;15404:15;;15425:76;;15495:5;15425:76;;;24068:38:97;15234:72:94;;-1:-1:-1;15234:72:94;;-1:-1:-1;15372:139:94;;-1:-1:-1;;;;;15404:15:94;;;;;;-1:-1:-1;;;15448:45:94;24041:18:97;;15425:76:94;;;;-1:-1:-1;;15425:76:94;;;;;;;;;;;;;;-1:-1:-1;;;;;15425:76:94;-1:-1:-1;;;;;;15425:76:94;;;;;;;;;;15372:10;:139::i;:::-;15660:35;;;15693:1;15660:35;;;;;;;;;15616:41;;15660:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;15660:35:94;;;;;;;;;;;;;;;15616:79;;15716:34;;;;;;;;15743:1;15716:34;;;;15746:3;15716:34;;;15705:5;15711:1;15705:8;;;;;;;;:::i;:::-;;;;;;:45;;;;15760:17;15791:5;15780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;15760:37;;15807:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;15807:6:94;-1:-1:-1;;;;;15807:15:94;;15823:6;15831:4;15807:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;15960:13:94;;;;15995:42;;-1:-1:-1;;;15995:42:94;;16020:1;15995:42;;;21692:25:97;16031:4:94;21733:18:97;;;21726:83;15902:5:94;;15960:13;15986:67;;-1:-1:-1;;;;;15995:24:94;;;;;21665:18:97;;15995:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16039:13;15986:8;:67::i;:::-;16072:29;;-1:-1:-1;;;16072:29:94;;16099:1;16072:29;;;644:25:97;16063:54:94;;-1:-1:-1;;;;;16072:26:94;;;;;617:18:97;;16072:29:94;498:177:97;16063:54:94;16139:35;;;;;;;;16166:1;16139:35;;;;-1:-1:-1;;16139:35:94;;;16128:5;16134:1;16128:8;;;;;;;;:::i;:::-;;;;;;:46;;;;16202:5;16191:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;16184:24;;16218:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;16218:6:94;-1:-1:-1;;;;;16218:15:94;;16234:6;16242:4;16218:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16267:42:94;;-1:-1:-1;;;16267:42:94;;16292:1;16267:42;;;21692:25:97;16303:4:94;21733:18:97;;;21726:83;16258:69:94;;-1:-1:-1;;;;;;16267:24:94;;;-1:-1:-1;16267:24:94;;21665:18:97;;16267:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16311:1;16258:69;;;;;;;;;;;;;;;;;:8;:69::i;:::-;16346:29;;-1:-1:-1;;;16346:29:94;;16373:1;16346:29;;;644:25:97;16337:58:94;;-1:-1:-1;;;;;16346:26:94;;;;;617:18:97;;16346:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16377:1;16337:58;;;;;;;;;;;;;;;;;:8;:58::i;:::-;16406:44;16415:2;-1:-1:-1;;;;;16415:14:94;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16433:1;16406:44;;;;;;;;;;;;;;;;;:8;:44::i;:::-;16557:15;;16602:84;;1850:2;16602:84;;;644:25:97;16525:171:94;;-1:-1:-1;;;;;16557:15:94;;;;-1:-1:-1;;;16625:45:94;617:18:97;;16602:84:94;498:177:97;16525:171:94;15224:1479;;;;;;15181:1522::o;4152:99:38:-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:50:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:96:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:96;-1:-1:-1;;;;;1993:33:96;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:96;-1:-1:-1;;;;;2240:17:96;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:96;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;26454:25:97;;;;26495:18;;;26488:34;;;2301:17:96;;-1:-1:-1;2301:17:96;2280:18;;;;;;2363:7;;;;26427:18:97;;2363:36:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;27114:19:97;;;27149:12;;;27142:28;;;27222:66;27208:3;27204:16;;;27200:89;27186:12;;;27179:111;2435:25:96;;;;;;;;;27306:12:97;;;2435:25:96;;;;2489:11;;:152;;;;27204:16:97;;-1:-1:-1;27114:19:97;;-1:-1:-1;27142:28:97;;-1:-1:-1;2489:11:96;;;-1:-1:-1;;;;;2489:11:96;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:96;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;21554:3158:94:-;21608:22;21632:14;21650:29;4445:42:9;21674:1:94;21677;21650:15;:29::i;:::-;21607:72;;;;21744:39;;;;;;;;;;;;;;-1:-1:-1;;;21744:39:94;;;:17;:39::i;:::-;21870:35;;;21903:1;21870:35;;;;;;;;;21814:2;;21793:18;;21870:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;21870:35:94;;;;;;;;;;;;;;;21826:79;;21926:42;;;;;;;;21953:1;21926:42;;;;21956:11;21926:42;;;21915:5;21921:1;21915:8;;;;;;;;:::i;:::-;;;;;;:53;;;;21999:17;22030:5;22019:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;21999:37;;22046:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22046:6:94;-1:-1:-1;;;;;22046:15:94;;22062:6;22070:4;22046:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22085:18;:16;:18::i;:::-;22114:21;22177:3;22138:36;1850:2;22146:11;22138:36;:::i;:::-;:42;;;;:::i;:::-;22233:13;;;;22268:42;;-1:-1:-1;;;22268:42:94;;22293:1;22268:42;;;21692:25:97;22304:4:94;21733:18:97;;;21726:83;22114:66:94;;-1:-1:-1;22233:13:94;22259:90;;-1:-1:-1;;;;;22268:24:94;;;;;21665:18:97;;22268:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22312:13;22259:90;;;;;;;;;;;;;;;;;:8;:90::i;:::-;22386:29;;-1:-1:-1;;;22386:29:94;;22413:1;22386:29;;;644:25:97;22377:54:94;;-1:-1:-1;;;;;22386:26:94;;;;;617:18:97;;22386:29:94;498:177:97;22377:54:94;22514:13;;22528:12;:10;:12::i;:::-;22514:27;;-1:-1:-1;;;;;;22514:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;22514:27:94;;;160:74:97;133:18;;22514:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22552:19;22574:1;22552:23;;22585:41;22629:149;;;;;;;;22668:11;22629:149;;;;22681:6;22629:149;;;;22689:12;:10;:12::i;:::-;-1:-1:-1;;;;;22629:149:94;;;;;22703:31;22629:149;;1901:4;22629:149;;;;;;;;22762:5;;-1:-1:-1;;;;;22762:5:94;22629:149;;;;;22809:20;;22585:193;;-1:-1:-1;;;22809:20:94;;22585:193;;22809:20;;:::i;:::-;;;;;;;;;;;;;22788:41;;22839:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22839:6:94;-1:-1:-1;;;;;22839:24:94;;22864:6;22872:5;22839:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22889:5:94;;22911:15;;22929:38;;;-1:-1:-1;;;22929:38:94;;;;-1:-1:-1;;;;;22889:5:94;;;;:13;;22911:15;;;;22929:36;;:38;;;;;;;;;;;;;;;22911:15;22929:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22889:79;;-1:-1:-1;;;;;;22889:79:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;22889:79:94;;;14681:74:97;14771:18;;;14764:34;14654:18;;22889:79:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23031:2;-1:-1:-1;;;;;23031:17:94;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23061:42:94;;-1:-1:-1;23139:1:94;;-1:-1:-1;23106:35:94;;-1:-1:-1;23106:35:94;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;23106:35:94;;;;;;;;;;;;;;;;23061:80;;23151:19;23173:3;23151:25;;23198:53;;;;;;;;23225:11;23198:53;;;;23238:12;23198:53;;;23186:6;23193:1;23186:9;;;;;;;;:::i;:::-;;;;;;:65;;;;23279:6;23268:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;23261:25;;23347:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;23347:6:94;-1:-1:-1;;;;;23347:15:94;;23363:6;23371:4;23347:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;23386:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23411:22;23476:3;1850:2;23444:12;23436:37;;;;:::i;:::-;:43;;;;:::i;:::-;23411:68;;23490:109;23499:2;-1:-1:-1;;;;;23499:24:94;;23524:11;23545:12;:10;:12::i;:::-;23499:60;;-1:-1:-1;;;;;;23499:60:94;;;;;;;;;;21692:25:97;;;;-1:-1:-1;;;;;21753:55:97;21733:18;;;21726:83;21665:18;;23499:60:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23561:14;23490:109;;;;;;;;;;;;;;;;;:8;:109::i;:::-;23637:39;;-1:-1:-1;;;23637:39:94;;;;;644:25:97;;;23628:81:94;;-1:-1:-1;;;;;23637:26:94;;;;;617:18:97;;23637:39:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23678:14;23628:81;;;;;;;;;;;;;;;;;:8;:81::i;:::-;23774:48;;;;;;;;;;;;;;;;;;23809:12;23774:11;:48::i;:::-;23832:65;;;;;;;;;;;;;;-1:-1:-1;;;23832:65:94;;;23859:2;-1:-1:-1;;;;;23859:19:94;;23879:2;-1:-1:-1;;;;;23879:14:94;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23832:65;23907:78;;;;;;;;;;;-1:-1:-1;;;23907:78:94;;;;23954:29;;-1:-1:-1;;;23954:29:94;;23981:1;23954:29;;;644:25:97;23907:78:94;;;-1:-1:-1;;;;;23934:19:94;;;;;;;23954:26;;617:18:97;;23954:29:94;498:177:97;23907:78:94;23995:11;;-1:-1:-1;;;23995:11:94;;24003:2;23995:11;;;644:25:97;23995:7:94;;;;617:18:97;;23995:11:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24016:47;;;;;;;;;;;;;;;;;;24050:12;24016:11;:47::i;:::-;24074:30;;-1:-1:-1;;;24074:30:94;;24102:1;24074:30;;;644:25:97;-1:-1:-1;;;;;24074:27:94;;;;;617:18:97;;24074:30:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24171:23;24208:20;24284:22;24334:17;24365:22;24400:2;-1:-1:-1;;;;;24400:14:94;;24415:1;24400:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;24400:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24115:302;;;;;;;;;;;;;;;;;24428:52;;;;;;;;;;;;;;-1:-1:-1;;;24428:52:94;;;24464:15;24428:11;:52::i;:::-;24490:46;;;;;;;;;;;;;;-1:-1:-1;;;24490:46:94;;;24523:12;24490:11;:46::i;:::-;24546:39;;;;;;;;;;;;;;-1:-1:-1;;;24546:39:94;;;24575:9;24546:11;:39::i;:::-;24595:50;;;;;;;;;;;;;;-1:-1:-1;;;24595:50:94;;;24630:14;24595:11;:50::i;:::-;24655;;;;;;;;;;;;;;;;;;24690:14;24655:11;:50::i;:::-;21597:3115;;;;;;;;;;;;;;;;;;21554:3158::o;4376:105:38:-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:50:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24718:2468:94;24776:22;24800:14;24818:29;4445:42:9;24842:1:94;24845;24818:15;:29::i;:::-;24775:72;;;;24912:39;;;;;;;;;;;;;;-1:-1:-1;;;24912:39:94;;;:17;:39::i;:::-;25039:35;;;25072:1;25039:35;;;;;;;;;24982:3;;24961:18;;25039:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;25039:35:94;;;;;;;;;;;;;;;24995:79;;25095:42;;;;;;;;25122:1;25095:42;;;;25125:11;25095:42;;;25084:5;25090:1;25084:8;;;;;;;;:::i;:::-;;;;;;:53;;;;25201:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;25201:6:94;-1:-1:-1;;;;;25201:15:94;;25217:6;25236:5;25225:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;25201:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25253:18;:16;:18::i;:::-;25282:21;25345:3;25306:36;1850:2;25314:11;25306:36;:::i;:::-;:42;;;;:::i;:::-;25401:13;;;;25436:42;;-1:-1:-1;;;25436:42:94;;25461:1;25436:42;;;21692:25:97;25472:4:94;21733:18:97;;;21726:83;25282:66:94;;-1:-1:-1;25401:13:94;25427:67;;-1:-1:-1;;;;;25436:24:94;;;;;21665:18:97;;25436:42:94;21510:305:97;25427:67:94;25531:29;;-1:-1:-1;;;25531:29:94;;25558:1;25531:29;;;644:25:97;25522:54:94;;-1:-1:-1;;;;;25531:26:94;;;;;617:18:97;;25531:29:94;498:177:97;25522:54:94;25633:19;25680:23;25717:20;25779:17;25810:22;25860:17;25929:2;-1:-1:-1;;;;;25929:14:94;;25944:1;25929:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;25929:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25605:341;;;;;;;;;;;;;;;;;;26142:52;;;;;;;;;;;;;;-1:-1:-1;;;26142:52:94;;;26178:15;26142:11;:52::i;:::-;26204:46;;;;;;;;;;;;;;-1:-1:-1;;;26204:46:94;;;26237:12;26204:11;:46::i;:::-;26260:39;;;;;;;;;;;;;;-1:-1:-1;;;26260:39:94;;;26289:9;26260:11;:39::i;:::-;26379:40;;;;;;;;;;;;;;;;;;26409:9;26379:11;:40::i;:::-;26429:50;;;;;;;;;;;;;;-1:-1:-1;;;26429:50:94;;;26464:14;26429:11;:50::i;:::-;26690:16;;;26660:27;26690:16;;;;;;;;26794:1;26783:13;;;29914:36:97;26783:13:94;;;;;;;;;29887:18:97;;;26783:13:94;;26835:10;;;;26690:16;;26783:13;26824:35;;26847:11;26824:10;:35::i;:::-;26807:52;;26936:19;26945:6;26953:1;26936:8;:19::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;-1:-1:-1;;;;;26966:17:94;;26984:6;26992:10;27004:12;26966:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27036:35;27047:4;:10;;;27059:11;27036:10;:35::i;:::-;27027:44;;27146:33;27155:6;27163:15;27146:8;:33::i;:::-;24765:2421;;;;;;;;;;;;;;;24718:2468::o;1537:101:38:-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;11645:1898:94:-;11707:22;11731:14;11749:29;4445:42:9;11773:1:94;11776;11749:15;:29::i;:::-;11832:13;;;;11706:72;;-1:-1:-1;11706:72:94;-1:-1:-1;;;;;;11859:11:94;;;11871:24;11885:9;11871:13;:24::i;:::-;11859:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11859:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11923:2;-1:-1:-1;;;;;11923:14:94;;11938:24;11952:9;11938:13;:24::i;:::-;11923:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11923:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11992:2;-1:-1:-1;;;;;11992:12:94;;12005:26;12019:11;12005:13;:26::i;:::-;11992:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;11992:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12199:15:94;;12244:84;;12087:5;12244:84;;;644:25:97;;;12087:5:94;-1:-1:-1;12167:171:94;;-1:-1:-1;;;;;;12199:15:94;;;;12063:21;;-1:-1:-1;;;12267:45:94;617:18:97;;12244:84:94;498:177:97;12167:171:94;12391:39;;;;;;;;;;;;;;-1:-1:-1;;;12391:39:94;;;:17;:39::i;:::-;12484:35;;;12517:1;12484:35;;;;;;;;;12440:41;;12484:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;12484:35:94;;;;;;;;;;;;;;;12440:79;;12540:34;;;;;;;;12567:1;12540:34;;;;12570:3;12540:34;;;12529:5;12535:1;12529:8;;;;;;;;:::i;:::-;;;;;;:45;;;;12584:17;12615:5;12604:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;12584:37;;12631:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;12631:6:94;-1:-1:-1;;;;;12631:15:94;;12647:6;12655:4;12631:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12670:18;:16;:18::i;:::-;12708:42;;-1:-1:-1;;;12708:42:94;;12733:1;12708:42;;;21692:25:97;12744:4:94;21733:18:97;;;21726:83;12699:67:94;;-1:-1:-1;;;;;12708:24:94;;;;;21665:18:97;;12708:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12752:13;12699:8;:67::i;:::-;12785:29;;-1:-1:-1;;;12785:29:94;;12812:1;12785:29;;;644:25:97;12776:54:94;;-1:-1:-1;;;;;12785:26:94;;;;;617:18:97;;12785:29:94;498:177:97;12776:54:94;12902:46;;-1:-1:-1;;;12902:46:94;;12925:2;12902:46;;;30678:25:97;12841:23:94;30719:18:97;;;30712:34;;;12867:5:94;30762:18:97;;;30755:34;;;12867:5:94;-1:-1:-1;;;;;12902:22:94;;;;;30651:18:97;;12902:46:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12882:66;;12959:39;;;;;;;;;;;;;;-1:-1:-1;;;12959:39:94;;;12988:9;12959:11;:39::i;:::-;13008:14;13025:66;13046:2;13050:1;13053:15;13070:20;13025;:66::i;:::-;13008:83;;13101:33;;;;;;;;;;;;;;-1:-1:-1;;;13101:33:94;;;13127:6;13101:11;:33::i;:::-;13145:27;13154:9;13165:6;13145:8;:27::i;:::-;13182:32;13191:15;13208:5;13182:8;:32::i;:::-;13224:30;13233:13;13248:5;13224:8;:30::i;:::-;13264:26;13273:9;13284:5;13264:8;:26::i;:::-;13397:15;;13442:84;;1850:2;13442:84;;;644:25:97;13365:171:94;;-1:-1:-1;;;;;13397:15:94;;;;-1:-1:-1;;;13465:45:94;617:18:97;;13442:84:94;498:177:97;13365:171:94;11696:1847;;;;;;;;;11645:1898::o;799:361:93:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:93;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1017:48:93;;;;;;1067:12;:10;:12::i;:::-;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:93;;;799:361::o;3069:146:50:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8309:519:94;8392:14;8410:29;4445:42:9;8434:1:94;8437;8410:15;:29::i;:::-;8389:50;;;8450:41;8494:133;;;;;;;;8533:1;8494:133;;;;8536:6;8494:133;;;;8544:12;:10;:12::i;:::-;-1:-1:-1;;;;;8494:133:94;;;;;8558:33;8494:133;;;;1901:4;8494:133;;;;4445:42:9;-1:-1:-1;;;;;8494:133:94;;;;8450:177;;8637:17;8668:8;8657:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8657:20:94;;;;;;;;;8770:1;8703:69;;;;29914:36:97;;;;8703:69:94;;;;;;;;;;29887:18:97;;;;8703:69:94;;;;;;;-1:-1:-1;;;;;8703:69:94;8726:42;8703:69;;;8687:86;;-1:-1:-1;;;8687:86:94;;8657:20;;-1:-1:-1;8687:15:94;;;;:86;;8703:69;8687:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8783:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;8783:6:94;-1:-1:-1;;;;;8783:24:94;;8808:6;8816:4;8783:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8379:449;;;8309:519::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;13549:1626:94:-;13619:22;13643:14;13661:29;4445:42:9;13685:1:94;13688;13661:15;:29::i;:::-;13744:13;;;;13618:72;;-1:-1:-1;13618:72:94;-1:-1:-1;;;;;;13771:11:94;;;13783:24;13797:9;13783:13;:24::i;:::-;13771:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13771:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13835:2;-1:-1:-1;;;;;13835:14:94;;13850:24;13864:9;13850:13;:24::i;:::-;13835:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13835:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13904:2;-1:-1:-1;;;;;13904:12:94;;13917:26;13931:11;13917:13;:26::i;:::-;13904:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;13904:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14063:15:94;;14084:76;;14154:5;14084:76;;;24068:38:97;14031:139:94;;-1:-1:-1;;;;;;14063:15:94;;;;-1:-1:-1;14063:15:94;;-1:-1:-1;;;14107:45:94;24041:18:97;;14084:76:94;23911:201:97;14031:139:94;14223:39;;;;;;;;;;;;;;-1:-1:-1;;;14223:39:94;;;:17;:39::i;:::-;14316:35;;;14349:1;14316:35;;;;;;;;;14272:41;;14316:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;14316:35:94;;;;;;;;;;;;;;;14272:79;;14372:34;;;;;;;;14399:1;14372:34;;;;14402:3;14372:34;;;14361:5;14367:1;14361:8;;;;;;;;:::i;:::-;;;;;;:45;;;;14437:17;14468:5;14457:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;14437:37;;14484:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;14484:6:94;-1:-1:-1;;;;;14484:15:94;;14500:6;14508:4;14484:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14523:18;:16;:18::i;:::-;14600:42;;-1:-1:-1;;;14600:42:94;;14625:1;14600:42;;;21692:25:97;14636:4:94;21733:18:97;;;21726:83;14576:5:94;;14591:67;;-1:-1:-1;;;;;14600:24:94;;;;;21665:18:97;;14600:42:94;21510:305:97;14591:67:94;14695:29;;-1:-1:-1;;;14695:29:94;;14722:1;14695:29;;;644:25:97;14686:54:94;;-1:-1:-1;;;;;14695:26:94;;;;;617:18:97;;14695:29:94;498:177:97;14686:54:94;14783:27;;;;;14805:4;14783:27;;;644:25:97;14769:11:94;;-1:-1:-1;;;;;14783:21:94;;;;;617:18:97;;14783:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14769:41;;14820:32;;;;;;;;;;;;;;;;;;14848:3;14820:11;:32::i;:::-;14862:30;14871:13;14886:5;14862:8;:30::i;:::-;14902:20;14911:3;14916:5;14902:8;:20::i;:::-;15029:15;;15074:84;;1850:2;15074:84;;;644:25:97;14997:171:94;;-1:-1:-1;;;;;15029:15:94;;;;-1:-1:-1;;;15097:45:94;617:18:97;;15074:84:94;498:177:97;3938:101:38;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:93:-;-1:-1:-1;;;;;;;;1307:14:93;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:93;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:93;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:93;;;;;;;;;;;;-1:-1:-1;1878:16:93;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:93;;;-1:-1:-1;;;;;1904:33:93;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:93;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:93;;;2269:64;;-1:-1:-1;2317:5:93;2269:64;2351:4;-1:-1:-1;;;;;2351:33:93;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;32481:13:97;;-1:-1:-1;;;;;32477:62:97;2509:18:93;;;;32459:81:97;;;;32584:17;;32578:24;32556:20;;;32549:54;32647:17;;;32641:24;32619:20;;;;32612:54;;;;32710:17;;32704:24;32682:20;;;32675:54;2486:8:93;;32431:19:97;;2509:18:93;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:93:o;3273:1814:94:-;3393:22;;:::i;:::-;3417:14;3451:13;3468:1;3451:18;3447:81;;1901:4;3485:32;;3447:81;3542:10;3556:1;3542:15;3538:70;;1799:5;3573:24;;3538:70;4445:42:9;-1:-1:-1;;;;;3660:24:94;;3656:84;;-1:-1:-1;3723:5:94;;-1:-1:-1;;;;;3723:5:94;3656:84;3750:35;;;;;;;;;;;;;;-1:-1:-1;;;3750:35:94;;;:17;:35::i;:::-;3859:13;;3873:12;:10;:12::i;:::-;3859:27;;-1:-1:-1;;;;;;3859:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;3859:27:94;;;160:74:97;133:18;;3859:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3897:19;3942:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3942:6:94;3919:31;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:97;;;160:74;;148:2;133:18;3919:31:94;;;;;;;;;;;;;;;;;;;;;;;3897:53;;3970:101;3981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3981:6:94;3997:8;4016:18;3202:15;;-1:-1:-1;;;;;3202:15:94;;3117:107;4016:18;678:10:40;;-1:-1:-1;;;;;678:10:40;4057:12:94;3970:10;:101::i;:::-;3961:110;;317:28:45;309:37;;-1:-1:-1;;;;;4082:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:8;-1:-1:-1;;;;;4107:23:94;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4150:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4150:6:94;-1:-1:-1;;;;;4150:14:94;;4165:6;4150:22;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;4150:22:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4150:22:94;;;;;;;;;;;;:::i;:::-;4183:34;;;;;4199:4;4183:34;;;14681:74:97;14771:18;;;14764:34;;;4143:29:94;;-1:-1:-1;4183:7:94;;;;14654:18:97;;4183:34:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;-1:-1:-1;;;;;4231:22:94;:12;-1:-1:-1;;;;;4231:22:94;;4227:316;;707:6:39;;-1:-1:-1;;;;;707:6:39;4269:54:94;;-1:-1:-1;;;4269:54:94;;;;;26454:25:97;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4269:15:94;;;;;;;4292:10;;26427:18:97;;4269:54:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;;;4354:55;;;;;4391:4;4354:55;;;14681:74:97;14771:18;;;14764:34;;;-1:-1:-1;;;;;4354:28:94;;;;;14654:18:97;;4354:55:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4433:12;-1:-1:-1;;;;;4423:31:94;;4463:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4463:6:94;4423:60;;-1:-1:-1;;;;;;4423:60:94;;;;;;;-1:-1:-1;;;;;14699:55:97;;;4423:60:94;;;14681:74:97;14771:18;;;14764:34;;;14654:18;;4423:60:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;4497:35:94;;-1:-1:-1;;;4497:35:94;;;;;26454:25:97;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4497:15:94;;;;;;;26427:18:97;;4497:35:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;4562:14;;4553:70;;4578:27;4594:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;4578:27:94;4553:70;;;;;;;;;;;;;;;;;:8;:70::i;:::-;4720:35;;;;;;;;;;;;;;-1:-1:-1;;;4720:35:94;;;:17;:35::i;:::-;4766:41;4810:143;;;;;;;;4849:1;4810:143;;;;4852:6;4810:143;;;;4860:12;:10;:12::i;:::-;-1:-1:-1;;;;;4810:143:94;;;;;4874:31;4810:143;;;;4907:13;4810:143;;;;4930:12;-1:-1:-1;;;;;4810:143:94;;;;4766:187;;4963:17;4994:8;4983:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;4963:40;;5013:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;5013:6:94;-1:-1:-1;;;;;5013:24:94;;5038:6;5046:4;5013:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5062:18;:16;:18::i;:::-;3437:1650;;;;3273:1814;;;;;;:::o;2157:141:50:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14681:74:97;;;-1:-1:-1;;;14771:18:97;;;14764:34;2196:43:44;;;;;;;;;14654:18:97;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;6368:1028:94:-;6465:14;6483:29;4445:42:9;6507:1:94;6510;6483:15;:29::i;:::-;6434:78;;;6577:39;;;;;;;;;;;;;;-1:-1:-1;;;6577:39:94;;;:17;:39::i;:::-;6670:35;;;6703:1;6670:35;;;;;;;;;6626:41;;6670:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6670:35:94;;;;;;;;;;;;;;;6626:79;;6804:33;;;;;;;;6831:1;6804:33;;;;6834:2;6804:33;;;6793:5;6799:1;6793:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6879:33;;;;;;;;6906:1;6879:33;;;;6909:2;6879:33;;;6868:5;6874:1;6868:8;;;;;;;;:::i;:::-;;;;;;:44;;;;7054:17;7085:5;7074:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7074:17:94;;;;;;;;;;-1:-1:-1;7101:13:94;;7115:12;:10;:12::i;:::-;7101:27;;-1:-1:-1;;;;;;7101:27:94;;;;;;;-1:-1:-1;;;;;178:55:97;;;7101:27:94;;;160:74:97;133:18;;7101:27:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7138:54:94;;;;;7154:37;7138:54;;;38028:98:97;7138:15:94;;-1:-1:-1;7138:15:94;;-1:-1:-1;38001:18:97;;7138:54:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7307:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7307:6:94;-1:-1:-1;;;;;7307:15:94;;7323:6;7331:4;7307:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;7347:12:94;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:113:38;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;8834:1541:94:-;8901:22;8925:14;8943:29;4445:42:9;8967:1:94;8970;8943:15;:29::i;:::-;8900:72;;;;9026:39;;;;;;;;;;;;;;-1:-1:-1;;;9026:39:94;;;:17;:39::i;:::-;9119:35;;;9152:1;9119:35;;;;;;;;;9075:41;;9119:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9119:35:94;;;;;;;;;;;;;;;9075:79;;9175:33;;;;;;;;9202:1;9175:33;;;;9205:2;9175:33;;;9164:5;9170:1;9164:8;;;;;;;;:::i;:::-;;;;;;:44;;;;9258:17;9289:5;9278:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;9258:37;;9306:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;9306:6:94;-1:-1:-1;;;;;9306:15:94;;9322:6;9330:4;9306:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:18;:16;:18::i;:::-;9374:21;9419:3;9398:18;1850:2;9398;:18;:::i;:::-;:24;;;;:::i;:::-;9475:13;;;;9510:42;;-1:-1:-1;;;9510:42:94;;9535:1;9510:42;;;21692:25:97;9546:4:94;21733:18:97;;;21726:83;9374:48:94;;-1:-1:-1;9475:13:94;9501:67;;-1:-1:-1;;;;;9510:24:94;;;;;21665:18:97;;9510:42:94;21510:305:97;9501:67:94;9605:29;;-1:-1:-1;;;9605:29:94;;9632:1;9605:29;;;644:25:97;9596:54:94;;-1:-1:-1;;;;;9605:26:94;;;;;617:18:97;;9605:29:94;498:177:97;9596:54:94;9965:35;;;9998:1;9965:35;;;;;;;;;9920:42;;9965:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9965:35:94;;;;;;;;;;;;;;;9920:80;;10022:33;;;;;;;;10049:1;10022:33;;;;10052:2;10022:33;;;10010:6;10017:1;10010:9;;;;;;;;:::i;:::-;;;;;;:45;;;;10083:6;10072:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;10065:25;;10151:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;10151:6:94;-1:-1:-1;;;;;10151:15:94;;10167:6;10175:4;10151:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10227:42:94;;-1:-1:-1;;;10227:42:94;;10252:1;10227:42;;;21692:25:97;10263:4:94;21733:18:97;;;21726:83;10218:67:94;;-1:-1:-1;;;;;;10227:24:94;;;-1:-1:-1;10227:24:94;;21665:18:97;;10227:42:94;21510:305:97;10218:67:94;10323:29;;-1:-1:-1;;;10323:29:94;;10350:1;10323:29;;;644:25:97;10314:54:94;;-1:-1:-1;;;;;10323:26:94;;;;;617:18:97;;10323:29:94;498:177:97;5093:254:94;5166:7;5189:16;-1:-1:-1;;;;;5189:16:94;;;5185:156;;-1:-1:-1;;;;;;5228:23:94;;;5221:30;;5185:156;5289:41;;;;;-1:-1:-1;;;;;178:55:97;;;5289:41:94;;;160:74:97;5289:24:94;;;;;133:18:97;;5289:41:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5282:48;;5185:156;5093:254;;;;:::o;4571:105:38:-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;7402:901:94:-;7501:22;7525:14;7543:29;4445:42:9;7567:1:94;7570;7543:15;:29::i;:::-;7500:72;;;;7637:39;;;;;;;;;;;;;;-1:-1:-1;;;7637:39:94;;;:17;:39::i;:::-;7730:35;;;7763:1;7730:35;;;;;;;;;7686:41;;7730:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;7730:35:94;;;;;;;;;;;;;;;7686:79;;7786:35;;;;;;;;7813:1;7786:35;;;;-1:-1:-1;;7786:35:94;;;7775:5;7781:1;7775:8;;;;;;;;:::i;:::-;;;;;;:46;;;;7831:17;7862:5;7851:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7851:17:94;;;;;;;;;309:37:45;7895:75:94;;;38371:36:97;-1:-1:-1;;38423:18:97;;;38416:49;;;38481:18;;;;38474:49;;;;7895:75:94;;;;;;;;;;38344:18:97;;;;7895:75:94;;;;;;;-1:-1:-1;;;;;7895:75:94;7918:36;7895:75;;;7879:92;;-1:-1:-1;;;7879:92:94;;7851:17;;-1:-1:-1;7879:15:94;;;;:92;;7895:75;7879:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7981:6:94;-1:-1:-1;;;;;7981:15:94;;7997:6;8005:4;7981:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8020:18;:16;:18::i;:::-;8092:13;;;;8128:42;;-1:-1:-1;;;8128:42:94;;8153:1;8128:42;;;21692:25:97;8164:4:94;21733:18:97;;;21726:83;8119:75:94;;-1:-1:-1;;;;;8128:24:94;;;;;21665:18:97;;8128:42:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8172:1;8119:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;8232:29;;-1:-1:-1;;;8232:29:94;;8259:1;8232:29;;;644:25:97;8223:73:94;;-1:-1:-1;;;;;8232:26:94;;;;;617:18:97;;8232:29:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8263:1;8223:73;;;;;;;;;;;;;;;;;:8;:73::i;546:124:38:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;10381:1258:94:-;10441:22;10465:14;10483:29;4445:42:9;10507:1:94;10510;10483:15;:29::i;:::-;10566:13;;;;10440:72;;-1:-1:-1;10440:72:94;-1:-1:-1;;;;;;10593:11:94;;;10605:24;10619:9;10605:13;:24::i;:::-;10593:37;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10593:37:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10657:2;-1:-1:-1;;;;;10657:14:94;;10672:24;10686:9;10672:13;:24::i;:::-;10657:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10657:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:2;-1:-1:-1;;;;;10726:12:94;;10739:26;10753:11;10739:13;:26::i;:::-;10726:40;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;10726:40:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:39;;;;;;;;;;;;;;-1:-1:-1;;;10841:39:94;;;:17;:39::i;:::-;10934:35;;;10967:1;10934:35;;;;;;;;;10890:41;;10934:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;10934:35:94;;;;;;;;;;;;;;;10890:79;;10990:33;;;;;;;;11017:1;10990:33;;;;11020:2;10990:33;;;10979:5;10985:1;10979:8;;;;;;;;:::i;:::-;;;;;;:44;;;;11033:17;11064:5;11053:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;11033:37;;11080:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;11080:6:94;-1:-1:-1;;;;;11080:15:94;;11096:6;11104:4;11080:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11119:18;:16;:18::i;:::-;11148:21;11193:3;11172:18;1850:2;11172;:18;:::i;:::-;:24;;;;:::i;:::-;11215:42;;-1:-1:-1;;;11215:42:94;;11240:1;11215:42;;;21692:25:97;11251:4:94;21733:18:97;;;21726:83;11148:48:94;;-1:-1:-1;11206:67:94;;-1:-1:-1;;;;;11215:24:94;;;;;21665:18:97;;11215:42:94;21510:305:97;11206:67:94;11292:29;;-1:-1:-1;;;11292:29:94;;11319:1;11292:29;;;644:25:97;11283:54:94;;-1:-1:-1;;;;;11292:26:94;;;;;617:18:97;;11292:29:94;498:177:97;11283:54:94;11368:44;;-1:-1:-1;;;11368:44:94;;11391:2;11368:44;;;30678:25:97;11348:17:94;30719:18:97;;;30712:34;;;30762:18;;;30755:34;;;11348:17:94;-1:-1:-1;;;;;11368:22:94;;;;;30651:18:97;;11368:44:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11348:64;;11422:39;;;;;;;;;;;;;;-1:-1:-1;;;11422:39:94;;;11451:9;11422:11;:39::i;:::-;11471:14;11488:64;11509:2;11513:1;11516:13;11531:20;11488;:64::i;:::-;11471:81;;11562:33;;;;;;;;;;;;;;-1:-1:-1;;;11562:33:94;;;11588:6;11562:11;:33::i;:::-;11605:27;11614:9;11625:6;11605:8;:27::i;:::-;10430:1209;;;;;;;;10381:1258::o;2304:142:50:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:50;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:93:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:93;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:93;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:93:o;27192:2606:94:-;27256:22;27280:14;27298:33;27322:1;27326;27329;27298:15;:33::i;:::-;27255:76;;;;27342:35;;;;;;;;;;;;;;-1:-1:-1;;;27342:35:94;;;:17;:35::i;:::-;27444:98;;;;;;;;27470:1;27444:98;;;;;;;;;-1:-1:-1;27444:98:94;;;;;;;;;;;;;;;;;;;;;;;;27572:20;;27444:98;;-1:-1:-1;27572:20:94;;27444:98;;27572:20;;:::i;:::-;;;;;;;;;;;;;27552:40;;27602:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;27602:6:94;-1:-1:-1;;;;;27602:24:94;;27627:6;27635:4;27602:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27651:18;:16;:18::i;:::-;27733:39;;;;;;;;;;;;;;-1:-1:-1;;;27733:39:94;;;:17;:39::i;:::-;27893:35;;;27926:1;27893:35;;;;;;;;;27803:3;;27838:1;;27782:18;;27893:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;27893:35:94;;;;;;;;;;;;;;;27849:79;;27949:52;;;;;;;;27976:11;27949:52;;;;27989:11;27949:52;;;27938:5;27944:1;27938:8;;;;;;;;:::i;:::-;;;;;;:63;;;;28065:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;28065:6:94;-1:-1:-1;;;;;28065:15:94;;28081:6;28100:5;28089:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;28065:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28117:18;:16;:18::i;:::-;28146:21;28209:3;28170:36;1850:2;28178:11;28170:36;:::i;:::-;:42;;;;:::i;:::-;28265:13;;;;28300:52;;-1:-1:-1;;;28300:52:94;;;;;21692:25:97;;;28346:4:94;21733:18:97;;;21726:83;28146:66:94;;-1:-1:-1;28265:13:94;28291:77;;-1:-1:-1;;;;;28300:24:94;;;;;21665:18:97;;28300:52:94;21510:305:97;28291:77:94;28405:39;;-1:-1:-1;;;28405:39:94;;;;;644:25:97;;;28396:64:94;;-1:-1:-1;;;;;28405:26:94;;;;;617:18:97;;28405:39:94;498:177:97;28396:64:94;28545:23;28582:20;28644:17;28675:22;28725:17;28794:2;-1:-1:-1;;;;;28794:14:94;;28809:1;28794:17;;;;;;;;;;;;;644:25:97;;632:2;617:18;;498:177;28794:17:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28489:322;;;;;;;;;;;;;;;;;29007:52;;;;;;;;;;;;;;-1:-1:-1;;;29007:52:94;;;29043:15;29007:11;:52::i;:::-;29069:46;;;;;;;;;;;;;;-1:-1:-1;;;29069:46:94;;;29102:12;29069:11;:46::i;:::-;29125:39;;;;;;;;;;;;;;-1:-1:-1;;;29125:39:94;;;29154:9;29125:11;:39::i;:::-;29244:40;;;;;;;;;;;;;;;;;;29274:9;29244:11;:40::i;:::-;29294:50;;;;;;;;;;;;;;-1:-1:-1;;;29294:50:94;;;29329:14;29294:11;:50::i;:::-;29607:25;29646:11;29635:23;;;;;;644:25:97;;632:2;617:18;;498:177;29635:23:94;;;;;;;;;;;;;29607:51;;29669:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;29669:6:94;-1:-1:-1;;;;;29669:17:94;;29687:6;29709:1;29695:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29695:16:94;;29713:12;29669:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27245:2553;;;;;;;;;;;;;;;27192:2606::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:48;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:48;20439:125;-1:-1:-1;;20439:125:48:o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1192:22:40;;;160:74:97;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:40;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:97;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1482:26:40;;;160:74:97;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:97;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;1765:26:40;;;160:74:97;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:97;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:97;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:97;;;342:27:39;;;160:74:97;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;42811:15:97;;;409:201:39;;;42793:34:97;42863:15;;;42843:18;;;42836:43;42915:15;;;42895:18;;;42888:43;554:4:39;42947:18:97;;;42940:34;-1:-1:-1;42990:19:97;;;42983:35;42704:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1094:785:96;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:97;;;632:2;617:18;;498:177;1169:24:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:96;-1:-1:-1;;;;;1152:41:96;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:96;;;;;43241:74:97;;;;43331:18;;;43324:30;43390:2;43370:18;;;43363:30;43429:16;43409:18;;;43402:44;1203:8:96;;;;43463:19:97;;1203:42:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:96;;;;;-1:-1:-1;;;;;1268:11:96;;-1:-1:-1;1256:589:96;;-1:-1:-1;1256:589:96;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:96;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:96;;-1:-1:-1;;;;;;1384:52:96;;;;;;;-1:-1:-1;;;;;17430:55:97;;;1384:52:96;;;17412:74:97;17522:2;17502:18;;;17495:30;1434:1:96;17541:18:97;;;17534:29;;;17615:18;;;17608:34;17580:19;;1384:52:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:96;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:96;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:96;;1595:11;;;;-1:-1:-1;;;;;1595:11:96;1578:45;;;43705:74:97;43795:18;;;43788:30;43854:2;43834:18;;;43827:30;43893:13;43873:18;;;43866:41;1578:8:96;;;;43924:19:97;;1578:45:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:96;;-1:-1:-1;1677:1:96;;-1:-1:-1;1663:16:96;;-1:-1:-1;1663:16:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:96;-1:-1:-1;1713:14:96;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:96;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:96;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:96;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:96;;;;;-1:-1:-1;;;;;1861:11:96;;1094:785::o;1107:186:46:-;1196:1;1191:6;;:1;:6;;;1187:100;;1218:30;1244:3;1218:30;;;;;;:::i;:::-;;;;;;;;1262:14;1271:1;1274;1262:8;:14::i;357:192:95:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:95;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;610:335;555:396::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;47965:2:97;47947:21;;;48004:2;47984:18;;;47977:30;48043:34;48038:2;48023:18;;48016:62;48114:4;48109:2;48094:18;;48087:32;48151:3;48136:19;;47763:398;5293:41:44;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2635:114:93:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;6548:139:58:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:58;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:58;;;;;6612:15;:68::i;5476:178:44:-;5557:1;5552;:6;5548:100;;5579:30;5605:3;5579:30;;;;;;:::i;:::-;;;;;;;;5623:14;5632:1;5635;5623:8;:14::i;4377:185::-;4464:1;4459;:6;4455:101;;4486:31;4513:3;4486:31;;;;;;:::i;:::-;;;;;;;;4531:14;4540:1;4543;4531:8;:14::i;3030:447:93:-;3091:15;-1:-1:-1;;;3126:2:93;:12;3118:53;;;;-1:-1:-1;;;3118:53:93;;49402:2:97;3118:53:93;;;49384:21:97;49441:2;49421:18;;;49414:30;49480;49460:18;;;49453:58;49528:18;;3118:53:93;;;;;;;;;-1:-1:-1;;;;3193:2:93;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:93;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:93;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:48:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:48;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:97;;;20293:33:48;-1:-1:-1;20344:7:48;;;;617:18:97;;20344:19:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:48;;20337:26;;-1:-1:-1;20373:8:48;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:97;;;558:39:40;;;160:74:97;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6994:145:58;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:58;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:58;;;;;7061:15;:71::i;789:312:46:-;859:1;854:6;;:1;:6;;;850:245;;881:41;;;;;50743:2:97;50725:21;;;50782:2;50762:18;;;50755:30;50821:34;50816:2;50801:18;;50794:62;50892:4;50887:2;50872:18;;50865:32;50929:3;50914:19;;50541:398;881:41:46;;;;;;;;941:52;972:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:46;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:46;;;;941:52;;;;;;:::i;:::-;;;;;;;;1012;1043:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:46;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:46;;;;1012:52;;;;;;:::i;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;52036:74:97;;;-1:-1:-1;;;52126:18:97;;;52119:34;;;;2712:4:44;52169:18:97;;;52162:34;2489:11:44;;1671:64;2586:43;;52009:18:97;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;181:376:58:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;4095:277:44:-;4163:1;4158;:6;4154:212;;4185:44;;;;;52409:2:97;52391:21;;;52448:2;52428:18;;;52421:30;52487:34;52482:2;52467:18;;52460:62;52558:7;52553:2;52538:18;;52531:35;52598:3;52583:19;;52207:401;4185:44:44;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;2755:269:93:-;2816:15;-1:-1:-1;;;2851:2:93;:13;;2843:66;;;;-1:-1:-1;;;2843:66:93;;53521:2:97;2843:66:93;;;53503:21:97;53560:2;53540:18;;;53533:30;53599:34;53579:18;;;53572:62;53670:10;53650:18;;;53643:38;53698:19;;2843:66:93;53319:404:97;2843:66:93;-1:-1:-1;;;2927:2:93;:12;2919:53;;;;-1:-1:-1;;;2919:53:93;;53930:2:97;2919:53:93;;;53912:21:97;53969:2;53949:18;;;53942:30;54008;53988:18;;;53981:58;54056:18;;2919:53:93;53728:352:97;2919:53:93;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:93:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:97:-;-1:-1:-1;;;;;941:5:97;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:97:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:97;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:97;;1273:484;-1:-1:-1;;;;;1273:484:97:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:97;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:97;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:97:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:97;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:97;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:97;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:97;;;;4211:6;-1:-1:-1;;4240:15:97;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:97;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:97:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:97:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:97;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:97;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:97;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:97;;;;6520:5;-1:-1:-1;;;6548:15:97;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:97;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:97:o;6639:184::-;-1:-1:-1;;;6688:1:97;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:97;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:97:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:97;7514:15;-1:-1:-1;;7510:29:97;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:97;7873:18;;7860:32;;-1:-1:-1;7943:2:97;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:97;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:97;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:97;;8684:803;-1:-1:-1;;;;;;;8684:803:97:o;9762:844::-;9888:6;9896;9904;9912;9920;9973:3;9961:9;9952:7;9948:23;9944:33;9941:53;;;9990:1;9987;9980:12;9941:53;10029:9;10016:23;10048:31;10073:5;10048:31;:::i;:::-;10098:5;-1:-1:-1;10155:2:97;10140:18;;10127:32;10168:33;10127:32;10168:33;:::i;:::-;10220:7;-1:-1:-1;10279:2:97;10264:18;;10251:32;10292:33;10251:32;10292:33;:::i;:::-;10344:7;-1:-1:-1;10403:2:97;10388:18;;10375:32;10416:33;10375:32;10416:33;:::i;:::-;10468:7;-1:-1:-1;10527:3:97;10512:19;;10499:33;10541;10499;10541;:::i;:::-;10593:7;10583:17;;;9762:844;;;;;;;;:::o;10611:383::-;10688:6;10696;10704;10757:2;10745:9;10736:7;10732:23;10728:32;10725:52;;;10773:1;10770;10763:12;10725:52;10812:9;10799:23;10831:31;10856:5;10831:31;:::i;:::-;10881:5;10933:2;10918:18;;10905:32;;-1:-1:-1;10984:2:97;10969:18;;;10956:32;;10611:383;-1:-1:-1;;;10611:383:97:o;10999:252::-;11086:5;11080:12;11075:3;11068:25;11050:3;11139:4;11132:5;11128:16;11122:23;11177:4;11170;11165:3;11161:14;11154:28;11198:47;11239:4;11234:3;11230:14;11216:12;11198:47;:::i;11256:873::-;11457:2;11446:9;11439:21;11502:6;11496:13;11491:2;11480:9;11476:18;11469:41;11420:4;11557;11549:6;11545:17;11539:24;-1:-1:-1;;;;;11678:2:97;11664:12;11660:21;11655:2;11644:9;11640:18;11633:49;11747:2;11741;11733:6;11729:15;11723:22;11719:31;11713:3;11702:9;11698:19;11691:60;;;11800:2;11792:6;11788:15;11782:22;11841:4;11835:3;11824:9;11820:19;11813:33;11869:63;11927:3;11916:9;11912:19;11896:14;11869:63;:::i;:::-;11988:3;11976:16;;11970:23;11963:4;11948:20;;11941:53;12049:3;12037:16;;;12031:23;12025:3;12010:19;;12003:52;-1:-1:-1;;12109:4:97;12094:20;12087:36;11855:77;11256:873::o;12326:388::-;12394:6;12402;12455:2;12443:9;12434:7;12430:23;12426:32;12423:52;;;12471:1;12468;12461:12;12423:52;12510:9;12497:23;12529:31;12554:5;12529:31;:::i;:::-;12579:5;-1:-1:-1;12636:2:97;12621:18;;12608:32;12649:33;12608:32;12649:33;:::i;:::-;12701:7;12691:17;;;12326:388;;;;;:::o;13210:385::-;13296:6;13304;13312;13320;13373:3;13361:9;13352:7;13348:23;13344:33;13341:53;;;13390:1;13387;13380:12;13341:53;-1:-1:-1;;13413:23:97;;;13483:2;13468:18;;13455:32;;-1:-1:-1;13534:2:97;13519:18;;13506:32;;13585:2;13570:18;13557:32;;-1:-1:-1;13210:385:97;-1:-1:-1;13210:385:97:o;14039:184::-;-1:-1:-1;;;14088:1:97;14081:88;14188:4;14185:1;14178:15;14212:4;14209:1;14202:15;14228:274;14268:1;14294;14284:189;;-1:-1:-1;;;14326:1:97;14319:88;14430:4;14427:1;14420:15;14458:4;14455:1;14448:15;14284:189;-1:-1:-1;14487:9:97;;14228:274::o;14809:245::-;14876:6;14929:2;14917:9;14908:7;14904:23;14900:32;14897:52;;;14945:1;14942;14935:12;14897:52;14977:9;14971:16;14996:28;15018:5;14996:28;:::i;15059:437::-;15138:1;15134:12;;;;15181;;;15202:61;;15256:4;15248:6;15244:17;15234:27;;15202:61;15309:2;15301:6;15298:14;15278:18;15275:38;15272:218;;-1:-1:-1;;;15343:1:97;15336:88;15447:4;15444:1;15437:15;15475:4;15472:1;15465:15;15272:218;;15059:437;;;:::o;15501:848::-;15700:2;15689:9;15682:21;15663:4;-1:-1:-1;;;;;15819:2:97;15810:6;15804:13;15800:22;15795:2;15784:9;15780:18;15773:50;15887:2;15881;15873:6;15869:15;15863:22;15859:31;15854:2;15843:9;15839:18;15832:59;15945:2;15937:6;15933:15;15927:22;15922:2;15911:9;15907:18;15900:50;16005:2;15997:6;15993:15;15987:22;15981:3;15970:9;15966:19;15959:51;16065:3;16057:6;16053:16;16047:23;16041:3;16030:9;16026:19;16019:52;16118:3;16110:6;16106:16;16100:23;16160:4;16154:3;16143:9;16139:19;16132:33;16188:61;16244:3;16233:9;16229:19;16215:12;16188:61;:::i;:::-;16174:75;;16316:2;16309:3;16301:6;16297:16;16291:23;16287:32;16280:4;16269:9;16265:20;16258:62;16337:6;16329:14;;;;15501:848;;;;:::o;16354:138::-;16433:13;;16455:31;16433:13;16455:31;:::i;16497:251::-;16567:6;16620:2;16608:9;16599:7;16595:23;16591:32;16588:52;;;16636:1;16633;16626:12;16588:52;16668:9;16662:16;16687:31;16712:5;16687:31;:::i;16753:184::-;16823:6;16876:2;16864:9;16855:7;16851:23;16847:32;16844:52;;;16892:1;16889;16882:12;16844:52;-1:-1:-1;16915:16:97;;16753:184;-1:-1:-1;16753:184:97:o;16942:218::-;17089:2;17078:9;17071:21;17052:4;17109:45;17150:2;17139:9;17135:18;17127:6;17109:45;:::i;18859:184::-;-1:-1:-1;;;18908:1:97;18901:88;19008:4;19005:1;18998:15;19032:4;19029:1;19022:15;19048:1065;19490:4;19519:3;19549:2;19538:9;19531:21;19575:56;19627:2;19616:9;19612:18;19604:6;19575:56;:::i;:::-;19662:2;19647:18;;;19640:34;;;;-1:-1:-1;;;;;19771:15:97;;;19766:2;19751:18;;19744:43;19823:22;;;19818:2;19803:18;;19796:50;-1:-1:-1;19855:17:97;;19941:15;;;19935:3;19920:19;;19913:44;-1:-1:-1;;19994:15:97;;;19988:3;19973:19;;19966:44;20041:3;20026:19;;20019:35;;;;20091:15;;;20085:3;20070:19;;;20063:44;;;;19889:15;;19048:1065;-1:-1:-1;19048:1065:97:o;20118:806::-;20357:2;20409:21;;;20479:13;;20382:18;;;20501:22;;;20328:4;;20357:2;20542;;20560:18;;;;20601:15;;;20328:4;20644:254;20658:6;20655:1;20652:13;20644:254;;;20717:13;;20755:9;;20743:22;;20805:11;;20799:18;20785:12;;;20778:40;20838:12;;;;20873:15;;;;20680:1;20673:9;20644:254;;;-1:-1:-1;20915:3:97;;20118:806;-1:-1:-1;;;;;;;20118:806:97:o;22010:168::-;22083:9;;;22114;;22131:15;;;22125:22;;22111:37;22101:71;;22152:18;;:::i;22183:125::-;22248:9;;;22269:10;;;22266:36;;;22282:18;;:::i;22505:159::-;22596:13;;22638:1;22628:12;;22618:40;;22654:1;22651;22644:12;22669:1237;22876:6;22884;22892;22900;22908;22916;22924;22932;22940;22948;22956:7;22965;23019:3;23007:9;22998:7;22994:23;22990:33;22987:53;;;23036:1;23033;23026:12;22987:53;23068:9;23062:16;23087:31;23112:5;23087:31;:::i;:::-;23187:2;23172:18;;23166:25;23137:5;;-1:-1:-1;23200:33:97;23166:25;23200:33;:::i;:::-;23304:2;23289:18;;23283:25;23252:7;;-1:-1:-1;23317:33:97;23283:25;23317:33;:::i;:::-;23369:7;23359:17;;;23416:2;23405:9;23401:18;23395:25;23385:35;;23460:3;23449:9;23445:19;23439:26;23429:36;;23510:3;23499:9;23495:19;23489:26;23546:1;23537:7;23534:14;23524:42;;23562:1;23559;23552:12;23524:42;23585:7;-1:-1:-1;23611:62:97;23668:3;23653:19;;23611:62;:::i;:::-;23601:72;;23713:3;23702:9;23698:19;23692:26;23682:36;;23758:3;23747:9;23743:19;23737:26;23727:36;;23803:3;23792:9;23788:19;23782:26;23772:36;;23849:3;23838:9;23834:19;23828:26;23817:37;;23895:3;23884:9;23880:19;23874:26;23863:37;;22669:1237;;;;;;;;;;;;;;:::o;24117:184::-;-1:-1:-1;;;24166:1:97;24159:88;24266:4;24263:1;24256:15;24290:4;24287:1;24280:15;24306:140;24387:1;24380:5;24377:12;24367:46;;24393:18;;:::i;:::-;24422;;24306:140::o;24451:1037::-;24858:4;24887:3;-1:-1:-1;;;;;24990:2:97;24982:6;24978:15;24967:9;24960:34;25030:6;25025:2;25014:9;25010:18;25003:34;25073:2;25068;25057:9;25053:18;25046:30;25093:45;25134:2;25123:9;25119:18;25111:6;25093:45;:::i;:::-;25085:53;;25147;25196:2;25185:9;25181:18;25173:6;25147:53;:::i;:::-;25231:3;25216:19;;25209:35;;;;-1:-1:-1;25275:3:97;25260:19;;25253:35;;;;25319:3;25304:19;;25297:35;;;;25369:15;;;25363:3;25348:19;;25341:44;25422:15;;;25416:3;25401:19;;25394:44;25469:3;25454:19;25447:35;;;;24451:1037;;-1:-1:-1;;;;24451:1037:97:o;25493:320::-;25568:5;25597:52;25613:35;25641:6;25613:35;:::i;25597:52::-;25588:61;;25672:6;25665:5;25658:21;25712:3;25703:6;25698:3;25694:16;25691:25;25688:45;;;25729:1;25726;25719:12;25688:45;25742:65;25800:6;25793:4;25786:5;25782:16;25777:3;25742:65;:::i;25818:457::-;25897:6;25950:2;25938:9;25929:7;25925:23;25921:32;25918:52;;;25966:1;25963;25956:12;25918:52;25999:9;25993:16;26032:18;26024:6;26021:30;26018:50;;;26064:1;26061;26054:12;26018:50;26087:22;;26140:4;26132:13;;26128:27;-1:-1:-1;26118:55:97;;26169:1;26166;26159:12;26118:55;26192:77;26261:7;26256:2;26250:9;26245:2;26241;26237:11;26192:77;:::i;26533:395::-;26619:6;26627;26635;26688:2;26676:9;26667:7;26663:23;26659:32;26656:52;;;26704:1;26701;26694:12;26656:52;26736:9;26730:16;26786:4;26779:5;26775:16;26768:5;26765:27;26755:55;;26806:1;26803;26796:12;26755:55;26874:2;26859:18;;26853:25;26918:2;26903:18;;;26897:25;26829:5;;26853:25;;-1:-1:-1;26897:25:97;26533:395;-1:-1:-1;;;26533:395:97:o;27329:1135::-;27762:4;27791:3;-1:-1:-1;;;;;27894:2:97;27886:6;27882:15;27871:9;27864:34;27934:6;27929:2;27918:9;27914:18;27907:34;27977:2;27972;27961:9;27957:18;27950:30;28003:45;28044:2;28033:9;28029:18;28021:6;28003:45;:::i;:::-;27989:59;;28057:53;28106:2;28095:9;28091:18;28083:6;28057:53;:::i;:::-;28147:6;28141:3;28130:9;28126:19;28119:35;28191:6;28185:3;28174:9;28170:19;28163:35;28235:6;28229:3;28218:9;28214:19;28207:35;28291:2;28283:6;28279:15;28273:3;28262:9;28258:19;28251:44;28344:2;28336:6;28332:15;28326:3;28315:9;28311:19;28304:44;;28397:9;28389:6;28385:22;28379:3;28368:9;28364:19;28357:51;28425:33;28451:6;28443;28425:33;:::i;:::-;28417:41;27329:1135;-1:-1:-1;;;;;;;;;;;;;27329:1135:97:o;28469:795::-;28627:4;28669:3;28658:9;28654:19;28646:27;;28706:6;28700:13;28689:9;28682:32;28770:4;28762:6;28758:17;28752:24;28745:4;28734:9;28730:20;28723:54;28824:4;28816:6;28812:17;28806:24;-1:-1:-1;;;;;28947:2:97;28933:12;28929:21;28922:4;28911:9;28907:20;28900:51;29000:4;28992:6;28988:17;28982:24;28960:46;;29044:1;29028:14;29025:21;29015:55;;29050:18;;:::i;:::-;29108:14;29101:4;29090:9;29086:20;29079:44;29179:4;29171:6;29167:17;29161:24;29154:4;29143:9;29139:20;29132:54;29254:2;29246:4;29238:6;29234:17;29228:24;29224:33;29217:4;29206:9;29202:20;29195:63;;;28469:795;;;;:::o;29961:493::-;30214:6;30203:9;30196:25;30257:2;30252;30241:9;30237:18;30230:30;30177:4;30283:56;30335:2;30324:9;30320:18;30312:6;30283:56;:::i;:::-;30387:9;30379:6;30375:22;30370:2;30359:9;30355:18;30348:50;30415:33;30441:6;30433;30415:33;:::i;:::-;30407:41;29961:493;-1:-1:-1;;;;;;29961:493:97:o;30968:887::-;31392:6;31381:9;31374:25;31435:3;31430:2;31419:9;31415:18;31408:31;31355:4;31462:50;31507:3;31496:9;31492:19;30877:2;30865:15;;30912:16;30905:4;30896:14;;30889:40;30954:2;30945:12;;30800:163;31462:50;31560:9;31552:6;31548:22;31543:2;31532:9;31528:18;31521:50;31594:42;31629:6;31621;31594:42;:::i;:::-;31580:56;;-1:-1:-1;;;;;31676:6:97;31672:55;31667:2;31656:9;31652:18;31645:83;31777:9;31769:6;31765:22;31759:3;31748:9;31744:19;31737:51;31805:44;31842:6;31834;31805:44;:::i;:::-;31797:52;30968:887;-1:-1:-1;;;;;;;30968:887:97:o;32866:1834::-;33288:6;33277:9;33270:25;33251:4;33314:2;-1:-1:-1;;;;;33425:2:97;33417:6;33413:15;33408:2;33397:9;33393:18;33386:43;33465:3;33460:2;33449:9;33445:18;33438:31;33492:46;33533:3;33522:9;33518:19;33510:6;33492:46;:::i;:::-;33557:2;33607;33599:6;33595:15;33590:2;33579:9;33575:18;33568:43;33648:6;33642:3;33631:9;33627:19;33620:35;33704:9;33696:6;33692:22;33686:3;33675:9;33671:19;33664:51;33745:6;33739:13;33731:6;33724:29;33772:4;33762:14;;33817:2;33809:6;33805:15;33853:2;33848;33840:6;33836:15;33829:27;33876:1;33909:12;33903:19;33945:36;33971:9;33945:36;:::i;:::-;34014:6;34009:2;34001:6;33997:15;33990:31;34052:2;34041:9;34037:18;34069:1;34064:152;;;;34230:1;34225:354;;;;34030:549;;34064:152;-1:-1:-1;;34109:24:97;;34092:15;;;34085:49;34184:14;;34177:22;34174:1;34170:30;34158:43;;34154:52;;;-1:-1:-1;34064:152:97;;34225:354;34256:12;34253:1;34246:23;34310:2;34307:1;34297:16;34335:1;34349:177;34363:6;34360:1;34357:13;34349:177;;;34453:14;;34432;;;34428:23;;34421:47;34496:16;;;;34378:10;;34349:177;;;34550:14;;34546:23;;;-1:-1:-1;;34030:549:97;;;;34625:9;34620:3;34616:19;34610:3;34599:9;34595:19;34588:48;34653:41;34690:3;34682:6;34653:41;:::i;:::-;34645:49;32866:1834;-1:-1:-1;;;;;;;;;;;;;;;32866:1834:97:o;34705:236::-;34759:5;34812:3;34805:4;34797:6;34793:17;34789:27;34779:55;;34830:1;34827;34820:12;34779:55;34852:83;34931:3;34922:6;34916:13;34909:4;34901:6;34897:17;34852:83;:::i;34946:618::-;35012:5;35060:4;35048:9;35043:3;35039:19;35035:30;35032:50;;;35078:1;35075;35068:12;35032:50;35111:4;35105:11;35155:4;35147:6;35143:17;35179:18;35247:6;35235:10;35232:22;35227:2;35215:10;35212:18;35209:46;35206:72;;;35258:18;;:::i;:::-;35300:10;35294:4;35287:24;35329:6;35320:15;;35365:9;35359:16;35351:6;35344:32;35420:2;35409:9;35405:18;35399:25;35385:39;;35447:2;35439:6;35436:14;35433:34;;;35463:1;35460;35453:12;35433:34;;35500:57;35553:3;35544:6;35533:9;35529:22;35500:57;:::i;:::-;35495:2;35487:6;35483:15;35476:82;;;34946:618;;;;:::o;35569:1028::-;35661:6;35714:2;35702:9;35693:7;35689:23;35685:32;35682:52;;;35730:1;35727;35720:12;35682:52;35763:9;35757:16;35792:18;35833:2;35825:6;35822:14;35819:34;;;35849:1;35846;35839:12;35819:34;35872:22;;;;35928:4;35910:16;;;35906:27;35903:47;;;35946:1;35943;35936:12;35903:47;35972:22;;:::i;:::-;36023:2;36017:9;36010:5;36003:24;36065:2;36061;36057:11;36051:18;36078:33;36103:7;36078:33;:::i;:::-;36138:2;36127:14;;36120:31;36189:2;36181:11;;36175:18;36202:33;36175:18;36202:33;:::i;:::-;36262:2;36251:14;;36244:31;36314:2;36306:11;;36300:18;36330:16;;;36327:36;;;36359:1;36356;36349:12;36327:36;36395:65;36452:7;36441:8;36437:2;36433:17;36395:65;:::i;:::-;36390:2;36383:5;36379:14;36372:89;;36508:3;36504:2;36500:12;36494:19;36488:3;36481:5;36477:15;36470:44;36561:3;36557:2;36553:12;36547:19;36541:3;36534:5;36530:15;36523:44;36586:5;36576:15;;;;;35569:1028;;;;:::o;37157:430::-;-1:-1:-1;;;;;;37346:6:97;37342:79;37337:3;37330:92;37312:3;37451:6;37445:13;37467:74;37534:6;37530:1;37525:3;37521:11;37514:4;37506:6;37502:17;37467:74;:::i;:::-;37561:16;;;;37579:1;37557:24;;37157:430;-1:-1:-1;;;37157:430:97:o;37592:287::-;37721:3;37759:6;37753:13;37775:66;37834:6;37829:3;37822:4;37814:6;37810:17;37775:66;:::i;:::-;37857:16;;;;;37592:287;-1:-1:-1;;37592:287:97:o;38534:128::-;38601:9;;;38622:11;;;38619:37;;;38636:18;;:::i;39559:1059::-;39654:6;39707:2;39695:9;39686:7;39682:23;39678:32;39675:52;;;39723:1;39720;39713:12;39675:52;39756:9;39750:16;39785:18;39826:2;39818:6;39815:14;39812:34;;;39842:1;39839;39832:12;39812:34;39865:22;;;;39921:4;39903:16;;;39899:27;39896:47;;;39939:1;39936;39929:12;39896:47;39965:22;;:::i;:::-;40016:2;40010:9;40003:5;39996:24;40066:2;40062;40058:11;40052:18;40047:2;40040:5;40036:14;40029:42;40110:2;40106;40102:11;40096:18;40139:2;40129:8;40126:16;40123:36;;;40155:1;40152;40145:12;40123:36;40191:56;40239:7;40228:8;40224:2;40220:17;40191:56;:::i;:::-;40186:2;40179:5;40175:14;40168:80;;40287:2;40283;40279:11;40273:18;40316:2;40306:8;40303:16;40300:36;;;40332:1;40329;40322:12;40300:36;40368:65;40425:7;40414:8;40410:2;40406:17;40368:65;:::i;:::-;40363:2;40356:5;40352:14;40345:89;;40467:43;40505:3;40501:2;40497:12;40467:43;:::i;:::-;40461:3;40454:5;40450:15;40443:68;40544:43;40582:3;40578:2;40574:12;40544:43;:::i;:::-;40538:3;40527:15;;40520:68;40531:5;39559:1059;-1:-1:-1;;;;;39559:1059:97:o;40623:896::-;41047:6;41036:9;41029:25;41090:3;41085:2;41074:9;41070:18;41063:31;41131:1;41125:3;41114:9;41110:19;41103:30;41170:11;41164:3;41153:9;41149:19;41142:40;41218:3;41213:2;41202:9;41198:18;41191:31;41010:4;41245:55;41295:3;41284:9;41280:19;41272:6;41245:55;:::i;:::-;-1:-1:-1;;;;;41340:6:97;41336:55;41331:2;41320:9;41316:18;41309:83;41441:9;41433:6;41429:22;41423:3;41412:9;41408:19;41401:51;41469:44;41506:6;41498;41469:44;:::i;41524:896::-;41948:6;41937:9;41930:25;41991:3;41986:2;41975:9;41971:18;41964:31;42032:1;42026:3;42015:9;42011:19;42004:30;42071:11;42065:3;42054:9;42050:19;42043:40;42119:3;42114:2;42103:9;42099:18;42092:31;41911:4;42146:55;42196:3;42185:9;42181:19;42173:6;42146:55;:::i;43954:446::-;44204:2;44193:9;44186:21;44243:1;44238:2;44227:9;44223:18;44216:29;44281:7;44276:2;44265:9;44261:18;44254:35;44327:3;44320:4;44309:9;44305:20;44298:33;44167:4;44348:46;44389:3;44378:9;44374:19;44366:6;44348:46;:::i;44405:545::-;44507:2;44502:3;44499:11;44496:448;;;44543:1;44568:5;44564:2;44557:17;44613:4;44609:2;44599:19;44683:2;44671:10;44667:19;44664:1;44660:27;44654:4;44650:38;44719:4;44707:10;44704:20;44701:47;;;-1:-1:-1;44742:4:97;44701:47;44797:2;44792:3;44788:12;44785:1;44781:20;44775:4;44771:31;44761:41;;44852:82;44870:2;44863:5;44860:13;44852:82;;;44915:17;;;44896:1;44885:13;44852:82;;45126:1352;45252:3;45246:10;45279:18;45271:6;45268:30;45265:56;;;45301:18;;:::i;:::-;45330:97;45420:6;45380:38;45412:4;45406:11;45380:38;:::i;:::-;45374:4;45330:97;:::i;:::-;45482:4;;45546:2;45535:14;;45563:1;45558:663;;;;46265:1;46282:6;46279:89;;;-1:-1:-1;46334:19:97;;;46328:26;46279:89;-1:-1:-1;;45083:1:97;45079:11;;;45075:24;45071:29;45061:40;45107:1;45103:11;;;45058:57;46381:81;;45528:944;;45558:663;32813:1;32806:14;;;32850:4;32837:18;;-1:-1:-1;;45594:20:97;;;45712:236;45726:7;45723:1;45720:14;45712:236;;;45815:19;;;45809:26;45794:42;;45907:27;;;;45875:1;45863:14;;;;45742:19;;45712:236;;;45716:3;45976:6;45967:7;45964:19;45961:201;;;46037:19;;;46031:26;-1:-1:-1;;46120:1:97;46116:14;;;46132:3;46112:24;46108:37;46104:42;46089:58;46074:74;;45961:201;-1:-1:-1;;;;;46208:1:97;46192:14;;;46188:22;46175:36;;-1:-1:-1;45126:1352:97:o;46483:979::-;46712:3;46741:1;46774:6;46768:13;46804:36;46830:9;46804:36;:::i;:::-;46859:1;46876:18;;;46903:133;;;;47050:1;47045:356;;;;46869:532;;46903:133;-1:-1:-1;;46936:24:97;;46924:37;;47009:14;;47002:22;46990:35;;46981:45;;;-1:-1:-1;46903:133:97;;47045:356;47076:6;47073:1;47066:17;47106:4;47151:2;47148:1;47138:16;47176:1;47190:165;47204:6;47201:1;47198:13;47190:165;;;47282:14;;47269:11;;;47262:35;47325:16;;;;47219:10;;47190:165;;;47194:3;;;47384:6;47379:3;47375:16;47368:23;;46869:532;-1:-1:-1;;47422:6:97;47410:19;;-1:-1:-1;;47454:1:97;47445:11;;46483:979;-1:-1:-1;;;46483:979:97:o;47467:291::-;47644:2;47633:9;47626:21;47607:4;47664:45;47705:2;47694:9;47690:18;47682:6;47664:45;:::i;:::-;47656:53;;47745:6;47740:2;47729:9;47725:18;47718:34;47467:291;;;;;:::o;48330:348::-;48560:2;48549:9;48542:21;48523:4;48580:49;48625:2;48614:9;48610:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:97;48262:14;;48255:36;48316:2;48307:12;;48166:159;48580:49;48572:57;;48665:6;48660:2;48649:9;48645:18;48638:34;48330:348;;;;:::o;48847:::-;49077:2;49066:9;49059:21;49040:4;49097:49;49142:2;49131:9;49127:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:97;48779:14;;48772:36;48833:2;48824:12;;48683:159;49851:340;-1:-1:-1;;;;;50032:6:97;50028:55;50017:9;50010:74;50120:2;50115;50104:9;50100:18;50093:30;49991:4;50140:45;50181:2;50170:9;50166:18;50158:6;50140:45;:::i;50196:340::-;50373:2;50362:9;50355:21;50336:4;50393:45;50434:2;50423:9;50419:18;50411:6;50393:45;:::i;:::-;50385:53;;-1:-1:-1;;;;;50478:6:97;50474:55;50469:2;50458:9;50454:18;50447:83;50196:340;;;;;:::o;50944:440::-;51194:2;51183:9;51176:21;51157:4;51220:49;51265:2;51254:9;51250:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:97;48262:14;;48255:36;48316:2;48307:12;;48166:159;51220:49;51317:9;51309:6;51305:22;51300:2;51289:9;51285:18;51278:50;51345:33;51371:6;51363;51345:33;:::i;51389:440::-;51639:2;51628:9;51621:21;51602:4;51665:49;51710:2;51699:9;51695:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:97;48779:14;;48772:36;48833:2;48824:12;;48683:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","POOL_AMOUNT()":"beda3db3","REQUESTED_AMOUNT()":"879ee88c","TOTAL_SUPPLY()":"902d55a5","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","_createProposal(address,uint256,uint256)":"b188bdc4","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","disabled_test_threshold_check_as_js_test()":"a6f2b82f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getBalance(address,address)":"d4fac45d","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testRevert_allocate_ProposalIdDuplicated()":"2da49647","testRevert_allocate_UserNotInRegistry()":"bc1687c0","testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW()":"d97d0578","testRevert_registerRecipient_ProposalIdAlreadyExist()":"9a45ff89","test_1_proposalSupported()":"757e122d","test_activate_points()":"136994c0","test_allocate_proposalSupport_empty_array()":"39b7e525","test_conviction_check_as_js_test()":"90ff95a4","test_conviction_check_function()":"de8a1354","test_deactivate_points()":"0ef639f6","test_distribute_native_token()":"8cf86e50","test_distribute_signaling_proposal()":"eaeb7195","test_proposalSupported_change_support()":"d25bba07","test_proposalSupported_conviction_threshold_2_users()":"503c712e","test_total_staked_amount()":"61164d4e","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTED_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"poolAmount\",\"type\":\"uint256\"}],\"name\":\"_createProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"pool\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled_test_threshold_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_ProposalIdDuplicated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_UserNotInRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_registerRecipient_ProposalIdAlreadyExist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_1_proposalSupported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_activate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_allocate_proposalSupport_empty_array\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_function\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_deactivate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_native_token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_signaling_proposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_change_support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_conviction_threshold_2_users\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_total_staked_amount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"_createProposal(address,uint256,uint256)\":{\"notice\":\"HELPERS FUNCTIONS\"},\"testRevert_allocate_ProposalIdDuplicated()\":{\"notice\":\"TESTS\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyTest.t.sol\":\"CVStrategyTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/CVStrategyTest.t.sol\":{\"keccak256\":\"0x1ef4c79f3e868f30f5dab415e11cb91a4cbe1063c94f85b181a2f143cd2ab76e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://9361a5ca3d979907d3d0ed5a225a5e4885cd3801a69b1fbff75d77b1d0bfb7f8\",\"dweb:/ipfs/QmX4TiDmKvzMAEwi1zM5vmhYNDkzCXBa3p13XP3CTqXHou\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUESTED_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_tokenPool","type":"address"},{"internalType":"uint256","name":"requestAmount","type":"uint256"},{"internalType":"uint256","name":"poolAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"_createProposal","outputs":[{"internalType":"struct IAllo.Pool","name":"pool","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]},{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disabled_test_threshold_check_as_js_test"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_ProposalIdDuplicated"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_UserNotInRegistry"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_1_proposalSupported"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_activate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_allocate_proposalSupport_empty_array"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_as_js_test"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_function"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_deactivate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_native_token"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_signaling_proposal"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_change_support"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_conviction_threshold_2_users"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_total_staked_amount"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"_createProposal(address,uint256,uint256)":{"notice":"HELPERS FUNCTIONS"},"testRevert_allocate_ProposalIdDuplicated()":{"notice":"TESTS"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyTest.t.sol":"CVStrategyTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/CVStrategyTest.t.sol":{"keccak256":"0x1ef4c79f3e868f30f5dab415e11cb91a4cbe1063c94f85b181a2f143cd2ab76e","urls":["bzz-raw://9361a5ca3d979907d3d0ed5a225a5e4885cd3801a69b1fbff75d77b1d0bfb7f8","dweb:/ipfs/QmX4TiDmKvzMAEwi1zM5vmhYNDkzCXBa3p13XP3CTqXHou"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyTest.t.sol","id":64020,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[59653],"CVStrategyHelpers":[60835],"CVStrategyTest":[64019],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[64093],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[59700],"RegistryGardens":[60468],"RegistrySetupFull":[9534],"SafeSetup":[64474],"StdAssertions":[14008],"StdChains":[14772],"StdCheats":[17625],"StdInvariant":[17950],"StdStorage":[18716],"StdStyle":[21566],"StdUtils":[22352],"Test":[22403],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24254],"console":[32318],"console2":[40443],"safeconsole":[54783],"stdError":[17691],"stdJson":[18542],"stdMath":[18684],"stdStorage":[20355]},"nodeType":"SourceUnit","src":"39:30910:94","nodes":[{"id":60837,"nodeType":"PragmaDirective","src":"39:24:94","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":60838,"nodeType":"ImportDirective","src":"65:28:94","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":22404,"symbolAliases":[],"unitAlias":""},{"id":60839,"nodeType":"ImportDirective","src":"94:31:94","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":32319,"symbolAliases":[],"unitAlias":""},{"id":60840,"nodeType":"ImportDirective","src":"126:56:94","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":60842,"nodeType":"ImportDirective","src":"184:66:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":60841,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"192:5:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60844,"nodeType":"ImportDirective","src":"251:74:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":60843,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"259:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60846,"nodeType":"ImportDirective","src":"344:53:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":60845,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"352:4:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60848,"nodeType":"ImportDirective","src":"398:61:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":60847,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"406:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60850,"nodeType":"ImportDirective","src":"482:67:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":60849,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"490:6:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60852,"nodeType":"ImportDirective","src":"550:71:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":60851,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"558:8:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60854,"nodeType":"ImportDirective","src":"622:67:94","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":60853,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"630:6:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60856,"nodeType":"ImportDirective","src":"708:68:94","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":60855,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"716:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60858,"nodeType":"ImportDirective","src":"777:80:94","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":60857,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"785:17:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60860,"nodeType":"ImportDirective","src":"858:65:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":60859,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"866:12:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60862,"nodeType":"ImportDirective","src":"924:65:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":60861,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"932:12:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60864,"nodeType":"ImportDirective","src":"990:59:94","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":60863,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"998:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60866,"nodeType":"ImportDirective","src":"1051:49:94","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":59654,"symbolAliases":[{"foreign":{"id":60865,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"1059:10:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60868,"nodeType":"ImportDirective","src":"1101:59:94","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":60469,"symbolAliases":[{"foreign":{"id":60867,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"1109:15:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60870,"nodeType":"ImportDirective","src":"1161:59:94","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":59701,"symbolAliases":[{"foreign":{"id":60869,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59700,"src":"1169:15:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60872,"nodeType":"ImportDirective","src":"1222:53:94","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":64094,"symbolAliases":[{"foreign":{"id":60871,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64093,"src":"1230:11:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60874,"nodeType":"ImportDirective","src":"1276:49:94","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":64475,"symbolAliases":[{"foreign":{"id":60873,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64474,"src":"1284:9:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60876,"nodeType":"ImportDirective","src":"1326:58:94","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":64020,"sourceUnit":60836,"symbolAliases":[{"foreign":{"id":60875,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60835,"src":"1334:17:94","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64019,"nodeType":"ContractDefinition","src":"1525:29423:94","nodes":[{"id":60893,"nodeType":"VariableDeclaration","src":"1644:22:94","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1661:5:94","scope":64019,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":60892,"nodeType":"UserDefinedTypeName","pathNode":{"id":60891,"name":"MockERC20","nameLocations":["1644:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1644:9:94"},"referencedDeclaration":9751,"src":"1644:9:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":60896,"nodeType":"VariableDeclaration","src":"1672:33:94","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1687:10:94","scope":64019,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60894,"name":"uint256","nodeType":"ElementaryTypeName","src":"1672:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":60895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":60899,"nodeType":"VariableDeclaration","src":"1711:44:94","nodes":[],"constant":true,"functionSelector":"902d55a5","mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1735:12:94","scope":64019,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60897,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3435303030","id":60898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1750:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"visibility":"public"},{"id":60902,"nodeType":"VariableDeclaration","src":"1761:43:94","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1785:11:94","scope":64019,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60900,"name":"uint256","nodeType":"ElementaryTypeName","src":"1761:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":60901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":60905,"nodeType":"VariableDeclaration","src":"1810:42:94","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1834:13:94","scope":64019,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60903,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":60904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1850:2:94","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":60908,"nodeType":"VariableDeclaration","src":"1858:47:94","nodes":[],"constant":true,"functionSelector":"879ee88c","mutability":"constant","name":"REQUESTED_AMOUNT","nameLocation":"1882:16:94","scope":64019,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":60906,"name":"uint256","nodeType":"ElementaryTypeName","src":"1858:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":60907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1901:4:94","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":60911,"nodeType":"VariableDeclaration","src":"1912:40:94","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1937:15:94","scope":64019,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"},"typeName":{"id":60910,"nodeType":"UserDefinedTypeName","pathNode":{"id":60909,"name":"RegistryGardens","nameLocations":["1912:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":60468,"src":"1912:15:94"},"referencedDeclaration":60468,"src":"1912:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":61094,"nodeType":"FunctionDefinition","src":"1959:1152:94","nodes":[],"body":{"id":61093,"nodeType":"Block","src":"1983:1128:94","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60914,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1993:19:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":60915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60916,"nodeType":"ExpressionStatement","src":"1993:21:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60920,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"2044:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":60921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":60919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2036:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60918,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:94","typeDescriptions":{}}},"id":60922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2036:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60917,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"2024:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2024:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60924,"nodeType":"ExpressionStatement","src":"2024:32:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60928,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2081:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2081:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2067:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2070:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"2067:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2067:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60931,"nodeType":"ExpressionStatement","src":"2067:27:94"},{"expression":{"arguments":[{"hexValue":"30","id":60935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60932,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2104:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2111:13:94","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2104:20:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60937,"nodeType":"ExpressionStatement","src":"2104:23:94"},{"expression":{"arguments":[{"hexValue":"30","id":60941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60938,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2137:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:16:94","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2137:23:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":60942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60943,"nodeType":"ExpressionStatement","src":"2137:26:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2173:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"2173:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":60947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60948,"nodeType":"ExpressionStatement","src":"2173:14:94"},{"expression":{"id":60954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60949,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2198:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":60952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2206:13:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":60951,"nodeType":"UserDefinedTypeName","pathNode":{"id":60950,"name":"MockERC20","nameLocations":["2210:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2210:9:94"},"referencedDeclaration":9751,"src":"2210:9:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":60953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2206:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2198:23:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60955,"nodeType":"ExpressionStatement","src":"2198:23:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60959,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2242:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":60961,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60899,"src":"2251:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":60962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2251:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60956,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2231:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2231:10:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60965,"nodeType":"ExpressionStatement","src":"2231:37:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60969,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2289:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":60971,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60899,"src":"2303:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":60972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2318:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2303:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60966,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2278:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2278:10:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":60974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60975,"nodeType":"ExpressionStatement","src":"2278:42:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60981,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2352:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":60980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2344:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60979,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:94","typeDescriptions":{}}},"id":60983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60984,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60896,"src":"2361:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":60976,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2330:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":60978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2336:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2330:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":60985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2330:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60986,"nodeType":"ExpressionStatement","src":"2330:42:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60990,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2397:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":60991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2397:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60987,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2383:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":60989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2386:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"2383:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":60992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2383:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60993,"nodeType":"ExpressionStatement","src":"2383:27:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":60997,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2445:5:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:7:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60994,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2420:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":60995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":60996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2427:17:94","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2420:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":60999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61000,"nodeType":"ExpressionStatement","src":"2420:33:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61001,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2463:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"2463:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2463:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61005,"nodeType":"ExpressionStatement","src":"2463:14:94"},{"assignments":[61008],"declarations":[{"constant":false,"id":61008,"mutability":"mutable","name":"registryFactory","nameLocation":"2556:15:94","nodeType":"VariableDeclaration","scope":61093,"src":"2540:31:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"},"typeName":{"id":61007,"nodeType":"UserDefinedTypeName","pathNode":{"id":61006,"name":"RegistryFactory","nameLocations":["2540:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":59700,"src":"2540:15:94"},"referencedDeclaration":59700,"src":"2540:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":61013,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":61011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2574:19:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$59700_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":61010,"nodeType":"UserDefinedTypeName","pathNode":{"id":61009,"name":"RegistryFactory","nameLocations":["2578:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":59700,"src":"2578:15:94"},"referencedDeclaration":59700,"src":"2578:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}}},"id":61012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2574:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2540:55:94"},{"assignments":[61018],"declarations":[{"constant":false,"id":61018,"mutability":"mutable","name":"params","nameLocation":"2645:6:94","nodeType":"VariableDeclaration","scope":61093,"src":"2605:46:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":61017,"nodeType":"UserDefinedTypeName","pathNode":{"id":61016,"name":"RegistryGardens.InitializeParams","nameLocations":["2605:15:94","2621:16:94"],"nodeType":"IdentifierPath","referencedDeclaration":59873,"src":"2605:32:94"},"referencedDeclaration":59873,"src":"2605:32:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":61019,"nodeType":"VariableDeclarationStatement","src":"2605:46:94"},{"expression":{"id":61028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61020,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2661:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2668:5:94","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":59858,"src":"2661:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61025,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2684:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2684:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2676:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61023,"name":"address","nodeType":"ElementaryTypeName","src":"2676:7:94","typeDescriptions":{}}},"id":61027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2676:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2661:30:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61029,"nodeType":"ExpressionStatement","src":"2661:30:94"},{"expression":{"id":61039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61030,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2701:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2708:12:94","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":59861,"src":"2701:19:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61036,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"2738:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":61035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2730:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61034,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:94","typeDescriptions":{}}},"id":61037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61033,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2723:6:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":61038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2723:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2701:44:94","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":61040,"nodeType":"ExpressionStatement","src":"2701:44:94"},{"expression":{"id":61045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61041,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2755:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:19:94","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":59863,"src":"2755:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61044,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"2784:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2755:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61046,"nodeType":"ExpressionStatement","src":"2755:42:94"},{"expression":{"id":61051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61047,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2807:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2814:12:94","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":59865,"src":"2807:19:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":61050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2829:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2807:23:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61052,"nodeType":"ExpressionStatement","src":"2807:23:94"},{"expression":{"id":61057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61053,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2840:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2847:9:94","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":59870,"src":"2840:16:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61056,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60493,"src":"2859:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2840:27:94","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":61058,"nodeType":"ExpressionStatement","src":"2840:27:94"},{"expression":{"id":61070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61059,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"2877:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":61061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2884:12:94","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":59872,"src":"2877:19:94","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61066,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64375,"src":"2915:12:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55905_$","typeString":"function () returns (contract Safe)"}},"id":61067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55905","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55905","typeString":"contract Safe"}],"id":61065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2907:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61064,"name":"address","nodeType":"ElementaryTypeName","src":"2907:7:94","typeDescriptions":{}}},"id":61068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2907:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2899:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61062,"name":"address","nodeType":"ElementaryTypeName","src":"2899:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2877:54:94","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":61071,"nodeType":"ExpressionStatement","src":"2877:54:94"},{"expression":{"id":61079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61072,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"2941:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":61076,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61018,"src":"3006:6:94","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$59873_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":61074,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61008,"src":"2975:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$59700","typeString":"contract RegistryFactory"}},"id":61075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:14:94","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":59699,"src":"2975:30:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$59873_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":61077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2975:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61073,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"2959:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":61078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2959:55:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"src":"2941:73:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":61080,"nodeType":"ExpressionStatement","src":"2941:73:94"},{"expression":{"arguments":[{"arguments":[{"id":61086,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3047:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":61085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3039:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61084,"name":"address","nodeType":"ElementaryTypeName","src":"3039:7:94","typeDescriptions":{}}},"id":61087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3039:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61088,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3065:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":61089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:20:94","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60385,"src":"3065:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":61090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61081,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"3025:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3031:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3025:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:79:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61092,"nodeType":"ExpressionStatement","src":"3025:79:94"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1968:5:94","parameters":{"id":60912,"nodeType":"ParameterList","parameters":[],"src":"1973:2:94"},"returnParameters":{"id":60913,"nodeType":"ParameterList","parameters":[],"src":"1983:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61103,"nodeType":"FunctionDefinition","src":"3117:107:94","nodes":[],"body":{"id":61102,"nodeType":"Block","src":"3185:39:94","nodes":[],"statements":[{"expression":{"id":61100,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"3202:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"functionReturnParameters":61099,"id":61101,"nodeType":"Return","src":"3195:22:94"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3126:16:94","parameters":{"id":61095,"nodeType":"ParameterList","parameters":[],"src":"3142:2:94"},"returnParameters":{"id":61099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61103,"src":"3168:15:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"},"typeName":{"id":61097,"nodeType":"UserDefinedTypeName","pathNode":{"id":61096,"name":"RegistryGardens","nameLocations":["3168:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":60468,"src":"3168:15:94"},"referencedDeclaration":60468,"src":"3168:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3167:17:94"},"scope":64019,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":61327,"nodeType":"FunctionDefinition","src":"3273:1814:94","nodes":[],"body":{"id":61326,"nodeType":"Block","src":"3437:1650:94","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61118,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"3451:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":61119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3468:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3451:18:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61126,"nodeType":"IfStatement","src":"3447:81:94","trueBody":{"id":61125,"nodeType":"Block","src":"3471:57:94","statements":[{"expression":{"id":61123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61121,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"3485:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61122,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"3501:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3485:32:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61124,"nodeType":"ExpressionStatement","src":"3485:32:94"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61127,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"3542:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":61128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3556:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3542:15:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61135,"nodeType":"IfStatement","src":"3538:70:94","trueBody":{"id":61134,"nodeType":"Block","src":"3559:49:94","statements":[{"expression":{"id":61132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61130,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"3573:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61131,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60902,"src":"3586:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61133,"nodeType":"ExpressionStatement","src":"3573:24:94"}]}},{"assignments":[61137],"declarations":[{"constant":false,"id":61137,"mutability":"mutable","name":"useTokenPool","nameLocation":"3625:12:94","nodeType":"VariableDeclaration","scope":61326,"src":"3617:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61136,"name":"address","nodeType":"ElementaryTypeName","src":"3617:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":61139,"initialValue":{"id":61138,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3640:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3617:29:94"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61140,"name":"_tokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61106,"src":"3660:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":61143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3682:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3674:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61141,"name":"address","nodeType":"ElementaryTypeName","src":"3674:7:94","typeDescriptions":{}}},"id":61144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3660:24:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61154,"nodeType":"IfStatement","src":"3656:84:94","trueBody":{"id":61153,"nodeType":"Block","src":"3686:54:94","statements":[{"expression":{"id":61151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61146,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"3700:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61149,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"3723:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":61148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3715:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61147,"name":"address","nodeType":"ElementaryTypeName","src":"3715:7:94","typeDescriptions":{}}},"id":61150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3700:29:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61152,"nodeType":"ExpressionStatement","src":"3700:29:94"}]}},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":61156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3768:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":61155,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"3750:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61158,"nodeType":"ExpressionStatement","src":"3750:35:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61162,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"3873:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61159,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3862:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"3859:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61165,"nodeType":"ExpressionStatement","src":"3859:27:94"},{"assignments":[61168],"declarations":[{"constant":false,"id":61168,"mutability":"mutable","name":"strategy","nameLocation":"3908:8:94","nodeType":"VariableDeclaration","scope":61326,"src":"3897:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61167,"nodeType":"UserDefinedTypeName","pathNode":{"id":61166,"name":"CVStrategy","nameLocations":["3897:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"3897:10:94"},"referencedDeclaration":59653,"src":"3897:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61178,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61174,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3942:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3942:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3934:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61172,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:94","typeDescriptions":{}}},"id":61176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3919:14:94","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$59653_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":61170,"nodeType":"UserDefinedTypeName","pathNode":{"id":61169,"name":"CVStrategy","nameLocations":["3923:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"3923:10:94"},"referencedDeclaration":59653,"src":"3923:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}}},"id":61177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3919:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"3897:53:94"},{"expression":{"id":61199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61179,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"3961:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61181,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3981:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3981:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":61185,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"3997:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}],"id":61184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3989:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61183,"name":"address","nodeType":"ElementaryTypeName","src":"3989:7:94","typeDescriptions":{}}},"id":61186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61189,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61103,"src":"4016:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$60468_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":61190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4016:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":61188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4008:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61187,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:94","typeDescriptions":{}}},"id":61191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61192,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4037:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":61193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},{"arguments":[{"id":61196,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4057:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61194,"name":"address","nodeType":"ElementaryTypeName","src":"4049:7:94","typeDescriptions":{}}},"id":61197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4049:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":61180,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60666,"src":"3970:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":61198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3970:101:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3961:110:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61200,"nodeType":"ExpressionStatement","src":"3961:110:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61201,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4082:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4085:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"4082:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4082:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61205,"nodeType":"ExpressionStatement","src":"4082:14:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61206,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61168,"src":"4107:8:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4116:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"4107:23:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:25:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61210,"nodeType":"ExpressionStatement","src":"4107:25:94"},{"expression":{"id":61217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61211,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61114,"src":"4143:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61215,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4165:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61212,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4150:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4157:7:94","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":1389,"src":"4150:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":61216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"4143:29:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61218,"nodeType":"ExpressionStatement","src":"4143:29:94"},{"expression":{"arguments":[{"arguments":[{"id":61224,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4199:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":61223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4191:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61222,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:94","typeDescriptions":{}}},"id":61225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61226,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4206:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61219,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4183:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4186:4:94","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":23827,"src":"4183:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61228,"nodeType":"ExpressionStatement","src":"4183:34:94"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61229,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4231:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":61230,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4247:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4231:22:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61272,"nodeType":"Block","src":"4340:203:94","statements":[{"expression":{"arguments":[{"arguments":[{"id":61248,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4391:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":61247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4383:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61246,"name":"address","nodeType":"ElementaryTypeName","src":"4383:7:94","typeDescriptions":{}}},"id":61249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61250,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4398:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":61243,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4364:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61242,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4354:9:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":61244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4378:4:94","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"4354:28:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":61251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:55:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61252,"nodeType":"ExpressionStatement","src":"4354:55:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61259,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4463:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4463:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":61258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4455:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61257,"name":"address","nodeType":"ElementaryTypeName","src":"4455:7:94","typeDescriptions":{}}},"id":61261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4455:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":61262,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4472:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":61254,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4433:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61253,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4423:9:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":61255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":61256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4447:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4423:31:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":61263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:60:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61264,"nodeType":"ExpressionStatement","src":"4423:60:94"},{"expression":{"arguments":[{"id":61268,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4513:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61269,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4521:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61265,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4497:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:8:94","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4497:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":61270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61271,"nodeType":"ExpressionStatement","src":"4497:35:94"}]},"id":61273,"nodeType":"IfStatement","src":"4227:316:94","trueBody":{"id":61241,"nodeType":"Block","src":"4255:79:94","statements":[{"expression":{"arguments":[{"id":61237,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4304:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61238,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4312:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61232,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4269:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4276:8:94","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4269:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":61236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":61235,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61110,"src":"4292:10:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4269:34:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":61239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61240,"nodeType":"ExpressionStatement","src":"4269:54:94"}]}},{"expression":{"arguments":[{"expression":{"id":61275,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61114,"src":"4562:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4567:9:94","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"4562:14:94","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61278,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4594:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":61279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":61277,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60545,"src":"4578:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":61280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"706f6f6c50726f66696c654944","id":61281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4607:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""},"value":"poolProfileID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""}],"id":61274,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10624,"src":"4553:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":61282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:70:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61283,"nodeType":"ExpressionStatement","src":"4553:70:94"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":61285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4738:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":61284,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"4720:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61287,"nodeType":"ExpressionStatement","src":"4720:35:94"},{"assignments":[61292],"declarations":[{"constant":false,"id":61292,"mutability":"mutable","name":"proposal","nameLocation":"4799:8:94","nodeType":"VariableDeclaration","scope":61326,"src":"4766:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":61291,"nodeType":"UserDefinedTypeName","pathNode":{"id":61290,"name":"CVStrategy.CreateProposal","nameLocations":["4766:10:94","4777:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"4766:25:94"},"referencedDeclaration":57786,"src":"4766:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":61308,"initialValue":{"arguments":[{"hexValue":"31","id":61295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4849:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61296,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"4852:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61297,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"4860:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":61299,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"4874:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4885:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"4874:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":61301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4898:7:94","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57770,"src":"4874:31:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":61302,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61108,"src":"4907:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":61305,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61137,"src":"4930:12:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4922:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61303,"name":"address","nodeType":"ElementaryTypeName","src":"4922:7:94","typeDescriptions":{}}},"id":61306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61293,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"4810:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"4810:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":61307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:143:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4766:187:94"},{"assignments":[61310],"declarations":[{"constant":false,"id":61310,"mutability":"mutable","name":"data","nameLocation":"4976:4:94","nodeType":"VariableDeclaration","scope":61326,"src":"4963:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61309,"name":"bytes","nodeType":"ElementaryTypeName","src":"4963:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61315,"initialValue":{"arguments":[{"id":61313,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61292,"src":"4994:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":61311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4983:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4987:6:94","memberName":"encode","nodeType":"MemberAccess","src":"4983:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4983:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4963:40:94"},{"expression":{"arguments":[{"id":61319,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61116,"src":"5038:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61320,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61310,"src":"5046:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61316,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"5013:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5020:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5013:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":61321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61322,"nodeType":"ExpressionStatement","src":"5013:38:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61323,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"5062:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5062:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61325,"nodeType":"ExpressionStatement","src":"5062:18:94"}]},"documentation":{"id":61104,"nodeType":"StructuredDocumentation","src":"3230:38:94","text":" HELPERS FUNCTIONS"},"functionSelector":"b188bdc4","implemented":true,"kind":"function","modifiers":[],"name":"_createProposal","nameLocation":"3282:15:94","parameters":{"id":61111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61106,"mutability":"mutable","name":"_tokenPool","nameLocation":"3306:10:94","nodeType":"VariableDeclaration","scope":61327,"src":"3298:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61105,"name":"address","nodeType":"ElementaryTypeName","src":"3298:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61108,"mutability":"mutable","name":"requestAmount","nameLocation":"3326:13:94","nodeType":"VariableDeclaration","scope":61327,"src":"3318:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61107,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":61110,"mutability":"mutable","name":"poolAmount","nameLocation":"3349:10:94","nodeType":"VariableDeclaration","scope":61327,"src":"3341:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61109,"name":"uint256","nodeType":"ElementaryTypeName","src":"3341:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3297:63:94"},"returnParameters":{"id":61117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61114,"mutability":"mutable","name":"pool","nameLocation":"3411:4:94","nodeType":"VariableDeclaration","scope":61327,"src":"3393:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61113,"nodeType":"UserDefinedTypeName","pathNode":{"id":61112,"name":"IAllo.Pool","nameLocations":["3393:5:94","3399:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"3393:10:94"},"referencedDeclaration":2319,"src":"3393:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61116,"mutability":"mutable","name":"poolId","nameLocation":"3425:6:94","nodeType":"VariableDeclaration","scope":61327,"src":"3417:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61115,"name":"uint256","nodeType":"ElementaryTypeName","src":"3417:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3392:40:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61359,"nodeType":"FunctionDefinition","src":"5093:254:94","nodes":[],"body":{"id":61358,"nodeType":"Block","src":"5175:172:94","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":61338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61336,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"5189:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":61337,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5199:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5189:16:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":61356,"nodeType":"Block","src":"5268:73:94","statements":[{"expression":{"arguments":[{"arguments":[{"id":61352,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"5322:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5314:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61350,"name":"address","nodeType":"ElementaryTypeName","src":"5314:7:94","typeDescriptions":{}}},"id":61353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5314:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":61347,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61329,"src":"5296:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61346,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"5289:6:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":61348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":61349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5304:9:94","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":6860,"src":"5289:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":61354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:41:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61335,"id":61355,"nodeType":"Return","src":"5282:48:94"}]},"id":61357,"nodeType":"IfStatement","src":"5185:156:94","trueBody":{"id":61345,"nodeType":"Block","src":"5207:55:94","statements":[{"expression":{"expression":{"arguments":[{"id":61341,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61331,"src":"5236:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5228:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61339,"name":"address","nodeType":"ElementaryTypeName","src":"5228:7:94","typeDescriptions":{}}},"id":61342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5228:15:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5244:7:94","memberName":"balance","nodeType":"MemberAccess","src":"5228:23:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":61335,"id":61344,"nodeType":"Return","src":"5221:30:94"}]}}]},"functionSelector":"d4fac45d","implemented":true,"kind":"function","modifiers":[],"name":"getBalance","nameLocation":"5102:10:94","parameters":{"id":61332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61329,"mutability":"mutable","name":"_token","nameLocation":"5121:6:94","nodeType":"VariableDeclaration","scope":61359,"src":"5113:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61328,"name":"address","nodeType":"ElementaryTypeName","src":"5113:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61331,"mutability":"mutable","name":"holder","nameLocation":"5137:6:94","nodeType":"VariableDeclaration","scope":61359,"src":"5129:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61330,"name":"address","nodeType":"ElementaryTypeName","src":"5129:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5112:32:94"},"returnParameters":{"id":61335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61359,"src":"5166:7:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61333,"name":"uint256","nodeType":"ElementaryTypeName","src":"5166:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5165:9:94"},"scope":64019,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":61439,"nodeType":"FunctionDefinition","src":"5385:977:94","nodes":[],"body":{"id":61438,"nodeType":"Block","src":"5444:918:94","nodes":[],"statements":[{"assignments":[null,61364],"declarations":[null,{"constant":false,"id":61364,"mutability":"mutable","name":"poolId","nameLocation":"5493:6:94","nodeType":"VariableDeclaration","scope":61438,"src":"5485:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61363,"name":"uint256","nodeType":"ElementaryTypeName","src":"5485:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61370,"initialValue":{"arguments":[{"id":61366,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5519:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5527:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61365,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"5503:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5454:78:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5615:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61371,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"5597:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5597:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61374,"nodeType":"ExpressionStatement","src":"5597:39:94"},{"assignments":[61380],"declarations":[{"constant":false,"id":61380,"mutability":"mutable","name":"votes","nameLocation":"5682:5:94","nodeType":"VariableDeclaration","scope":61438,"src":"5646:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61378,"nodeType":"UserDefinedTypeName","pathNode":{"id":61377,"name":"CVStrategy.ProposalSupport","nameLocations":["5646:10:94","5657:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"5646:26:94"},"referencedDeclaration":57829,"src":"5646:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61379,"nodeType":"ArrayTypeName","src":"5646:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61387,"initialValue":{"arguments":[{"hexValue":"32","id":61385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5723:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5690:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61382,"nodeType":"UserDefinedTypeName","pathNode":{"id":61381,"name":"CVStrategy.ProposalSupport","nameLocations":["5694:10:94","5705:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"5694:26:94"},"referencedDeclaration":57829,"src":"5694:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61383,"nodeType":"ArrayTypeName","src":"5694:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5646:79:94"},{"expression":{"id":61396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61388,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"5813:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61390,"indexExpression":{"hexValue":"30","id":61389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5819:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5813:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5851:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5854:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61391,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"5824:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"5824:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5813:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61397,"nodeType":"ExpressionStatement","src":"5813:44:94"},{"expression":{"id":61406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61398,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"5888:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61400,"indexExpression":{"hexValue":"31","id":61399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5894:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5888:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5926:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5929:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61401,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"5899:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"5899:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5888:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61407,"nodeType":"ExpressionStatement","src":"5888:44:94"},{"assignments":[61409],"declarations":[{"constant":false,"id":61409,"mutability":"mutable","name":"data","nameLocation":"6087:4:94","nodeType":"VariableDeclaration","scope":61438,"src":"6074:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61408,"name":"bytes","nodeType":"ElementaryTypeName","src":"6074:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61414,"initialValue":{"arguments":[{"id":61412,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61380,"src":"6105:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6094:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6098:6:94","memberName":"encode","nodeType":"MemberAccess","src":"6094:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6094:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6074:37:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61420,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6235:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6246:25:94","memberName":"ProposalSupportDuplicated","nodeType":"MemberAccess","referencedDeclaration":57746,"src":"6235:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":61422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6272:8:94","memberName":"selector","nodeType":"MemberAccess","src":"6235:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":61423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":61424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6285:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":61418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6212:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6216:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6212:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6212:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61415,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"6196:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6199:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"6196:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:92:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61427,"nodeType":"ExpressionStatement","src":"6196:92:94"},{"expression":{"arguments":[{"id":61431,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61364,"src":"6314:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61432,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61409,"src":"6322:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61428,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"6298:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"6298:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61434,"nodeType":"ExpressionStatement","src":"6298:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61435,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"6337:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61437,"nodeType":"ExpressionStatement","src":"6337:18:94"}]},"documentation":{"id":61360,"nodeType":"StructuredDocumentation","src":"5352:27:94","text":" TESTS"},"functionSelector":"2da49647","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_ProposalIdDuplicated","nameLocation":"5394:40:94","parameters":{"id":61361,"nodeType":"ParameterList","parameters":[],"src":"5434:2:94"},"returnParameters":{"id":61362,"nodeType":"ParameterList","parameters":[],"src":"5444:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61525,"nodeType":"FunctionDefinition","src":"6368:1028:94","nodes":[],"body":{"id":61524,"nodeType":"Block","src":"6424:972:94","nodes":[],"statements":[{"assignments":[null,61443],"declarations":[null,{"constant":false,"id":61443,"mutability":"mutable","name":"poolId","nameLocation":"6473:6:94","nodeType":"VariableDeclaration","scope":61524,"src":"6465:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61442,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61449,"initialValue":{"arguments":[{"id":61445,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"6499:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6507:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6510:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61444,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"6483:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6434:78:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61450,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"6577:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61453,"nodeType":"ExpressionStatement","src":"6577:39:94"},{"assignments":[61459],"declarations":[{"constant":false,"id":61459,"mutability":"mutable","name":"votes","nameLocation":"6662:5:94","nodeType":"VariableDeclaration","scope":61524,"src":"6626:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61457,"nodeType":"UserDefinedTypeName","pathNode":{"id":61456,"name":"CVStrategy.ProposalSupport","nameLocations":["6626:10:94","6637:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"6626:26:94"},"referencedDeclaration":57829,"src":"6626:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61458,"nodeType":"ArrayTypeName","src":"6626:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61466,"initialValue":{"arguments":[{"hexValue":"32","id":61464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6703:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6670:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61461,"nodeType":"UserDefinedTypeName","pathNode":{"id":61460,"name":"CVStrategy.ProposalSupport","nameLocations":["6674:10:94","6685:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"6674:26:94"},"referencedDeclaration":57829,"src":"6674:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61462,"nodeType":"ArrayTypeName","src":"6674:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6626:79:94"},{"expression":{"id":61475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61467,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"6793:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61469,"indexExpression":{"hexValue":"30","id":61468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6799:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6793:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6831:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6834:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61470,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6804:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"6804:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6793:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61476,"nodeType":"ExpressionStatement","src":"6793:44:94"},{"expression":{"id":61485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61477,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"6868:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61479,"indexExpression":{"hexValue":"31","id":61478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6874:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6868:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6906:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6909:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61480,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"6879:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"6879:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6879:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6868:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61486,"nodeType":"ExpressionStatement","src":"6868:44:94"},{"assignments":[61488],"declarations":[{"constant":false,"id":61488,"mutability":"mutable","name":"data","nameLocation":"7067:4:94","nodeType":"VariableDeclaration","scope":61524,"src":"7054:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61487,"name":"bytes","nodeType":"ElementaryTypeName","src":"7054:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61493,"initialValue":{"arguments":[{"id":61491,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61459,"src":"7085:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7074:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7078:6:94","memberName":"encode","nodeType":"MemberAccess","src":"7074:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7054:37:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":61497,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"7115:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7115:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61494,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7101:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7104:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"7101:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":61499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61500,"nodeType":"ExpressionStatement","src":"7101:27:94"},{"expression":{"arguments":[{"expression":{"expression":{"id":61504,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7154:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7165:17:94","memberName":"UserNotInRegistry","nodeType":"MemberAccess","referencedDeclaration":57694,"src":"7154:28:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":61506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7183:8:94","memberName":"selector","nodeType":"MemberAccess","src":"7154:37:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":61501,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7138:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7141:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24231,"src":"7138:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":61507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7138:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61508,"nodeType":"ExpressionStatement","src":"7138:54:94"},{"expression":{"arguments":[{"id":61512,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61443,"src":"7323:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61513,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61488,"src":"7331:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61509,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7307:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7314:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7307:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61515,"nodeType":"ExpressionStatement","src":"7307:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":61516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7347:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7350:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"7347:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":61519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61520,"nodeType":"ExpressionStatement","src":"7347:14:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61521,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"7371:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7371:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61523,"nodeType":"ExpressionStatement","src":"7371:18:94"}]},"functionSelector":"bc1687c0","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_UserNotInRegistry","nameLocation":"6377:37:94","parameters":{"id":61440,"nodeType":"ParameterList","parameters":[],"src":"6414:2:94"},"returnParameters":{"id":61441,"nodeType":"ParameterList","parameters":[],"src":"6424:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61639,"nodeType":"FunctionDefinition","src":"7402:901:94","nodes":[],"body":{"id":61638,"nodeType":"Block","src":"7490:813:94","nodes":[],"statements":[{"assignments":[61532,61534],"declarations":[{"constant":false,"id":61532,"mutability":"mutable","name":"pool","nameLocation":"7519:4:94","nodeType":"VariableDeclaration","scope":61638,"src":"7501:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61531,"nodeType":"UserDefinedTypeName","pathNode":{"id":61530,"name":"IAllo.Pool","nameLocations":["7501:5:94","7507:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"7501:10:94"},"referencedDeclaration":2319,"src":"7501:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61534,"mutability":"mutable","name":"poolId","nameLocation":"7533:6:94","nodeType":"VariableDeclaration","scope":61638,"src":"7525:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61533,"name":"uint256","nodeType":"ElementaryTypeName","src":"7525:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61540,"initialValue":{"arguments":[{"id":61536,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"7559:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7567:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7570:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61535,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"7543:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7543:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7500:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7655:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61541,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"7637:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7637:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61544,"nodeType":"ExpressionStatement","src":"7637:39:94"},{"assignments":[61550],"declarations":[{"constant":false,"id":61550,"mutability":"mutable","name":"votes","nameLocation":"7722:5:94","nodeType":"VariableDeclaration","scope":61638,"src":"7686:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61548,"nodeType":"UserDefinedTypeName","pathNode":{"id":61547,"name":"CVStrategy.ProposalSupport","nameLocations":["7686:10:94","7697:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"7686:26:94"},"referencedDeclaration":57829,"src":"7686:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61549,"nodeType":"ArrayTypeName","src":"7686:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61557,"initialValue":{"arguments":[{"hexValue":"31","id":61555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7763:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7730:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61552,"nodeType":"UserDefinedTypeName","pathNode":{"id":61551,"name":"CVStrategy.ProposalSupport","nameLocations":["7734:10:94","7745:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"7734:26:94"},"referencedDeclaration":57829,"src":"7734:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61553,"nodeType":"ArrayTypeName","src":"7734:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7730:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7686:79:94"},{"expression":{"id":61567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61558,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61550,"src":"7775:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61560,"indexExpression":{"hexValue":"30","id":61559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7781:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7775:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7813:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7816:4:94","subExpression":{"hexValue":"313030","id":61564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7817:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":61561,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7786:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7797:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"7786:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7786:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"7775:46:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61568,"nodeType":"ExpressionStatement","src":"7775:46:94"},{"assignments":[61570],"declarations":[{"constant":false,"id":61570,"mutability":"mutable","name":"data","nameLocation":"7844:4:94","nodeType":"VariableDeclaration","scope":61638,"src":"7831:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61569,"name":"bytes","nodeType":"ElementaryTypeName","src":"7831:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61575,"initialValue":{"arguments":[{"id":61573,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61550,"src":"7862:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61571,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7851:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7855:6:94","memberName":"encode","nodeType":"MemberAccess","src":"7851:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:37:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61581,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"7918:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7929:16:94","memberName":"SupportUnderflow","nodeType":"MemberAccess","referencedDeclaration":57718,"src":"7918:27:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":61583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7946:8:94","memberName":"selector","nodeType":"MemberAccess","src":"7918:36:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":61584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7956:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7959:4:94","subExpression":{"hexValue":"313030","id":61585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7960:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"id":61588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7965:4:94","subExpression":{"hexValue":"313030","id":61587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7966:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":61579,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7895:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7899:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7895:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61576,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7879:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7882:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"7879:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7879:92:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61591,"nodeType":"ExpressionStatement","src":"7879:92:94"},{"expression":{"arguments":[{"id":61595,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61534,"src":"7997:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61570,"src":"8005:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61592,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7981:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7988:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7981:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61598,"nodeType":"ExpressionStatement","src":"7981:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61599,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"8020:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8020:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61601,"nodeType":"ExpressionStatement","src":"8020:18:94"},{"assignments":[61604],"declarations":[{"constant":false,"id":61604,"mutability":"mutable","name":"cv","nameLocation":"8060:2:94","nodeType":"VariableDeclaration","scope":61638,"src":"8049:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61603,"nodeType":"UserDefinedTypeName","pathNode":{"id":61602,"name":"CVStrategy","nameLocations":["8049:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"8049:10:94"},"referencedDeclaration":59653,"src":"8049:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61615,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61610,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61532,"src":"8092:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8097:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"8092:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8084:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61608,"name":"address","nodeType":"ElementaryTypeName","src":"8084:7:94","typeDescriptions":{}}},"id":61612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8084:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8076:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61606,"name":"address","nodeType":"ElementaryTypeName","src":"8076:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61605,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8065:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"8049:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8153:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61622,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8164:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":61621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8156:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61620,"name":"address","nodeType":"ElementaryTypeName","src":"8156:7:94","typeDescriptions":{}}},"id":61623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61617,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61604,"src":"8128:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8131:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"8128:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8128:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8172:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65416d6f756e74","id":61626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8175:18:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""},"value":"VoterStakeAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""}],"id":61616,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8119:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":61627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61628,"nodeType":"ExpressionStatement","src":"8119:75:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61630,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61604,"src":"8232:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8235:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"8232:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8232:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":61634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8263:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564416d6f756e74496e50726f706f73616c","id":61635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8266:29:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""},"value":"TotalStakedAmountInProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""}],"id":61629,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8223:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":61636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8223:73:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61637,"nodeType":"ExpressionStatement","src":"8223:73:94"}]},"functionSelector":"d97d0578","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","nameLocation":"7411:69:94","parameters":{"id":61526,"nodeType":"ParameterList","parameters":[],"src":"7480:2:94"},"returnParameters":{"id":61527,"nodeType":"ParameterList","parameters":[],"src":"7490:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61695,"nodeType":"FunctionDefinition","src":"8309:519:94","nodes":[],"body":{"id":61694,"nodeType":"Block","src":"8379:449:94","nodes":[],"statements":[{"assignments":[null,61643],"declarations":[null,{"constant":false,"id":61643,"mutability":"mutable","name":"poolId","nameLocation":"8400:6:94","nodeType":"VariableDeclaration","scope":61694,"src":"8392:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61642,"name":"uint256","nodeType":"ElementaryTypeName","src":"8392:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61649,"initialValue":{"arguments":[{"id":61645,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8426:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8434:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8437:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61644,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"8410:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8389:50:94"},{"assignments":[61654],"declarations":[{"constant":false,"id":61654,"mutability":"mutable","name":"proposal","nameLocation":"8483:8:94","nodeType":"VariableDeclaration","scope":61694,"src":"8450:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":61653,"nodeType":"UserDefinedTypeName","pathNode":{"id":61652,"name":"CVStrategy.CreateProposal","nameLocations":["8450:10:94","8461:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"8450:25:94"},"referencedDeclaration":57786,"src":"8450:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":61667,"initialValue":{"arguments":[{"hexValue":"31","id":61657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8533:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":61658,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61643,"src":"8536:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61659,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"8544:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":61661,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8558:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8569:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"8558:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":61663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8582:9:94","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":57769,"src":"8558:33:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":61664,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"8593:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61665,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8611:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61655,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8494:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8505:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"8494:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":61666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:133:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"8450:177:94"},{"assignments":[61669],"declarations":[{"constant":false,"id":61669,"mutability":"mutable","name":"data","nameLocation":"8650:4:94","nodeType":"VariableDeclaration","scope":61694,"src":"8637:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61668,"name":"bytes","nodeType":"ElementaryTypeName","src":"8637:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61674,"initialValue":{"arguments":[{"id":61672,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61654,"src":"8668:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":61670,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8657:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8661:6:94","memberName":"encode","nodeType":"MemberAccess","src":"8657:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8637:40:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":61680,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"8726:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8737:22:94","memberName":"ProposalIdAlreadyExist","nodeType":"MemberAccess","referencedDeclaration":57740,"src":"8726:33:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":61682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8760:8:94","memberName":"selector","nodeType":"MemberAccess","src":"8726:42:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":61683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8770:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8703:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8707:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8703:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":61684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8703:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":61675,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"8687:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":61677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8690:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"8687:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":61685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8687:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61686,"nodeType":"ExpressionStatement","src":"8687:86:94"},{"expression":{"arguments":[{"id":61690,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61643,"src":"8808:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61691,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61669,"src":"8816:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61687,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"8783:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"8783:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":61692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61693,"nodeType":"ExpressionStatement","src":"8783:38:94"}]},"functionSelector":"9a45ff89","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_registerRecipient_ProposalIdAlreadyExist","nameLocation":"8318:51:94","parameters":{"id":61640,"nodeType":"ParameterList","parameters":[],"src":"8369:2:94"},"returnParameters":{"id":61641,"nodeType":"ParameterList","parameters":[],"src":"8379:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":61855,"nodeType":"FunctionDefinition","src":"8834:1541:94","nodes":[],"body":{"id":61854,"nodeType":"Block","src":"8890:1485:94","nodes":[],"statements":[{"assignments":[61702,61704],"declarations":[{"constant":false,"id":61702,"mutability":"mutable","name":"pool","nameLocation":"8919:4:94","nodeType":"VariableDeclaration","scope":61854,"src":"8901:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61701,"nodeType":"UserDefinedTypeName","pathNode":{"id":61700,"name":"IAllo.Pool","nameLocations":["8901:5:94","8907:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"8901:10:94"},"referencedDeclaration":2319,"src":"8901:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61704,"mutability":"mutable","name":"poolId","nameLocation":"8933:6:94","nodeType":"VariableDeclaration","scope":61854,"src":"8925:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61703,"name":"uint256","nodeType":"ElementaryTypeName","src":"8925:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61710,"initialValue":{"arguments":[{"id":61706,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8959:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8967:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8970:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61705,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"8943:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8943:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8900:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9044:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61711,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"9026:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9026:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61714,"nodeType":"ExpressionStatement","src":"9026:39:94"},{"assignments":[61720],"declarations":[{"constant":false,"id":61720,"mutability":"mutable","name":"votes","nameLocation":"9111:5:94","nodeType":"VariableDeclaration","scope":61854,"src":"9075:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61718,"nodeType":"UserDefinedTypeName","pathNode":{"id":61717,"name":"CVStrategy.ProposalSupport","nameLocations":["9075:10:94","9086:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9075:26:94"},"referencedDeclaration":57829,"src":"9075:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61719,"nodeType":"ArrayTypeName","src":"9075:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61727,"initialValue":{"arguments":[{"hexValue":"31","id":61725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9152:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9119:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61722,"nodeType":"UserDefinedTypeName","pathNode":{"id":61721,"name":"CVStrategy.ProposalSupport","nameLocations":["9123:10:94","9134:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9123:26:94"},"referencedDeclaration":57829,"src":"9123:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61723,"nodeType":"ArrayTypeName","src":"9123:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9075:79:94"},{"expression":{"id":61736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61728,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61720,"src":"9164:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61730,"indexExpression":{"hexValue":"30","id":61729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9170:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9164:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9202:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9205:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61731,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"9175:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9186:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"9175:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"9164:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61737,"nodeType":"ExpressionStatement","src":"9164:44:94"},{"assignments":[61739],"declarations":[{"constant":false,"id":61739,"mutability":"mutable","name":"data","nameLocation":"9271:4:94","nodeType":"VariableDeclaration","scope":61854,"src":"9258:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61738,"name":"bytes","nodeType":"ElementaryTypeName","src":"9258:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61744,"initialValue":{"arguments":[{"id":61742,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61720,"src":"9289:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9278:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9282:6:94","memberName":"encode","nodeType":"MemberAccess","src":"9278:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9278:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9258:37:94"},{"expression":{"arguments":[{"id":61748,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61704,"src":"9322:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61749,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"9330:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61745,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"9306:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9313:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"9306:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61751,"nodeType":"ExpressionStatement","src":"9306:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61752,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"9346:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61754,"nodeType":"ExpressionStatement","src":"9346:18:94"},{"assignments":[61756],"declarations":[{"constant":false,"id":61756,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"9382:13:94","nodeType":"VariableDeclaration","scope":61854,"src":"9374:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61755,"name":"uint256","nodeType":"ElementaryTypeName","src":"9374:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61762,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":61757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9398:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":61758,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"9403:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9398:18:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":61760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9419:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9398:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9374:48:94"},{"assignments":[61765],"declarations":[{"constant":false,"id":61765,"mutability":"mutable","name":"cv","nameLocation":"9443:2:94","nodeType":"VariableDeclaration","scope":61854,"src":"9432:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61764,"nodeType":"UserDefinedTypeName","pathNode":{"id":61763,"name":"CVStrategy","nameLocations":["9432:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"9432:10:94"},"referencedDeclaration":59653,"src":"9432:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61776,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61771,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61702,"src":"9475:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61772,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9480:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"9475:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9467:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61769,"name":"address","nodeType":"ElementaryTypeName","src":"9467:7:94","typeDescriptions":{}}},"id":61773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9467:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9459:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61767,"name":"address","nodeType":"ElementaryTypeName","src":"9459:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9459:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61766,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"9448:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"9432:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9535:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61783,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9546:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":61782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9538:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61781,"name":"address","nodeType":"ElementaryTypeName","src":"9538:7:94","typeDescriptions":{}}},"id":61784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9538:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61778,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"9510:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9513:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"9510:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9510:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61786,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"9554:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61777,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9501:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61788,"nodeType":"ExpressionStatement","src":"9501:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9632:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61790,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"9605:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9608:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"9605:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9605:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61794,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"9636:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61789,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9596:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61796,"nodeType":"ExpressionStatement","src":"9596:54:94"},{"assignments":[61802],"declarations":[{"constant":false,"id":61802,"mutability":"mutable","name":"votes2","nameLocation":"9956:6:94","nodeType":"VariableDeclaration","scope":61854,"src":"9920:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61800,"nodeType":"UserDefinedTypeName","pathNode":{"id":61799,"name":"CVStrategy.ProposalSupport","nameLocations":["9920:10:94","9931:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9920:26:94"},"referencedDeclaration":57829,"src":"9920:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61801,"nodeType":"ArrayTypeName","src":"9920:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":61809,"initialValue":{"arguments":[{"hexValue":"31","id":61807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9998:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9965:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61804,"nodeType":"UserDefinedTypeName","pathNode":{"id":61803,"name":"CVStrategy.ProposalSupport","nameLocations":["9969:10:94","9980:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"9969:26:94"},"referencedDeclaration":57829,"src":"9969:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61805,"nodeType":"ArrayTypeName","src":"9969:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9965:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9920:80:94"},{"expression":{"id":61818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61810,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61802,"src":"10010:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61812,"indexExpression":{"hexValue":"30","id":61811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10017:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10010:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10049:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":61816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:94","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":61813,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10022:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10033:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"10022:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10022:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10010:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61819,"nodeType":"ExpressionStatement","src":"10010:45:94"},{"expression":{"id":61825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61820,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"10065:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61823,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61802,"src":"10083:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10072:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10076:6:94","memberName":"encode","nodeType":"MemberAccess","src":"10072:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10072:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"10065:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":61826,"nodeType":"ExpressionStatement","src":"10065:25:94"},{"expression":{"arguments":[{"id":61830,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61704,"src":"10167:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61831,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61739,"src":"10175:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61827,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"10151:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10158:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"10151:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61833,"nodeType":"ExpressionStatement","src":"10151:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10252:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61840,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10263:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":61839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10255:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61838,"name":"address","nodeType":"ElementaryTypeName","src":"10255:7:94","typeDescriptions":{}}},"id":61841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61835,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"10227:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10230:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"10227:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61843,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"10271:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61834,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10218:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10218:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61845,"nodeType":"ExpressionStatement","src":"10218:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10350:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61847,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61765,"src":"10323:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10326:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"10323:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10323:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61851,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"10354:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61846,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10314:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10314:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61853,"nodeType":"ExpressionStatement","src":"10314:54:94"}]},"functionSelector":"d25bba07","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_change_support","nameLocation":"8843:37:94","parameters":{"id":61696,"nodeType":"ParameterList","parameters":[],"src":"8880:2:94"},"returnParameters":{"id":61697,"nodeType":"ParameterList","parameters":[],"src":"8890:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62023,"nodeType":"FunctionDefinition","src":"10381:1258:94","nodes":[],"body":{"id":62022,"nodeType":"Block","src":"10430:1209:94","nodes":[],"statements":[{"assignments":[61862,61864],"declarations":[{"constant":false,"id":61862,"mutability":"mutable","name":"pool","nameLocation":"10459:4:94","nodeType":"VariableDeclaration","scope":62022,"src":"10441:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":61861,"nodeType":"UserDefinedTypeName","pathNode":{"id":61860,"name":"IAllo.Pool","nameLocations":["10441:5:94","10447:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"10441:10:94"},"referencedDeclaration":2319,"src":"10441:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":61864,"mutability":"mutable","name":"poolId","nameLocation":"10473:6:94","nodeType":"VariableDeclaration","scope":62022,"src":"10465:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61863,"name":"uint256","nodeType":"ElementaryTypeName","src":"10465:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61870,"initialValue":{"arguments":[{"id":61866,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"10499:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":61867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10507:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":61868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10510:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61865,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"10483:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":61869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10440:72:94"},{"assignments":[61873],"declarations":[{"constant":false,"id":61873,"mutability":"mutable","name":"cv","nameLocation":"10534:2:94","nodeType":"VariableDeclaration","scope":62022,"src":"10523:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":61872,"nodeType":"UserDefinedTypeName","pathNode":{"id":61871,"name":"CVStrategy","nameLocations":["10523:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"10523:10:94"},"referencedDeclaration":59653,"src":"10523:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":61884,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":61879,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61862,"src":"10566:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":61880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"10566:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":61878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10558:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61877,"name":"address","nodeType":"ElementaryTypeName","src":"10558:7:94","typeDescriptions":{}}},"id":61881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10550:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":61875,"name":"address","nodeType":"ElementaryTypeName","src":"10550:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":61882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":61874,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10539:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"10523:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":61889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10619:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":61888,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10605:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61885,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10593:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10596:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"10593:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61892,"nodeType":"ExpressionStatement","src":"10593:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":61897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10686:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":61896,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10672:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10672:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61893,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10657:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10660:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"10657:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61900,"nodeType":"ExpressionStatement","src":"10657:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":61905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10753:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":61904,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"10739:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61901,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"10726:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10729:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"10726:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":61907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61908,"nodeType":"ExpressionStatement","src":"10726:40:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":61910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10859:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":61909,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"10841:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":61911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61912,"nodeType":"ExpressionStatement","src":"10841:39:94"},{"assignments":[61918],"declarations":[{"constant":false,"id":61918,"mutability":"mutable","name":"votes","nameLocation":"10926:5:94","nodeType":"VariableDeclaration","scope":62022,"src":"10890:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":61916,"nodeType":"UserDefinedTypeName","pathNode":{"id":61915,"name":"CVStrategy.ProposalSupport","nameLocations":["10890:10:94","10901:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"10890:26:94"},"referencedDeclaration":57829,"src":"10890:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61917,"nodeType":"ArrayTypeName","src":"10890:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":61925,"initialValue":{"arguments":[{"hexValue":"31","id":61923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10967:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":61922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10934:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":61920,"nodeType":"UserDefinedTypeName","pathNode":{"id":61919,"name":"CVStrategy.ProposalSupport","nameLocations":["10938:10:94","10949:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"10938:26:94"},"referencedDeclaration":57829,"src":"10938:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":61921,"nodeType":"ArrayTypeName","src":"10938:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":61924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10890:79:94"},{"expression":{"id":61934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61926,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"10979:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":61928,"indexExpression":{"hexValue":"30","id":61927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10985:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10979:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11017:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":61932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":61929,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"10990:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":61930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11001:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"10990:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":61933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10979:44:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":61935,"nodeType":"ExpressionStatement","src":"10979:44:94"},{"assignments":[61937],"declarations":[{"constant":false,"id":61937,"mutability":"mutable","name":"data","nameLocation":"11046:4:94","nodeType":"VariableDeclaration","scope":62022,"src":"11033:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":61936,"name":"bytes","nodeType":"ElementaryTypeName","src":"11033:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":61942,"initialValue":{"arguments":[{"id":61940,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"11064:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":61938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11053:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":61939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11057:6:94","memberName":"encode","nodeType":"MemberAccess","src":"11053:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":61941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11033:37:94"},{"expression":{"arguments":[{"id":61946,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61864,"src":"11096:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61947,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61937,"src":"11104:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61943,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"11080:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":61944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":61945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11087:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"11080:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":61948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61949,"nodeType":"ExpressionStatement","src":"11080:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":61950,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"11119:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":61951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11119:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61952,"nodeType":"ExpressionStatement","src":"11119:18:94"},{"assignments":[61954],"declarations":[{"constant":false,"id":61954,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"11156:13:94","nodeType":"VariableDeclaration","scope":62022,"src":"11148:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61953,"name":"uint256","nodeType":"ElementaryTypeName","src":"11148:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61960,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":61957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":61955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":61956,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"11177:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11172:18:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":61958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11193:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"11172:24:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11148:48:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11240:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":61967,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11251:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":61966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11243:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61965,"name":"address","nodeType":"ElementaryTypeName","src":"11243:7:94","typeDescriptions":{}}},"id":61968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11243:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":61962,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11215:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"11215:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":61969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11215:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61970,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11259:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61961,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11206:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11206:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61972,"nodeType":"ExpressionStatement","src":"11206:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":61976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11319:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":61974,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11292:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11295:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"11292:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":61977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":61978,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11323:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":61973,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11283:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":61979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61980,"nodeType":"ExpressionStatement","src":"11283:54:94"},{"assignments":[61982],"declarations":[{"constant":false,"id":61982,"mutability":"mutable","name":"cv_amount","nameLocation":"11356:9:94","nodeType":"VariableDeclaration","scope":62022,"src":"11348:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61981,"name":"uint256","nodeType":"ElementaryTypeName","src":"11348:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":61989,"initialValue":{"arguments":[{"hexValue":"3130","id":61985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11391:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":61986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11395:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":61987,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11398:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61983,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"11368:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":61984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11371:19:94","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":59246,"src":"11368:22:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":61988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11368:44:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11348:64:94"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":61993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11434:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":61994,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61982,"src":"11451:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":61990,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"11422:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":61992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"11422:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":61995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11422:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":61996,"nodeType":"ExpressionStatement","src":"11422:39:94"},{"assignments":[61998],"declarations":[{"constant":false,"id":61998,"mutability":"mutable","name":"cv_cmp","nameLocation":"11479:6:94","nodeType":"VariableDeclaration","scope":62022,"src":"11471:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61997,"name":"uint256","nodeType":"ElementaryTypeName","src":"11471:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62009,"initialValue":{"arguments":[{"hexValue":"3130","id":62000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11509:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62002,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61954,"src":"11516:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":62007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":62003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11531:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11543:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:2:94","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"11543:8:94","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"11531:20:94","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":61999,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"11488:20:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":62008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11488:64:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11471:81:94"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":62013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11574:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":62014,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"11588:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62010,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"11562:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11570:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"11562:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62016,"nodeType":"ExpressionStatement","src":"11562:33:94"},{"expression":{"arguments":[{"id":62018,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61982,"src":"11614:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62019,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61998,"src":"11625:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62017,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11605:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11605:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62021,"nodeType":"ExpressionStatement","src":"11605:27:94"}]},"functionSelector":"de8a1354","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_function","nameLocation":"10390:30:94","parameters":{"id":61856,"nodeType":"ParameterList","parameters":[],"src":"10420:2:94"},"returnParameters":{"id":61857,"nodeType":"ParameterList","parameters":[],"src":"10430:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62236,"nodeType":"FunctionDefinition","src":"11645:1898:94","nodes":[],"body":{"id":62235,"nodeType":"Block","src":"11696:1847:94","nodes":[],"statements":[{"assignments":[62030,62032],"declarations":[{"constant":false,"id":62030,"mutability":"mutable","name":"pool","nameLocation":"11725:4:94","nodeType":"VariableDeclaration","scope":62235,"src":"11707:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62029,"nodeType":"UserDefinedTypeName","pathNode":{"id":62028,"name":"IAllo.Pool","nameLocations":["11707:5:94","11713:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"11707:10:94"},"referencedDeclaration":2319,"src":"11707:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62032,"mutability":"mutable","name":"poolId","nameLocation":"11739:6:94","nodeType":"VariableDeclaration","scope":62235,"src":"11731:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62031,"name":"uint256","nodeType":"ElementaryTypeName","src":"11731:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62038,"initialValue":{"arguments":[{"id":62034,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"11765:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11773:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11776:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62033,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"11749:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11749:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11706:72:94"},{"assignments":[62041],"declarations":[{"constant":false,"id":62041,"mutability":"mutable","name":"cv","nameLocation":"11800:2:94","nodeType":"VariableDeclaration","scope":62235,"src":"11789:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62040,"nodeType":"UserDefinedTypeName","pathNode":{"id":62039,"name":"CVStrategy","nameLocations":["11789:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"11789:10:94"},"referencedDeclaration":59653,"src":"11789:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62052,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62047,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62030,"src":"11832:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"11832:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11824:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62045,"name":"address","nodeType":"ElementaryTypeName","src":"11824:7:94","typeDescriptions":{}}},"id":62049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11816:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62043,"name":"address","nodeType":"ElementaryTypeName","src":"11816:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11816:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62042,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"11805:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11805:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"11789:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":62057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11885:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":62056,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"11871:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11871:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62053,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11862:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"11859:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62060,"nodeType":"ExpressionStatement","src":"11859:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":62065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":62064,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"11938:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11938:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62061,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11923:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11926:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"11923:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11923:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62068,"nodeType":"ExpressionStatement","src":"11923:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":62073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12019:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":62072,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"12005:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62069,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"11992:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11995:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"11992:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62076,"nodeType":"ExpressionStatement","src":"11992:40:94"},{"assignments":[62078],"declarations":[{"constant":false,"id":62078,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"12071:13:94","nodeType":"VariableDeclaration","scope":62235,"src":"12063:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62077,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62080,"initialValue":{"hexValue":"3435303030","id":62079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12087:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"12063:29:94"},{"expression":{"arguments":[{"arguments":[{"id":62084,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"12199:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12191:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62082,"name":"address","nodeType":"ElementaryTypeName","src":"12191:7:94","typeDescriptions":{}}},"id":62085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12229:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62089,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"12267:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12283:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"12267:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12304:8:94","memberName":"selector","nodeType":"MemberAccess","src":"12267:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62092,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12314:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12244:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12248:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12244:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12244:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62081,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"12167:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12167:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62095,"nodeType":"ExpressionStatement","src":"12167:171:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12409:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62096,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"12391:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12391:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62099,"nodeType":"ExpressionStatement","src":"12391:39:94"},{"assignments":[62105],"declarations":[{"constant":false,"id":62105,"mutability":"mutable","name":"votes","nameLocation":"12476:5:94","nodeType":"VariableDeclaration","scope":62235,"src":"12440:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62103,"nodeType":"UserDefinedTypeName","pathNode":{"id":62102,"name":"CVStrategy.ProposalSupport","nameLocations":["12440:10:94","12451:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"12440:26:94"},"referencedDeclaration":57829,"src":"12440:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62104,"nodeType":"ArrayTypeName","src":"12440:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62112,"initialValue":{"arguments":[{"hexValue":"31","id":62110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12517:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12484:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62107,"nodeType":"UserDefinedTypeName","pathNode":{"id":62106,"name":"CVStrategy.ProposalSupport","nameLocations":["12488:10:94","12499:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"12488:26:94"},"referencedDeclaration":57829,"src":"12488:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62108,"nodeType":"ArrayTypeName","src":"12488:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12484:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12440:79:94"},{"expression":{"id":62121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62113,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62105,"src":"12529:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62115,"indexExpression":{"hexValue":"30","id":62114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12535:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12529:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12567:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12570:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62116,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"12540:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12551:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"12540:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12540:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"12529:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62122,"nodeType":"ExpressionStatement","src":"12529:45:94"},{"assignments":[62124],"declarations":[{"constant":false,"id":62124,"mutability":"mutable","name":"data","nameLocation":"12597:4:94","nodeType":"VariableDeclaration","scope":62235,"src":"12584:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62123,"name":"bytes","nodeType":"ElementaryTypeName","src":"12584:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62129,"initialValue":{"arguments":[{"id":62127,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62105,"src":"12615:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12604:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12608:6:94","memberName":"encode","nodeType":"MemberAccess","src":"12604:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12604:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12584:37:94"},{"expression":{"arguments":[{"id":62133,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62032,"src":"12647:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62134,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62124,"src":"12655:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62130,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"12631:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12638:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"12631:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62136,"nodeType":"ExpressionStatement","src":"12631:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62137,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"12670:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12670:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62139,"nodeType":"ExpressionStatement","src":"12670:18:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12733:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62146,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12744:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":62145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12736:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62144,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:94","typeDescriptions":{}}},"id":62147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12736:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62141,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12708:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12711:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"12708:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62149,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12752:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62140,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12699:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62151,"nodeType":"ExpressionStatement","src":"12699:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12812:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62153,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12785:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12788:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"12785:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12785:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62157,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"12816:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62152,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12776:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12776:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62159,"nodeType":"ExpressionStatement","src":"12776:54:94"},{"assignments":[62161],"declarations":[{"constant":false,"id":62161,"mutability":"mutable","name":"AMOUNT_STAKED_1","nameLocation":"12849:15:94","nodeType":"VariableDeclaration","scope":62235,"src":"12841:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62160,"name":"uint256","nodeType":"ElementaryTypeName","src":"12841:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62163,"initialValue":{"hexValue":"3135303030","id":62162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12867:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"nodeType":"VariableDeclarationStatement","src":"12841:31:94"},{"assignments":[62165],"declarations":[{"constant":false,"id":62165,"mutability":"mutable","name":"cv_amount","nameLocation":"12890:9:94","nodeType":"VariableDeclaration","scope":62235,"src":"12882:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62164,"name":"uint256","nodeType":"ElementaryTypeName","src":"12882:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62172,"initialValue":{"arguments":[{"hexValue":"3130","id":62168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12929:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62170,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"12932:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62166,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"12902:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12905:19:94","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":59246,"src":"12902:22:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":62171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12902:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12882:66:94"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":62176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12971:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":62177,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"12988:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62173,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"12959:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12967:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"12959:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62179,"nodeType":"ExpressionStatement","src":"12959:39:94"},{"assignments":[62181],"declarations":[{"constant":false,"id":62181,"mutability":"mutable","name":"cv_cmp","nameLocation":"13016:6:94","nodeType":"VariableDeclaration","scope":62235,"src":"13008:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62180,"name":"uint256","nodeType":"ElementaryTypeName","src":"13008:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62192,"initialValue":{"arguments":[{"hexValue":"3130","id":62183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13046:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":62184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13050:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62185,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"13053:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":62190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":62186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13070:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13082:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13088:2:94","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"13082:8:94","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"13070:20:94","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":62182,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60834,"src":"13025:20:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":62191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13025:66:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13008:83:94"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":62196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13113:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":62197,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62181,"src":"13127:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62193,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"13101:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13109:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"13101:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13101:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62199,"nodeType":"ExpressionStatement","src":"13101:33:94"},{"expression":{"arguments":[{"id":62201,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"13154:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62202,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62181,"src":"13165:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62200,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13145:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13145:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62204,"nodeType":"ExpressionStatement","src":"13145:27:94"},{"expression":{"arguments":[{"id":62206,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62161,"src":"13191:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3135303030","id":62207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13208:5:94","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"}],"id":62205,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13182:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62209,"nodeType":"ExpressionStatement","src":"13182:32:94"},{"expression":{"arguments":[{"id":62211,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62078,"src":"13233:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":62212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13248:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":62210,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13224:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13224:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62214,"nodeType":"ExpressionStatement","src":"13224:30:94"},{"expression":{"arguments":[{"id":62216,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"13273:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3937363938","id":62217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13284:5:94","typeDescriptions":{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"},"value":"97698"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"}],"id":62215,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13264:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13264:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62219,"nodeType":"ExpressionStatement","src":"13264:26:94"},{"expression":{"arguments":[{"arguments":[{"id":62223,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"13397:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13389:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62221,"name":"address","nodeType":"ElementaryTypeName","src":"13389:7:94","typeDescriptions":{}}},"id":62224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13389:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13427:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62228,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"13465:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13481:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"13465:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13502:8:94","memberName":"selector","nodeType":"MemberAccess","src":"13465:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62231,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"13512:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13442:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13446:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13442:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62220,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"13365:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62234,"nodeType":"ExpressionStatement","src":"13365:171:94"}]},"functionSelector":"90ff95a4","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_as_js_test","nameLocation":"11654:32:94","parameters":{"id":62024,"nodeType":"ParameterList","parameters":[],"src":"11686:2:94"},"returnParameters":{"id":62025,"nodeType":"ParameterList","parameters":[],"src":"11696:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62413,"nodeType":"FunctionDefinition","src":"13549:1626:94","nodes":[],"body":{"id":62412,"nodeType":"Block","src":"13608:1567:94","nodes":[],"statements":[{"assignments":[62243,62245],"declarations":[{"constant":false,"id":62243,"mutability":"mutable","name":"pool","nameLocation":"13637:4:94","nodeType":"VariableDeclaration","scope":62412,"src":"13619:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62242,"nodeType":"UserDefinedTypeName","pathNode":{"id":62241,"name":"IAllo.Pool","nameLocations":["13619:5:94","13625:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13619:10:94"},"referencedDeclaration":2319,"src":"13619:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62245,"mutability":"mutable","name":"poolId","nameLocation":"13651:6:94","nodeType":"VariableDeclaration","scope":62412,"src":"13643:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62244,"name":"uint256","nodeType":"ElementaryTypeName","src":"13643:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62251,"initialValue":{"arguments":[{"id":62247,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"13677:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13685:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13688:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62246,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"13661:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13661:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13618:72:94"},{"assignments":[62254],"declarations":[{"constant":false,"id":62254,"mutability":"mutable","name":"cv","nameLocation":"13712:2:94","nodeType":"VariableDeclaration","scope":62412,"src":"13701:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62253,"nodeType":"UserDefinedTypeName","pathNode":{"id":62252,"name":"CVStrategy","nameLocations":["13701:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"13701:10:94"},"referencedDeclaration":59653,"src":"13701:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62265,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62260,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62243,"src":"13744:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"13744:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13736:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62258,"name":"address","nodeType":"ElementaryTypeName","src":"13736:7:94","typeDescriptions":{}}},"id":62262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13736:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13728:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62256,"name":"address","nodeType":"ElementaryTypeName","src":"13728:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13728:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62255,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"13717:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"13701:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":62270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13797:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":62269,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13783:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13783:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62266,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13771:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13774:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"13771:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13771:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62273,"nodeType":"ExpressionStatement","src":"13771:37:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":62278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13864:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":62277,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13850:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13850:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62274,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13835:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13838:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"13835:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13835:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62281,"nodeType":"ExpressionStatement","src":"13835:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":62286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13931:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":62285,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"13917:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:26:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62282,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"13904:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13907:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"13904:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13904:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62289,"nodeType":"ExpressionStatement","src":"13904:40:94"},{"expression":{"arguments":[{"arguments":[{"id":62293,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"14063:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14055:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62291,"name":"address","nodeType":"ElementaryTypeName","src":"14055:7:94","typeDescriptions":{}}},"id":62294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14055:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14081:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62298,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"14107:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14123:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"14107:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14144:8:94","memberName":"selector","nodeType":"MemberAccess","src":"14107:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":62301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14154:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":62296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14084:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14088:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14084:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14084:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62290,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"14031:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14031:139:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62304,"nodeType":"ExpressionStatement","src":"14031:139:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14241:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62305,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"14223:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62308,"nodeType":"ExpressionStatement","src":"14223:39:94"},{"assignments":[62314],"declarations":[{"constant":false,"id":62314,"mutability":"mutable","name":"votes","nameLocation":"14308:5:94","nodeType":"VariableDeclaration","scope":62412,"src":"14272:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62312,"nodeType":"UserDefinedTypeName","pathNode":{"id":62311,"name":"CVStrategy.ProposalSupport","nameLocations":["14272:10:94","14283:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"14272:26:94"},"referencedDeclaration":57829,"src":"14272:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62313,"nodeType":"ArrayTypeName","src":"14272:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62321,"initialValue":{"arguments":[{"hexValue":"31","id":62319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14349:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14316:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62316,"nodeType":"UserDefinedTypeName","pathNode":{"id":62315,"name":"CVStrategy.ProposalSupport","nameLocations":["14320:10:94","14331:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"14320:26:94"},"referencedDeclaration":57829,"src":"14320:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62317,"nodeType":"ArrayTypeName","src":"14320:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14316:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14272:79:94"},{"expression":{"id":62330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62322,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62314,"src":"14361:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62324,"indexExpression":{"hexValue":"30","id":62323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14367:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14361:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14399:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14402:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62325,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"14372:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14383:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"14372:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14372:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"14361:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62331,"nodeType":"ExpressionStatement","src":"14361:45:94"},{"assignments":[62333],"declarations":[{"constant":false,"id":62333,"mutability":"mutable","name":"data","nameLocation":"14450:4:94","nodeType":"VariableDeclaration","scope":62412,"src":"14437:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62332,"name":"bytes","nodeType":"ElementaryTypeName","src":"14437:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62338,"initialValue":{"arguments":[{"id":62336,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62314,"src":"14468:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:6:94","memberName":"encode","nodeType":"MemberAccess","src":"14457:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14437:37:94"},{"expression":{"arguments":[{"id":62342,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62245,"src":"14500:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62343,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62333,"src":"14508:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62339,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"14484:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14491:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"14484:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62345,"nodeType":"ExpressionStatement","src":"14484:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62346,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"14523:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62348,"nodeType":"ExpressionStatement","src":"14523:18:94"},{"assignments":[62350],"declarations":[{"constant":false,"id":62350,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"14560:13:94","nodeType":"VariableDeclaration","scope":62412,"src":"14552:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62349,"name":"uint256","nodeType":"ElementaryTypeName","src":"14552:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62352,"initialValue":{"hexValue":"3435303030","id":62351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14576:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"14552:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14625:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62359,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14636:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":62358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14628:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62357,"name":"address","nodeType":"ElementaryTypeName","src":"14628:7:94","typeDescriptions":{}}},"id":62360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14628:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62354,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14600:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14603:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"14600:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14600:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62362,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14644:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62353,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14591:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14591:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62364,"nodeType":"ExpressionStatement","src":"14591:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14722:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62366,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14695:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14698:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"14695:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62370,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14726:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62365,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14686:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14686:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62372,"nodeType":"ExpressionStatement","src":"14686:54:94"},{"assignments":[62374],"declarations":[{"constant":false,"id":62374,"mutability":"mutable","name":"ct1","nameLocation":"14777:3:94","nodeType":"VariableDeclaration","scope":62412,"src":"14769:11:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62373,"name":"uint256","nodeType":"ElementaryTypeName","src":"14769:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62379,"initialValue":{"arguments":[{"hexValue":"31303030","id":62377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:4:94","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":62375,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62254,"src":"14783:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14786:18:94","memberName":"calculateThreshold","nodeType":"MemberAccess","referencedDeclaration":59341,"src":"14783:21:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14783:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14769:41:94"},{"expression":{"arguments":[{"hexValue":"7468726573686f6c64202573","id":62383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14832:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},"value":"threshold %s"},{"id":62384,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62374,"src":"14848:3:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62380,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"14820:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14828:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"14820:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14820:32:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62386,"nodeType":"ExpressionStatement","src":"14820:32:94"},{"expression":{"arguments":[{"id":62388,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62350,"src":"14871:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":62389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14886:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":62387,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14862:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14862:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62391,"nodeType":"ExpressionStatement","src":"14862:30:94"},{"expression":{"arguments":[{"id":62393,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62374,"src":"14911:3:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3530363235","id":62394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14916:5:94","typeDescriptions":{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"},"value":"50625"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"}],"id":62392,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14902:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62396,"nodeType":"ExpressionStatement","src":"14902:20:94"},{"expression":{"arguments":[{"arguments":[{"id":62400,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15029:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62398,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:94","typeDescriptions":{}}},"id":62401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15059:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62405,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15097:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15113:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"15097:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15134:8:94","memberName":"selector","nodeType":"MemberAccess","src":"15097:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62408,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"15144:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15074:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15078:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15074:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15074:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62397,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"14997:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14997:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62411,"nodeType":"ExpressionStatement","src":"14997:171:94"}]},"functionSelector":"a6f2b82f","implemented":true,"kind":"function","modifiers":[],"name":"disabled_test_threshold_check_as_js_test","nameLocation":"13558:40:94","parameters":{"id":62237,"nodeType":"ParameterList","parameters":[],"src":"13598:2:94"},"returnParameters":{"id":62238,"nodeType":"ParameterList","parameters":[],"src":"13608:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62590,"nodeType":"FunctionDefinition","src":"15181:1522:94","nodes":[],"body":{"id":62589,"nodeType":"Block","src":"15224:1479:94","nodes":[],"statements":[{"assignments":[62420,62422],"declarations":[{"constant":false,"id":62420,"mutability":"mutable","name":"pool","nameLocation":"15253:4:94","nodeType":"VariableDeclaration","scope":62589,"src":"15235:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62419,"nodeType":"UserDefinedTypeName","pathNode":{"id":62418,"name":"IAllo.Pool","nameLocations":["15235:5:94","15241:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"15235:10:94"},"referencedDeclaration":2319,"src":"15235:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62422,"mutability":"mutable","name":"poolId","nameLocation":"15267:6:94","nodeType":"VariableDeclaration","scope":62589,"src":"15259:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62421,"name":"uint256","nodeType":"ElementaryTypeName","src":"15259:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62428,"initialValue":{"arguments":[{"id":62424,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"15293:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15301:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15304:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62423,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"15277:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15277:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"15234:72:94"},{"expression":{"arguments":[{"arguments":[{"id":62432,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15404:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15396:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62430,"name":"address","nodeType":"ElementaryTypeName","src":"15396:7:94","typeDescriptions":{}}},"id":62433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15396:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15422:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62437,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"15448:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15464:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"15448:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15485:8:94","memberName":"selector","nodeType":"MemberAccess","src":"15448:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":62440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15495:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":62435,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15425:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15429:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15425:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15425:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62429,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"15372:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15372:139:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62443,"nodeType":"ExpressionStatement","src":"15372:139:94"},{"assignments":[62449],"declarations":[{"constant":false,"id":62449,"mutability":"mutable","name":"votes","nameLocation":"15652:5:94","nodeType":"VariableDeclaration","scope":62589,"src":"15616:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62447,"nodeType":"UserDefinedTypeName","pathNode":{"id":62446,"name":"CVStrategy.ProposalSupport","nameLocations":["15616:10:94","15627:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"15616:26:94"},"referencedDeclaration":57829,"src":"15616:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62448,"nodeType":"ArrayTypeName","src":"15616:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":62456,"initialValue":{"arguments":[{"hexValue":"31","id":62454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15693:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15660:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62451,"nodeType":"UserDefinedTypeName","pathNode":{"id":62450,"name":"CVStrategy.ProposalSupport","nameLocations":["15664:10:94","15675:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"15664:26:94"},"referencedDeclaration":57829,"src":"15664:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62452,"nodeType":"ArrayTypeName","src":"15664:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15660:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15616:79:94"},{"expression":{"id":62465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62457,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"15705:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62459,"indexExpression":{"hexValue":"30","id":62458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15711:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15705:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15743:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15746:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62460,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"15716:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15727:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"15716:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15716:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"15705:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62466,"nodeType":"ExpressionStatement","src":"15705:45:94"},{"assignments":[62468],"declarations":[{"constant":false,"id":62468,"mutability":"mutable","name":"data","nameLocation":"15773:4:94","nodeType":"VariableDeclaration","scope":62589,"src":"15760:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62467,"name":"bytes","nodeType":"ElementaryTypeName","src":"15760:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62473,"initialValue":{"arguments":[{"id":62471,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"15791:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62469,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15780:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15784:6:94","memberName":"encode","nodeType":"MemberAccess","src":"15780:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15780:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15760:37:94"},{"expression":{"arguments":[{"id":62477,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62422,"src":"15823:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62478,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"15831:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62474,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"15807:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15814:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"15807:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62480,"nodeType":"ExpressionStatement","src":"15807:29:94"},{"assignments":[62482],"declarations":[{"constant":false,"id":62482,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"15886:13:94","nodeType":"VariableDeclaration","scope":62589,"src":"15878:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62481,"name":"uint256","nodeType":"ElementaryTypeName","src":"15878:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62484,"initialValue":{"hexValue":"3435303030","id":62483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:5:94","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"15878:29:94"},{"assignments":[62487],"declarations":[{"constant":false,"id":62487,"mutability":"mutable","name":"cv","nameLocation":"15928:2:94","nodeType":"VariableDeclaration","scope":62589,"src":"15917:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62486,"nodeType":"UserDefinedTypeName","pathNode":{"id":62485,"name":"CVStrategy","nameLocations":["15917:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"15917:10:94"},"referencedDeclaration":59653,"src":"15917:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62498,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62493,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62420,"src":"15960:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"15960:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15952:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62491,"name":"address","nodeType":"ElementaryTypeName","src":"15952:7:94","typeDescriptions":{}}},"id":62495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15952:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15944:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62489,"name":"address","nodeType":"ElementaryTypeName","src":"15944:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15944:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62488,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"15933:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"15917:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62505,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16031:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":62504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16023:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62503,"name":"address","nodeType":"ElementaryTypeName","src":"16023:7:94","typeDescriptions":{}}},"id":62506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16023:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62500,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"15995:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15998:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"15995:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15995:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62508,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"16039:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62499,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"15986:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15986:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62510,"nodeType":"ExpressionStatement","src":"15986:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16099:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62512,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16072:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16075:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"16072:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16072:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62516,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"16103:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62511,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"16063:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16063:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62518,"nodeType":"ExpressionStatement","src":"16063:54:94"},{"expression":{"id":62528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62519,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"16128:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62521,"indexExpression":{"hexValue":"30","id":62520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16128:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16166:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"16169:4:94","subExpression":{"hexValue":"313030","id":62525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16170:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62522,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"16139:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16150:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"16139:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"16128:46:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62529,"nodeType":"ExpressionStatement","src":"16128:46:94"},{"expression":{"id":62535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62530,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"16184:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62533,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62449,"src":"16202:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16191:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16195:6:94","memberName":"encode","nodeType":"MemberAccess","src":"16191:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"16184:24:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62536,"nodeType":"ExpressionStatement","src":"16184:24:94"},{"expression":{"arguments":[{"id":62540,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62422,"src":"16234:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62541,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62468,"src":"16242:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62537,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"16218:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"16218:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62543,"nodeType":"ExpressionStatement","src":"16218:29:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16292:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62550,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16303:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":62549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16295:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62548,"name":"address","nodeType":"ElementaryTypeName","src":"16295:7:94","typeDescriptions":{}}},"id":62551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16295:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62545,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16267:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16270:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"16267:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16267:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16311:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65","id":62554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16314:12:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""},"value":"VoterStake"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""}],"id":62544,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16258:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16258:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62556,"nodeType":"ExpressionStatement","src":"16258:69:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16373:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62558,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16346:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"16346:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16346:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16377:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"5374616b6564416d6f756e74","id":62563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16380:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""},"value":"StakedAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""}],"id":62557,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16337:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16337:58:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62565,"nodeType":"ExpressionStatement","src":"16337:58:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62567,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"16415:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16418:11:94","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":57867,"src":"16415:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16415:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16433:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564","id":62571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16436:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""},"value":"TotalStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""}],"id":62566,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16406:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:44:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62573,"nodeType":"ExpressionStatement","src":"16406:44:94"},{"expression":{"arguments":[{"arguments":[{"id":62577,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"16557:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":62576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16549:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62575,"name":"address","nodeType":"ElementaryTypeName","src":"16549:7:94","typeDescriptions":{}}},"id":62578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16549:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16587:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":62582,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"16625:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":62583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16641:20:94","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60397,"src":"16625:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16662:8:94","memberName":"selector","nodeType":"MemberAccess","src":"16625:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":62585,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"16672:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62580,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16602:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16606:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16602:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:84:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":62574,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"16525:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":62587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16525:171:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62588,"nodeType":"ExpressionStatement","src":"16525:171:94"}]},"functionSelector":"61164d4e","implemented":true,"kind":"function","modifiers":[],"name":"test_total_staked_amount","nameLocation":"15190:24:94","parameters":{"id":62414,"nodeType":"ParameterList","parameters":[],"src":"15214:2:94"},"returnParameters":{"id":62415,"nodeType":"ParameterList","parameters":[],"src":"15224:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62689,"nodeType":"FunctionDefinition","src":"16709:866:94","nodes":[],"body":{"id":62688,"nodeType":"Block","src":"16769:806:94","nodes":[],"statements":[{"assignments":[62597,62599],"declarations":[{"constant":false,"id":62597,"mutability":"mutable","name":"pool","nameLocation":"16798:4:94","nodeType":"VariableDeclaration","scope":62688,"src":"16780:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62596,"nodeType":"UserDefinedTypeName","pathNode":{"id":62595,"name":"IAllo.Pool","nameLocations":["16780:5:94","16786:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"16780:10:94"},"referencedDeclaration":2319,"src":"16780:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62599,"mutability":"mutable","name":"poolId","nameLocation":"16812:6:94","nodeType":"VariableDeclaration","scope":62688,"src":"16804:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62598,"name":"uint256","nodeType":"ElementaryTypeName","src":"16804:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62605,"initialValue":{"arguments":[{"id":62601,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16838:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16846:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16849:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62600,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"16822:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16779:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16934:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62606,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"16916:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62609,"nodeType":"ExpressionStatement","src":"16916:39:94"},{"assignments":[62615],"declarations":[{"constant":false,"id":62615,"mutability":"mutable","name":"votes","nameLocation":"17001:5:94","nodeType":"VariableDeclaration","scope":62688,"src":"16965:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62613,"nodeType":"UserDefinedTypeName","pathNode":{"id":62612,"name":"CVStrategy.ProposalSupport","nameLocations":["16965:10:94","16976:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"16965:26:94"},"referencedDeclaration":57829,"src":"16965:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62614,"nodeType":"ArrayTypeName","src":"16965:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62622,"initialValue":{"arguments":[{"hexValue":"32","id":62620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17042:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17009:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62617,"nodeType":"UserDefinedTypeName","pathNode":{"id":62616,"name":"CVStrategy.ProposalSupport","nameLocations":["17013:10:94","17024:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"17013:26:94"},"referencedDeclaration":57829,"src":"17013:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62618,"nodeType":"ArrayTypeName","src":"17013:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17009:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16965:79:94"},{"expression":{"id":62631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62623,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17054:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62625,"indexExpression":{"hexValue":"30","id":62624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17060:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17054:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17092:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":62629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17095:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":62626,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17065:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17076:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"17065:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:34:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"17054:45:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62632,"nodeType":"ExpressionStatement","src":"17054:45:94"},{"expression":{"baseExpression":{"id":62633,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17109:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62635,"indexExpression":{"hexValue":"31","id":62634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17115:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17109:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62636,"nodeType":"ExpressionStatement","src":"17109:8:94"},{"assignments":[62638],"declarations":[{"constant":false,"id":62638,"mutability":"mutable","name":"data","nameLocation":"17140:4:94","nodeType":"VariableDeclaration","scope":62688,"src":"17127:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62637,"name":"bytes","nodeType":"ElementaryTypeName","src":"17127:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62643,"initialValue":{"arguments":[{"id":62641,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62615,"src":"17158:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17147:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17151:6:94","memberName":"encode","nodeType":"MemberAccess","src":"17147:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17127:37:94"},{"expression":{"arguments":[{"id":62647,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62599,"src":"17296:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62648,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62638,"src":"17304:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62644,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"17280:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17287:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"17280:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62650,"nodeType":"ExpressionStatement","src":"17280:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62651,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"17319:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17319:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62653,"nodeType":"ExpressionStatement","src":"17319:18:94"},{"assignments":[62656],"declarations":[{"constant":false,"id":62656,"mutability":"mutable","name":"cv","nameLocation":"17359:2:94","nodeType":"VariableDeclaration","scope":62688,"src":"17348:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62655,"nodeType":"UserDefinedTypeName","pathNode":{"id":62654,"name":"CVStrategy","nameLocations":["17348:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"17348:10:94"},"referencedDeclaration":59653,"src":"17348:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62667,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62662,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62597,"src":"17391:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62663,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17396:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17391:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17383:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62660,"name":"address","nodeType":"ElementaryTypeName","src":"17383:7:94","typeDescriptions":{}}},"id":62664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17383:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17375:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62658,"name":"address","nodeType":"ElementaryTypeName","src":"17375:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17375:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62657,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17364:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17364:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17348:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17452:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62674,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17463:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":62673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17455:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62672,"name":"address","nodeType":"ElementaryTypeName","src":"17455:7:94","typeDescriptions":{}}},"id":62675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62669,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62656,"src":"17427:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17430:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"17427:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17427:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62677,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"17471:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62668,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17418:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62679,"nodeType":"ExpressionStatement","src":"17418:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17550:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62681,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62656,"src":"17523:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17526:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"17523:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62685,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"17554:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62680,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17514:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17514:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62687,"nodeType":"ExpressionStatement","src":"17514:54:94"}]},"functionSelector":"39b7e525","implemented":true,"kind":"function","modifiers":[],"name":"test_allocate_proposalSupport_empty_array","nameLocation":"16718:41:94","parameters":{"id":62591,"nodeType":"ParameterList","parameters":[],"src":"16759:2:94"},"returnParameters":{"id":62592,"nodeType":"ParameterList","parameters":[],"src":"16769:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63071,"nodeType":"FunctionDefinition","src":"17581:3967:94","nodes":[],"body":{"id":63070,"nodeType":"Block","src":"17651:3897:94","nodes":[],"statements":[{"assignments":[62696,62698],"declarations":[{"constant":false,"id":62696,"mutability":"mutable","name":"pool","nameLocation":"17680:4:94","nodeType":"VariableDeclaration","scope":63070,"src":"17662:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62695,"nodeType":"UserDefinedTypeName","pathNode":{"id":62694,"name":"IAllo.Pool","nameLocations":["17662:5:94","17668:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"17662:10:94"},"referencedDeclaration":2319,"src":"17662:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62698,"mutability":"mutable","name":"poolId","nameLocation":"17694:6:94","nodeType":"VariableDeclaration","scope":63070,"src":"17686:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62697,"name":"uint256","nodeType":"ElementaryTypeName","src":"17686:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62707,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":62702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17728:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17720:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62700,"name":"address","nodeType":"ElementaryTypeName","src":"17720:7:94","typeDescriptions":{}}},"id":62703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3530","id":62704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17732:8:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50"},{"hexValue":"315f303030","id":62705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17742:11:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":62699,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"17704:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17704:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"17661:93:94"},{"assignments":[62710],"declarations":[{"constant":false,"id":62710,"mutability":"mutable","name":"cv","nameLocation":"17776:2:94","nodeType":"VariableDeclaration","scope":63070,"src":"17765:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":62709,"nodeType":"UserDefinedTypeName","pathNode":{"id":62708,"name":"CVStrategy","nameLocations":["17765:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"17765:10:94"},"referencedDeclaration":59653,"src":"17765:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62721,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62716,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62696,"src":"17808:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62717,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17813:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17808:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17800:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62714,"name":"address","nodeType":"ElementaryTypeName","src":"17800:7:94","typeDescriptions":{}}},"id":62718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17800:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17792:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62712,"name":"address","nodeType":"ElementaryTypeName","src":"17792:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":62719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17792:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62711,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"17781:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17781:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17765:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":62726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18110:15:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":62725,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18096:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18096:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62722,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18084:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18087:8:94","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":59608,"src":"18084:11:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18084:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62729,"nodeType":"ExpressionStatement","src":"18084:43:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":62734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18183:9:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":62733,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18169:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18169:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62730,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18154:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18157:11:94","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":59622,"src":"18154:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18154:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62737,"nodeType":"ExpressionStatement","src":"18154:40:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":62742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18250:12:94","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":62741,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60680,"src":"18236:13:94","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":62743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18236:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62738,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18223:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18226:9:94","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":59636,"src":"18223:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18223:41:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62745,"nodeType":"ExpressionStatement","src":"18223:41:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18367:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62746,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"18349:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18349:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62749,"nodeType":"ExpressionStatement","src":"18349:39:94"},{"assignments":[62751],"declarations":[{"constant":false,"id":62751,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"18405:11:94","nodeType":"VariableDeclaration","scope":63070,"src":"18398:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62750,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":62753,"initialValue":{"hexValue":"313030","id":62752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18419:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"18398:24:94"},{"assignments":[62759],"declarations":[{"constant":false,"id":62759,"mutability":"mutable","name":"votes","nameLocation":"18468:5:94","nodeType":"VariableDeclaration","scope":63070,"src":"18432:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62757,"nodeType":"UserDefinedTypeName","pathNode":{"id":62756,"name":"CVStrategy.ProposalSupport","nameLocations":["18432:10:94","18443:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"18432:26:94"},"referencedDeclaration":57829,"src":"18432:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62758,"nodeType":"ArrayTypeName","src":"18432:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62766,"initialValue":{"arguments":[{"hexValue":"31","id":62764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18509:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18476:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62761,"nodeType":"UserDefinedTypeName","pathNode":{"id":62760,"name":"CVStrategy.ProposalSupport","nameLocations":["18480:10:94","18491:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"18480:26:94"},"referencedDeclaration":57829,"src":"18480:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62762,"nodeType":"ArrayTypeName","src":"18480:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18476:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18432:79:94"},{"expression":{"id":62775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62767,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62759,"src":"18521:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62769,"indexExpression":{"hexValue":"30","id":62768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18527:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18521:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18559:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62773,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62751,"src":"18562:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":62770,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"18532:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18543:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"18532:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18532:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"18521:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62776,"nodeType":"ExpressionStatement","src":"18521:53:94"},{"assignments":[62778],"declarations":[{"constant":false,"id":62778,"mutability":"mutable","name":"data","nameLocation":"18618:4:94","nodeType":"VariableDeclaration","scope":63070,"src":"18605:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62777,"name":"bytes","nodeType":"ElementaryTypeName","src":"18605:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62783,"initialValue":{"arguments":[{"id":62781,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62759,"src":"18636:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18625:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18629:6:94","memberName":"encode","nodeType":"MemberAccess","src":"18625:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18625:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18605:37:94"},{"expression":{"arguments":[{"id":62787,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"18668:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62788,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"18676:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62784,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"18652:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18659:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"18652:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62790,"nodeType":"ExpressionStatement","src":"18652:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62791,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"18691:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62793,"nodeType":"ExpressionStatement","src":"18691:18:94"},{"assignments":[62795],"declarations":[{"constant":false,"id":62795,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"18728:13:94","nodeType":"VariableDeclaration","scope":63070,"src":"18720:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62794,"name":"uint256","nodeType":"ElementaryTypeName","src":"18720:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62804,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62798,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62751,"src":"18752:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18744:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":62796,"name":"uint256","nodeType":"ElementaryTypeName","src":"18744:7:94","typeDescriptions":{}}},"id":62799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18744:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62800,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"18767:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18744:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":62802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18783:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"18744:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18720:66:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18830:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62811,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18841:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":62810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18833:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62809,"name":"address","nodeType":"ElementaryTypeName","src":"18833:7:94","typeDescriptions":{}}},"id":62812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62806,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18805:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18808:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"18805:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18805:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62814,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"18849:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62805,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18796:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18796:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62816,"nodeType":"ExpressionStatement","src":"18796:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18927:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62818,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"18900:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18903:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"18900:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18900:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62822,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"18931:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62817,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18891:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18891:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62824,"nodeType":"ExpressionStatement","src":"18891:54:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62828,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19042:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19042:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62825,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19028:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19031:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"19028:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19028:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62831,"nodeType":"ExpressionStatement","src":"19028:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62832,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19158:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19161:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"19158:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19158:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62836,"nodeType":"ExpressionStatement","src":"19158:19:94"},{"assignments":[62842],"declarations":[{"constant":false,"id":62842,"mutability":"mutable","name":"votes2","nameLocation":"19224:6:94","nodeType":"VariableDeclaration","scope":63070,"src":"19188:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62840,"nodeType":"UserDefinedTypeName","pathNode":{"id":62839,"name":"CVStrategy.ProposalSupport","nameLocations":["19188:10:94","19199:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"19188:26:94"},"referencedDeclaration":57829,"src":"19188:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62841,"nodeType":"ArrayTypeName","src":"19188:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62849,"initialValue":{"arguments":[{"hexValue":"31","id":62847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19266:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19233:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62844,"nodeType":"UserDefinedTypeName","pathNode":{"id":62843,"name":"CVStrategy.ProposalSupport","nameLocations":["19237:10:94","19248:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"19237:26:94"},"referencedDeclaration":57829,"src":"19237:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62845,"nodeType":"ArrayTypeName","src":"19237:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19233:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19188:80:94"},{"assignments":[62851],"declarations":[{"constant":false,"id":62851,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"19285:12:94","nodeType":"VariableDeclaration","scope":63070,"src":"19278:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":62850,"name":"int256","nodeType":"ElementaryTypeName","src":"19278:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":62853,"initialValue":{"hexValue":"313030","id":62852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19300:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"19278:25:94"},{"expression":{"id":62862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62854,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62842,"src":"19313:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62856,"indexExpression":{"hexValue":"30","id":62855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19320:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19313:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19352:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62860,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62851,"src":"19355:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":62857,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"19325:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":62858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19336:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"19325:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19325:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"19313:55:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62863,"nodeType":"ExpressionStatement","src":"19313:55:94"},{"expression":{"id":62869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62864,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"19378:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62867,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62842,"src":"19396:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62865,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19385:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19389:6:94","memberName":"encode","nodeType":"MemberAccess","src":"19385:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19385:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19378:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":62870,"nodeType":"ExpressionStatement","src":"19378:25:94"},{"expression":{"arguments":[{"id":62874,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62698,"src":"19480:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62875,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62778,"src":"19488:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62871,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"19464:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19471:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"19464:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62877,"nodeType":"ExpressionStatement","src":"19464:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19503:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19506:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"19503:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19503:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62882,"nodeType":"ExpressionStatement","src":"19503:14:94"},{"assignments":[62884],"declarations":[{"constant":false,"id":62884,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"19536:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"19528:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62883,"name":"uint256","nodeType":"ElementaryTypeName","src":"19528:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62893,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":62887,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62851,"src":"19561:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":62886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19553:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":62885,"name":"uint256","nodeType":"ElementaryTypeName","src":"19553:7:94","typeDescriptions":{}}},"id":62888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19553:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62889,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"19577:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19553:37:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":62891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19593:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"19553:43:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19528:68:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19641:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62900,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19652:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19652:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19644:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62898,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:94","typeDescriptions":{}}},"id":62902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19644:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62895,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19616:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19619:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"19616:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62904,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62884,"src":"19668:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62894,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19607:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19607:76:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62906,"nodeType":"ExpressionStatement","src":"19607:76:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19748:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62908,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19721:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19724:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"19721:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19721:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62912,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62795,"src":"19752:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62913,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62884,"src":"19768:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19752:30:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62907,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19712:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":62915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19712:71:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62916,"nodeType":"ExpressionStatement","src":"19712:71:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":62920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19860:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":62921,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"19883:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":62922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19889:6:94","memberName":"number","nodeType":"MemberAccess","src":"19883:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62917,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"19848:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19856:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"19848:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19848:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62924,"nodeType":"ExpressionStatement","src":"19848:48:94"},{"assignments":[62926],"declarations":[{"constant":false,"id":62926,"mutability":"mutable","name":"totalEffectiveActivePoints","nameLocation":"19914:26:94","nodeType":"VariableDeclaration","scope":63070,"src":"19906:34:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62925,"name":"uint256","nodeType":"ElementaryTypeName","src":"19906:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62930,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62927,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"19943:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19946:26:94","memberName":"totalEffectiveActivePoints","nodeType":"MemberAccess","referencedDeclaration":59478,"src":"19943:29:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19943:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19906:68:94"},{"expression":{"arguments":[{"hexValue":"746f74616c456666656374697665416374697665506f696e7473","id":62934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19996:28:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},"value":"totalEffectiveActivePoints"},{"id":62935,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20026:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62931,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"19984:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19992:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"19984:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62937,"nodeType":"ExpressionStatement","src":"19984:69:94"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":62941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20075:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"id":62944,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20110:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62942,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20090:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20093:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20090:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20090:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62938,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20063:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20071:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20063:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:75:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62947,"nodeType":"ExpressionStatement","src":"20063:75:94"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":62951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20160:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":62956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20222:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62954,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20195:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20198:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"20195:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20195:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62952,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20175:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20178:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20175:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20175:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62948,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20148:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20156:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20148:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20148:78:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62960,"nodeType":"ExpressionStatement","src":"20148:78:94"},{"expression":{"arguments":[{"arguments":[{"id":62964,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62926,"src":"20266:26:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62962,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20246:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20249:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20246:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"323839303334","id":62966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20295:6:94","typeDescriptions":{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},"value":"289034"},{"hexValue":"6d61784356537570706c79","id":62967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20303:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""}],"id":62961,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20237:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20237:80:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62969,"nodeType":"ExpressionStatement","src":"20237:80:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"31","id":62975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20383:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62973,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20356:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20359:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"20356:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62971,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20336:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20339:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"20336:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":62977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20336:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3238393033","id":62978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20388:5:94","typeDescriptions":{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},"value":"28903"},{"hexValue":"6d617843565374616b6564","id":62979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20395:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""}],"id":62970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20327:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20327:82:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62981,"nodeType":"ExpressionStatement","src":"20327:82:94"},{"expression":{"arguments":[{"hexValue":"313130","id":62985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20428:3:94","typeDescriptions":{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"},"value":"110"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"}],"expression":{"id":62982,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"20420:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":62984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20423:4:94","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23810,"src":"20420:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20420:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62987,"nodeType":"ExpressionStatement","src":"20420:12:94"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":62991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20454:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":62992,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20476:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":62993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20482:6:94","memberName":"number","nodeType":"MemberAccess","src":"20476:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62988,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"20442:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":62990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20450:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"20442:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":62994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20442:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62995,"nodeType":"ExpressionStatement","src":"20442:47:94"},{"expression":{"arguments":[{"hexValue":"31","id":62999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20774:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":62996,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"20746:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":62998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20749:24:94","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":59576,"src":"20746:27:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":63000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20746:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63001,"nodeType":"ExpressionStatement","src":"20746:30:94"},{"assignments":[null,null,null,63003,63005,null,null,null,63007,null,63009,63011],"declarations":[null,null,null,{"constant":false,"id":63003,"mutability":"mutable","name":"requestedAmount","nameLocation":"20851:15:94","nodeType":"VariableDeclaration","scope":63070,"src":"20843:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63002,"name":"uint256","nodeType":"ElementaryTypeName","src":"20843:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63005,"mutability":"mutable","name":"stakedTokens","nameLocation":"20888:12:94","nodeType":"VariableDeclaration","scope":63070,"src":"20880:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63004,"name":"uint256","nodeType":"ElementaryTypeName","src":"20880:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":63007,"mutability":"mutable","name":"convictionLast","nameLocation":"20964:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"20956:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63006,"name":"uint256","nodeType":"ElementaryTypeName","src":"20956:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63009,"mutability":"mutable","name":"threshold","nameLocation":"21014:9:94","nodeType":"VariableDeclaration","scope":63070,"src":"21006:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63008,"name":"uint256","nodeType":"ElementaryTypeName","src":"21006:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63011,"mutability":"mutable","name":"voterPointsPct","nameLocation":"21045:14:94","nodeType":"VariableDeclaration","scope":63070,"src":"21037:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63010,"name":"uint256","nodeType":"ElementaryTypeName","src":"21037:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63016,"initialValue":{"arguments":[{"hexValue":"31","id":63014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21087:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63012,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62710,"src":"21072:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21075:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"21072:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20787:302:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21112:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63021,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63003,"src":"21136:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63017,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21100:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21108:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21100:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21100:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63023,"nodeType":"ExpressionStatement","src":"21100:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21174:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63028,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63005,"src":"21195:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63024,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21162:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21170:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21162:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21162:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63030,"nodeType":"ExpressionStatement","src":"21162:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21230:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63035,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63009,"src":"21247:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63031,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21218:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21226:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21218:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21218:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63037,"nodeType":"ExpressionStatement","src":"21218:39:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21279:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63042,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63007,"src":"21302:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63038,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21267:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21275:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21267:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21267:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63044,"nodeType":"ExpressionStatement","src":"21267:50:94"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":63048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21339:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":63049,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63011,"src":"21362:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63045,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"21327:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21335:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"21327:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63051,"nodeType":"ExpressionStatement","src":"21327:50:94"},{"expression":{"arguments":[{"id":63053,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63009,"src":"21396:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3537383036","id":63054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21407:5:94","typeDescriptions":{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},"value":"57806"},{"hexValue":"7468726573686f6c64","id":63055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21414:11:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""},"value":"threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""}],"id":63052,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21387:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21387:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63057,"nodeType":"ExpressionStatement","src":"21387:39:94"},{"expression":{"arguments":[{"id":63059,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63007,"src":"21445:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"39303933","id":63060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21461:4:94","typeDescriptions":{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},"value":"9093"},{"hexValue":"636f6e76696374696f6e4c617374","id":63061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21467:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""},"value":"convictionLast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""}],"id":63058,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21436:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21436:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63063,"nodeType":"ExpressionStatement","src":"21436:48:94"},{"expression":{"arguments":[{"id":63065,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63011,"src":"21503:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313030","id":63066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21519:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"766f746572506f696e7473506374","id":63067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21524:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""},"value":"voterPointsPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""}],"id":63064,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21494:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21494:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63069,"nodeType":"ExpressionStatement","src":"21494:47:94"}]},"functionSelector":"503c712e","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_conviction_threshold_2_users","nameLocation":"17590:51:94","parameters":{"id":62690,"nodeType":"ParameterList","parameters":[],"src":"17641:2:94"},"returnParameters":{"id":62691,"nodeType":"ParameterList","parameters":[],"src":"17651:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63428,"nodeType":"FunctionDefinition","src":"21554:3158:94","nodes":[],"body":{"id":63427,"nodeType":"Block","src":"21597:3115:94","nodes":[],"statements":[{"assignments":[63078,63080],"declarations":[{"constant":false,"id":63078,"mutability":"mutable","name":"pool","nameLocation":"21626:4:94","nodeType":"VariableDeclaration","scope":63427,"src":"21608:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63077,"nodeType":"UserDefinedTypeName","pathNode":{"id":63076,"name":"IAllo.Pool","nameLocations":["21608:5:94","21614:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21608:10:94"},"referencedDeclaration":2319,"src":"21608:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63080,"mutability":"mutable","name":"poolId","nameLocation":"21640:6:94","nodeType":"VariableDeclaration","scope":63427,"src":"21632:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63079,"name":"uint256","nodeType":"ElementaryTypeName","src":"21632:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63086,"initialValue":{"arguments":[{"id":63082,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21666:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21674:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21677:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63081,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"21650:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21650:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21607:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21762:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63087,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"21744:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21744:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63090,"nodeType":"ExpressionStatement","src":"21744:39:94"},{"assignments":[63092],"declarations":[{"constant":false,"id":63092,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"21800:11:94","nodeType":"VariableDeclaration","scope":63427,"src":"21793:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63091,"name":"int256","nodeType":"ElementaryTypeName","src":"21793:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63094,"initialValue":{"hexValue":"3830","id":63093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21814:2:94","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"VariableDeclarationStatement","src":"21793:23:94"},{"assignments":[63100],"declarations":[{"constant":false,"id":63100,"mutability":"mutable","name":"votes","nameLocation":"21862:5:94","nodeType":"VariableDeclaration","scope":63427,"src":"21826:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63098,"nodeType":"UserDefinedTypeName","pathNode":{"id":63097,"name":"CVStrategy.ProposalSupport","nameLocations":["21826:10:94","21837:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"21826:26:94"},"referencedDeclaration":57829,"src":"21826:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63099,"nodeType":"ArrayTypeName","src":"21826:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63107,"initialValue":{"arguments":[{"hexValue":"31","id":63105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21903:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"21870:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63102,"nodeType":"UserDefinedTypeName","pathNode":{"id":63101,"name":"CVStrategy.ProposalSupport","nameLocations":["21874:10:94","21885:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"21874:26:94"},"referencedDeclaration":57829,"src":"21874:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63103,"nodeType":"ArrayTypeName","src":"21874:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21870:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"21826:79:94"},{"expression":{"id":63116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63108,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"21915:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63110,"indexExpression":{"hexValue":"30","id":63109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21921:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21915:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21953:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63114,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"21956:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63111,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"21926:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21937:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"21926:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21926:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"21915:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63117,"nodeType":"ExpressionStatement","src":"21915:53:94"},{"assignments":[63119],"declarations":[{"constant":false,"id":63119,"mutability":"mutable","name":"data","nameLocation":"22012:4:94","nodeType":"VariableDeclaration","scope":63427,"src":"21999:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63118,"name":"bytes","nodeType":"ElementaryTypeName","src":"21999:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63124,"initialValue":{"arguments":[{"id":63122,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63100,"src":"22030:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22019:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22023:6:94","memberName":"encode","nodeType":"MemberAccess","src":"22019:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22019:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21999:37:94"},{"expression":{"arguments":[{"id":63128,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22062:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63129,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"22070:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63125,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22046:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22053:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"22046:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63131,"nodeType":"ExpressionStatement","src":"22046:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63132,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"22085:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22085:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63134,"nodeType":"ExpressionStatement","src":"22085:18:94"},{"assignments":[63136],"declarations":[{"constant":false,"id":63136,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"22122:13:94","nodeType":"VariableDeclaration","scope":63427,"src":"22114:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63135,"name":"uint256","nodeType":"ElementaryTypeName","src":"22114:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63139,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"22146:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22138:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63137,"name":"uint256","nodeType":"ElementaryTypeName","src":"22138:7:94","typeDescriptions":{}}},"id":63140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22138:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63141,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"22161:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22138:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22177:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"22138:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22114:66:94"},{"assignments":[63148],"declarations":[{"constant":false,"id":63148,"mutability":"mutable","name":"cv","nameLocation":"22201:2:94","nodeType":"VariableDeclaration","scope":63427,"src":"22190:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63147,"nodeType":"UserDefinedTypeName","pathNode":{"id":63146,"name":"CVStrategy","nameLocations":["22190:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"22190:10:94"},"referencedDeclaration":59653,"src":"22190:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63159,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63154,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63078,"src":"22233:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22238:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"22233:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22225:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63152,"name":"address","nodeType":"ElementaryTypeName","src":"22225:7:94","typeDescriptions":{}}},"id":63156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22225:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22217:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63150,"name":"address","nodeType":"ElementaryTypeName","src":"22217:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63149,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22206:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22206:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"22190:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22293:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63166,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22304:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":63165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22296:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63164,"name":"address","nodeType":"ElementaryTypeName","src":"22296:7:94","typeDescriptions":{}}},"id":63167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22296:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63161,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"22268:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22271:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"22268:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22268:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63169,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63136,"src":"22312:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6531","id":63170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22327:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""},"value":"ProposalVoterStake1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""}],"id":63160,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"22259:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22259:90:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63172,"nodeType":"ExpressionStatement","src":"22259:90:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22413:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63174,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"22386:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"22386:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63178,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63136,"src":"22417:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63173,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"22377:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22377:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63180,"nodeType":"ExpressionStatement","src":"22377:54:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63184,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22528:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63181,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"22514:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22517:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"22514:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22514:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63187,"nodeType":"ExpressionStatement","src":"22514:27:94"},{"assignments":[63189],"declarations":[{"constant":false,"id":63189,"mutability":"mutable","name":"proposalID2","nameLocation":"22560:11:94","nodeType":"VariableDeclaration","scope":63427,"src":"22552:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63188,"name":"uint256","nodeType":"ElementaryTypeName","src":"22552:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63191,"initialValue":{"hexValue":"32","id":63190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22574:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"22552:23:94"},{"assignments":[63196],"declarations":[{"constant":false,"id":63196,"mutability":"mutable","name":"proposal","nameLocation":"22618:8:94","nodeType":"VariableDeclaration","scope":63427,"src":"22585:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63195,"nodeType":"UserDefinedTypeName","pathNode":{"id":63194,"name":"CVStrategy.CreateProposal","nameLocations":["22585:10:94","22596:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"22585:25:94"},"referencedDeclaration":57786,"src":"22585:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63212,"initialValue":{"arguments":[{"id":63199,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"22668:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63200,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22681:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63201,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22689:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22689:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63203,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22703:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22714:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"22703:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22727:7:94","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":57770,"src":"22703:31:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"id":63206,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60908,"src":"22736:16:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63209,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"22762:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":63208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22754:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63207,"name":"address","nodeType":"ElementaryTypeName","src":"22754:7:94","typeDescriptions":{}}},"id":63210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22754:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63197,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"22629:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22640:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"22629:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22629:149:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"22585:193:94"},{"assignments":[63214],"declarations":[{"constant":false,"id":63214,"mutability":"mutable","name":"data2","nameLocation":"22801:5:94","nodeType":"VariableDeclaration","scope":63427,"src":"22788:18:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63213,"name":"bytes","nodeType":"ElementaryTypeName","src":"22788:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63219,"initialValue":{"arguments":[{"id":63217,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63196,"src":"22820:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63215,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22809:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22813:6:94","memberName":"encode","nodeType":"MemberAccess","src":"22809:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22809:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22788:41:94"},{"expression":{"arguments":[{"id":63223,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"22864:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63224,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63214,"src":"22872:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63220,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22839:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22846:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"22839:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63226,"nodeType":"ExpressionStatement","src":"22839:39:94"},{"expression":{"arguments":[{"arguments":[{"id":63232,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"22911:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}],"id":63231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22903:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63230,"name":"address","nodeType":"ElementaryTypeName","src":"22903:7:94","typeDescriptions":{}}},"id":63233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22903:24:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63234,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"22929:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22945:20:94","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60385,"src":"22929:36:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22929:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63227,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60893,"src":"22889:5:94","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":63229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22895:7:94","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"22889:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":63237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:79:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63238,"nodeType":"ExpressionStatement","src":"22889:79:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63239,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23031:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"23031:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23031:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63243,"nodeType":"ExpressionStatement","src":"23031:19:94"},{"assignments":[63249],"declarations":[{"constant":false,"id":63249,"mutability":"mutable","name":"votes2","nameLocation":"23097:6:94","nodeType":"VariableDeclaration","scope":63427,"src":"23061:42:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63247,"nodeType":"UserDefinedTypeName","pathNode":{"id":63246,"name":"CVStrategy.ProposalSupport","nameLocations":["23061:10:94","23072:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"23061:26:94"},"referencedDeclaration":57829,"src":"23061:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63248,"nodeType":"ArrayTypeName","src":"23061:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63256,"initialValue":{"arguments":[{"hexValue":"31","id":63254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23139:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"23106:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63251,"nodeType":"UserDefinedTypeName","pathNode":{"id":63250,"name":"CVStrategy.ProposalSupport","nameLocations":["23110:10:94","23121:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"23110:26:94"},"referencedDeclaration":57829,"src":"23110:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63252,"nodeType":"ArrayTypeName","src":"23110:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23106:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23061:80:94"},{"assignments":[63258],"declarations":[{"constant":false,"id":63258,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"23158:12:94","nodeType":"VariableDeclaration","scope":63427,"src":"23151:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63257,"name":"int256","nodeType":"ElementaryTypeName","src":"23151:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63260,"initialValue":{"hexValue":"313030","id":63259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23173:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"23151:25:94"},{"expression":{"id":63269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63261,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63249,"src":"23186:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63263,"indexExpression":{"hexValue":"30","id":63262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23193:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23186:9:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63266,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23225:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63267,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63258,"src":"23238:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63264,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"23198:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23209:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"23198:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:53:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"23186:65:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63270,"nodeType":"ExpressionStatement","src":"23186:65:94"},{"expression":{"id":63276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63271,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"23261:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63274,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63249,"src":"23279:6:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23268:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23272:6:94","memberName":"encode","nodeType":"MemberAccess","src":"23268:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23268:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"23261:25:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63277,"nodeType":"ExpressionStatement","src":"23261:25:94"},{"expression":{"arguments":[{"id":63281,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63080,"src":"23363:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63282,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63119,"src":"23371:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63278,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"23347:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23354:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"23347:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63284,"nodeType":"ExpressionStatement","src":"23347:29:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23386:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23389:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"23386:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23386:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63289,"nodeType":"ExpressionStatement","src":"23386:14:94"},{"assignments":[63291],"declarations":[{"constant":false,"id":63291,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"23419:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"23411:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63290,"name":"uint256","nodeType":"ElementaryTypeName","src":"23411:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63300,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63294,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63258,"src":"23444:12:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63292,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:94","typeDescriptions":{}}},"id":63295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23436:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63296,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"23460:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23436:37:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23476:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"23436:43:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23411:68:94"},{"expression":{"arguments":[{"arguments":[{"id":63304,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23524:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63307,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"23545:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23545:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23537:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63305,"name":"address","nodeType":"ElementaryTypeName","src":"23537:7:94","typeDescriptions":{}}},"id":63309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23537:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63302,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23499:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23502:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"23499:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23499:60:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63311,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"23561:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6532","id":63312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23577:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""},"value":"ProposalVoterStake2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""}],"id":63301,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23490:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:109:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63314,"nodeType":"ExpressionStatement","src":"23490:109:94"},{"expression":{"arguments":[{"arguments":[{"id":63318,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63189,"src":"23664:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63316,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23637:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23640:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"23637:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23637:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63320,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"23678:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5374616b65644d6f756e7432","id":63321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23694:14:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""},"value":"StakedMount2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""}],"id":63315,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23628:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23628:81:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63323,"nodeType":"ExpressionStatement","src":"23628:81:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":63327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23786:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":63328,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23809:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":63329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23815:6:94","memberName":"number","nodeType":"MemberAccess","src":"23809:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63324,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23774:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23782:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23774:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23774:48:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63331,"nodeType":"ExpressionStatement","src":"23774:48:94"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":63335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23844:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63338,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23879:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23882:11:94","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":57867,"src":"23879:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23879:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63336,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23859:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23862:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"23859:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23859:37:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63332,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23832:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23840:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23832:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23832:65:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63343,"nodeType":"ExpressionStatement","src":"23832:65:94"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":63347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23919:13:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":63352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23981:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63350,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23954:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23957:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"23954:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23954:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63348,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"23934:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23937:16:94","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":59594,"src":"23934:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23934:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63344,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"23907:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23915:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"23907:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23907:78:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63356,"nodeType":"ExpressionStatement","src":"23907:78:94"},{"expression":{"arguments":[{"hexValue":"3130","id":63360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24003:2:94","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"expression":{"id":63357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23995:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23998:4:94","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23810,"src":"23995:7:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23995:11:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63362,"nodeType":"ExpressionStatement","src":"23995:11:94"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":63366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24028:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":63367,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24050:5:94","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":63368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24056:6:94","memberName":"number","nodeType":"MemberAccess","src":"24050:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63363,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24016:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24024:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24016:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24016:47:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63370,"nodeType":"ExpressionStatement","src":"24016:47:94"},{"expression":{"arguments":[{"hexValue":"31","id":63374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24102:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63371,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"24074:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24077:24:94","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":59576,"src":"24074:27:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":63375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24074:30:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63376,"nodeType":"ExpressionStatement","src":"24074:30:94"},{"assignments":[null,null,null,63378,63380,null,null,null,63382,null,63384,63386],"declarations":[null,null,null,{"constant":false,"id":63378,"mutability":"mutable","name":"requestedAmount","nameLocation":"24179:15:94","nodeType":"VariableDeclaration","scope":63427,"src":"24171:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24171:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63380,"mutability":"mutable","name":"stakedTokens","nameLocation":"24216:12:94","nodeType":"VariableDeclaration","scope":63427,"src":"24208:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63379,"name":"uint256","nodeType":"ElementaryTypeName","src":"24208:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":63382,"mutability":"mutable","name":"convictionLast","nameLocation":"24292:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"24284:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63381,"name":"uint256","nodeType":"ElementaryTypeName","src":"24284:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63384,"mutability":"mutable","name":"threshold","nameLocation":"24342:9:94","nodeType":"VariableDeclaration","scope":63427,"src":"24334:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63383,"name":"uint256","nodeType":"ElementaryTypeName","src":"24334:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63386,"mutability":"mutable","name":"voterPointsPct","nameLocation":"24373:14:94","nodeType":"VariableDeclaration","scope":63427,"src":"24365:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63385,"name":"uint256","nodeType":"ElementaryTypeName","src":"24365:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63391,"initialValue":{"arguments":[{"hexValue":"31","id":63389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24415:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63387,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63148,"src":"24400:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24403:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"24400:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24400:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24115:302:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24440:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63396,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63378,"src":"24464:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63392,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24428:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24436:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24428:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24428:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63398,"nodeType":"ExpressionStatement","src":"24428:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24502:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63403,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63380,"src":"24523:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63399,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24490:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24498:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24490:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63405,"nodeType":"ExpressionStatement","src":"24490:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24558:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63410,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63384,"src":"24575:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63406,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24546:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24554:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24546:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24546:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63412,"nodeType":"ExpressionStatement","src":"24546:39:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24607:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63417,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63382,"src":"24630:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63413,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24595:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24603:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24595:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24595:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63419,"nodeType":"ExpressionStatement","src":"24595:50:94"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":63423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24667:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":63424,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63386,"src":"24690:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63420,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"24655:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24663:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"24655:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24655:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63426,"nodeType":"ExpressionStatement","src":"24655:50:94"}]},"functionSelector":"757e122d","implemented":true,"kind":"function","modifiers":[],"name":"test_1_proposalSupported","nameLocation":"21563:24:94","parameters":{"id":63072,"nodeType":"ParameterList","parameters":[],"src":"21587:2:94"},"returnParameters":{"id":63073,"nodeType":"ParameterList","parameters":[],"src":"21597:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63638,"nodeType":"FunctionDefinition","src":"24718:2468:94","nodes":[],"body":{"id":63637,"nodeType":"Block","src":"24765:2421:94","nodes":[],"statements":[{"assignments":[63435,63437],"declarations":[{"constant":false,"id":63435,"mutability":"mutable","name":"pool","nameLocation":"24794:4:94","nodeType":"VariableDeclaration","scope":63637,"src":"24776:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63434,"nodeType":"UserDefinedTypeName","pathNode":{"id":63433,"name":"IAllo.Pool","nameLocations":["24776:5:94","24782:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24776:10:94"},"referencedDeclaration":2319,"src":"24776:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63437,"mutability":"mutable","name":"poolId","nameLocation":"24808:6:94","nodeType":"VariableDeclaration","scope":63637,"src":"24800:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63436,"name":"uint256","nodeType":"ElementaryTypeName","src":"24800:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63443,"initialValue":{"arguments":[{"id":63439,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"24834:6:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24842:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24845:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63438,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"24818:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24818:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24775:72:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63444,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"24912:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24912:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63447,"nodeType":"ExpressionStatement","src":"24912:39:94"},{"assignments":[63449],"declarations":[{"constant":false,"id":63449,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"24968:11:94","nodeType":"VariableDeclaration","scope":63637,"src":"24961:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63448,"name":"int256","nodeType":"ElementaryTypeName","src":"24961:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63451,"initialValue":{"hexValue":"313030","id":63450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24982:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"24961:24:94"},{"assignments":[63457],"declarations":[{"constant":false,"id":63457,"mutability":"mutable","name":"votes","nameLocation":"25031:5:94","nodeType":"VariableDeclaration","scope":63637,"src":"24995:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63455,"nodeType":"UserDefinedTypeName","pathNode":{"id":63454,"name":"CVStrategy.ProposalSupport","nameLocations":["24995:10:94","25006:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"24995:26:94"},"referencedDeclaration":57829,"src":"24995:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63456,"nodeType":"ArrayTypeName","src":"24995:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63464,"initialValue":{"arguments":[{"hexValue":"31","id":63462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25072:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"25039:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63459,"nodeType":"UserDefinedTypeName","pathNode":{"id":63458,"name":"CVStrategy.ProposalSupport","nameLocations":["25043:10:94","25054:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"25043:26:94"},"referencedDeclaration":57829,"src":"25043:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63460,"nodeType":"ArrayTypeName","src":"25043:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25039:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"24995:79:94"},{"expression":{"id":63473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63465,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63457,"src":"25084:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63467,"indexExpression":{"hexValue":"30","id":63466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25090:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25084:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25122:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63471,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63449,"src":"25125:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63468,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"25095:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25106:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"25095:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25095:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"25084:53:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63474,"nodeType":"ExpressionStatement","src":"25084:53:94"},{"expression":{"arguments":[{"id":63478,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63437,"src":"25217:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63481,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63457,"src":"25236:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63479,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25225:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25229:6:94","memberName":"encode","nodeType":"MemberAccess","src":"25225:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25225:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63475,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"25201:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25208:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"25201:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63484,"nodeType":"ExpressionStatement","src":"25201:42:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63485,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"25253:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63487,"nodeType":"ExpressionStatement","src":"25253:18:94"},{"assignments":[63489],"declarations":[{"constant":false,"id":63489,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"25290:13:94","nodeType":"VariableDeclaration","scope":63637,"src":"25282:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63488,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63498,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63492,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63449,"src":"25314:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25306:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63490,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:94","typeDescriptions":{}}},"id":63493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25306:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63494,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"25329:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25306:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25345:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"25306:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25282:66:94"},{"assignments":[63501],"declarations":[{"constant":false,"id":63501,"mutability":"mutable","name":"cv","nameLocation":"25369:2:94","nodeType":"VariableDeclaration","scope":63637,"src":"25358:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63500,"nodeType":"UserDefinedTypeName","pathNode":{"id":63499,"name":"CVStrategy","nameLocations":["25358:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"25358:10:94"},"referencedDeclaration":59653,"src":"25358:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63512,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63507,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"25401:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25406:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"25401:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25393:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63505,"name":"address","nodeType":"ElementaryTypeName","src":"25393:7:94","typeDescriptions":{}}},"id":63509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25393:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25385:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63503,"name":"address","nodeType":"ElementaryTypeName","src":"25385:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25385:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63502,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"25374:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25374:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"25358:59:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25461:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63519,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"25472:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":63518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25464:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63517,"name":"address","nodeType":"ElementaryTypeName","src":"25464:7:94","typeDescriptions":{}}},"id":63520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25464:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63514,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25436:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25439:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"25436:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25436:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63522,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63489,"src":"25480:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63513,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25427:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25427:67:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63524,"nodeType":"ExpressionStatement","src":"25427:67:94"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25558:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63526,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25531:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25534:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"25531:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:29:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63530,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63489,"src":"25562:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63525,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25522:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25522:54:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63532,"nodeType":"ExpressionStatement","src":"25522:54:94"},{"assignments":[null,63534,null,63536,63538,null,null,63540,63542,null,63544,null],"declarations":[null,{"constant":false,"id":63534,"mutability":"mutable","name":"beneficiary","nameLocation":"25641:11:94","nodeType":"VariableDeclaration","scope":63637,"src":"25633:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63533,"name":"address","nodeType":"ElementaryTypeName","src":"25633:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null,{"constant":false,"id":63536,"mutability":"mutable","name":"requestedAmount","nameLocation":"25688:15:94","nodeType":"VariableDeclaration","scope":63637,"src":"25680:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63535,"name":"uint256","nodeType":"ElementaryTypeName","src":"25680:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63538,"mutability":"mutable","name":"stakedTokens","nameLocation":"25725:12:94","nodeType":"VariableDeclaration","scope":63637,"src":"25717:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63537,"name":"uint256","nodeType":"ElementaryTypeName","src":"25717:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":63540,"mutability":"mutable","name":"blockLast","nameLocation":"25787:9:94","nodeType":"VariableDeclaration","scope":63637,"src":"25779:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63539,"name":"uint256","nodeType":"ElementaryTypeName","src":"25779:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63542,"mutability":"mutable","name":"convictionLast","nameLocation":"25818:14:94","nodeType":"VariableDeclaration","scope":63637,"src":"25810:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63541,"name":"uint256","nodeType":"ElementaryTypeName","src":"25810:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63544,"mutability":"mutable","name":"threshold","nameLocation":"25868:9:94","nodeType":"VariableDeclaration","scope":63637,"src":"25860:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63543,"name":"uint256","nodeType":"ElementaryTypeName","src":"25860:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":63549,"initialValue":{"arguments":[{"hexValue":"31","id":63547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25944:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63545,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63501,"src":"25929:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25932:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"25929:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25929:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25605:341:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26154:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63554,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63536,"src":"26178:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63550,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26142:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26150:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26142:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26142:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63556,"nodeType":"ExpressionStatement","src":"26142:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26216:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63561,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"26237:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63557,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26204:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26212:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26204:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26204:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63563,"nodeType":"ExpressionStatement","src":"26204:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26272:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63568,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63544,"src":"26289:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63564,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26260:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26268:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26260:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26260:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63570,"nodeType":"ExpressionStatement","src":"26260:39:94"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":63574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26391:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":63575,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63540,"src":"26409:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63571,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26379:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26387:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26379:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26379:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63577,"nodeType":"ExpressionStatement","src":"26379:40:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26441:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63582,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63542,"src":"26464:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63578,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"26429:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26437:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"26429:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63584,"nodeType":"ExpressionStatement","src":"26429:50:94"},{"assignments":[63589],"declarations":[{"constant":false,"id":63589,"mutability":"mutable","name":"recipients","nameLocation":"26677:10:94","nodeType":"VariableDeclaration","scope":63637,"src":"26660:27:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":63587,"name":"address","nodeType":"ElementaryTypeName","src":"26660:7:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63588,"nodeType":"ArrayTypeName","src":"26660:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":63595,"initialValue":{"arguments":[{"hexValue":"30","id":63593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26704:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26690:13:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":63590,"name":"address","nodeType":"ElementaryTypeName","src":"26694:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63591,"nodeType":"ArrayTypeName","src":"26694:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":63594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26690:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26660:46:94"},{"assignments":[63597],"declarations":[{"constant":false,"id":63597,"mutability":"mutable","name":"dataProposal","nameLocation":"26768:12:94","nodeType":"VariableDeclaration","scope":63637,"src":"26755:25:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63596,"name":"bytes","nodeType":"ElementaryTypeName","src":"26755:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63602,"initialValue":{"arguments":[{"hexValue":"31","id":63600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26794:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26783:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26787:6:94","memberName":"encode","nodeType":"MemberAccess","src":"26783:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26783:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"26755:41:94"},{"assignments":[63604],"declarations":[{"constant":false,"id":63604,"mutability":"mutable","name":"amount","nameLocation":"26815:6:94","nodeType":"VariableDeclaration","scope":63637,"src":"26807:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63603,"name":"uint256","nodeType":"ElementaryTypeName","src":"26807:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63610,"initialValue":{"arguments":[{"expression":{"id":63606,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"26835:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26840:5:94","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26835:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63608,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"26847:11:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63605,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61359,"src":"26824:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":63609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26824:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26807:52:94"},{"expression":{"arguments":[{"id":63612,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"26945:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26953:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63611,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"26936:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26936:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63615,"nodeType":"ExpressionStatement","src":"26936:19:94"},{"expression":{"arguments":[{"id":63619,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63437,"src":"26984:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63620,"name":"recipients","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63589,"src":"26992:10:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":63621,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63597,"src":"27004:12:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63616,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"26966:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26973:10:94","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"26966:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":63622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:51:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63623,"nodeType":"ExpressionStatement","src":"26966:51:94"},{"expression":{"id":63630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63624,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"27027:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":63626,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63435,"src":"27047:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27052:5:94","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"27047:10:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":63628,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"27059:11:94","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":63625,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61359,"src":"27036:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":63629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27036:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27027:44:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63631,"nodeType":"ExpressionStatement","src":"27027:44:94"},{"expression":{"arguments":[{"id":63633,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63604,"src":"27155:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63634,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63536,"src":"27163:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63632,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"27146:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27146:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63636,"nodeType":"ExpressionStatement","src":"27146:33:94"}]},"functionSelector":"8cf86e50","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_native_token","nameLocation":"24727:28:94","parameters":{"id":63429,"nodeType":"ParameterList","parameters":[],"src":"24755:2:94"},"returnParameters":{"id":63430,"nodeType":"ParameterList","parameters":[],"src":"24765:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63864,"nodeType":"FunctionDefinition","src":"27192:2606:94","nodes":[],"body":{"id":63863,"nodeType":"Block","src":"27245:2553:94","nodes":[],"statements":[{"assignments":[63645,63647],"declarations":[{"constant":false,"id":63645,"mutability":"mutable","name":"pool","nameLocation":"27274:4:94","nodeType":"VariableDeclaration","scope":63863,"src":"27256:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63644,"nodeType":"UserDefinedTypeName","pathNode":{"id":63643,"name":"IAllo.Pool","nameLocations":["27256:5:94","27262:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"27256:10:94"},"referencedDeclaration":2319,"src":"27256:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63647,"mutability":"mutable","name":"poolId","nameLocation":"27288:6:94","nodeType":"VariableDeclaration","scope":63863,"src":"27280:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63646,"name":"uint256","nodeType":"ElementaryTypeName","src":"27280:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63656,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27322:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27314:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63649,"name":"address","nodeType":"ElementaryTypeName","src":"27314:7:94","typeDescriptions":{}}},"id":63652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27314:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27326:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27329:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63648,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"27298:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27298:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27255:76:94"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":63658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27360:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":63657,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"27342:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27342:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63660,"nodeType":"ExpressionStatement","src":"27342:35:94"},{"assignments":[63665],"declarations":[{"constant":false,"id":63665,"mutability":"mutable","name":"proposal","nameLocation":"27421:8:94","nodeType":"VariableDeclaration","scope":63863,"src":"27388:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63664,"nodeType":"UserDefinedTypeName","pathNode":{"id":63663,"name":"CVStrategy.CreateProposal","nameLocations":["27388:10:94","27399:14:94"],"nodeType":"IdentifierPath","referencedDeclaration":57786,"src":"27388:25:94"},"referencedDeclaration":57786,"src":"27388:25:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63683,"initialValue":{"arguments":[{"hexValue":"32","id":63668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27470:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":63669,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"27473:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":63672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27489:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27481:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63670,"name":"address","nodeType":"ElementaryTypeName","src":"27481:7:94","typeDescriptions":{}}},"id":63673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27481:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63674,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27493:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27504:12:94","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":57772,"src":"27493:23:94","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$57772_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27517:9:94","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":57769,"src":"27493:33:94","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":63677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27528:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":63680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27539:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27531:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63678,"name":"address","nodeType":"ElementaryTypeName","src":"27531:7:94","typeDescriptions":{}}},"id":63681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27531:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$57772","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63666,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27444:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27455:14:94","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":57786,"src":"27444:25:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$57786_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27444:98:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"27388:154:94"},{"assignments":[63685],"declarations":[{"constant":false,"id":63685,"mutability":"mutable","name":"data","nameLocation":"27565:4:94","nodeType":"VariableDeclaration","scope":63863,"src":"27552:17:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63684,"name":"bytes","nodeType":"ElementaryTypeName","src":"27552:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63690,"initialValue":{"arguments":[{"id":63688,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63665,"src":"27583:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$57786_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63686,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27572:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27576:6:94","memberName":"encode","nodeType":"MemberAccess","src":"27572:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27572:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"27552:40:94"},{"expression":{"arguments":[{"id":63694,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"27627:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63695,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63685,"src":"27635:4:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63691,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"27602:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27609:17:94","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"27602:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63697,"nodeType":"ExpressionStatement","src":"27602:38:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63698,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"27651:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27651:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63700,"nodeType":"ExpressionStatement","src":"27651:18:94"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27751:20:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63701,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64060,"src":"27733:17:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63704,"nodeType":"ExpressionStatement","src":"27733:39:94"},{"assignments":[63706],"declarations":[{"constant":false,"id":63706,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"27789:11:94","nodeType":"VariableDeclaration","scope":63863,"src":"27782:18:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":63705,"name":"int256","nodeType":"ElementaryTypeName","src":"27782:6:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":63708,"initialValue":{"hexValue":"313030","id":63707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27803:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"27782:24:94"},{"assignments":[63710],"declarations":[{"constant":false,"id":63710,"mutability":"mutable","name":"PROPOSAL_ID","nameLocation":"27824:11:94","nodeType":"VariableDeclaration","scope":63863,"src":"27816:19:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63709,"name":"uint256","nodeType":"ElementaryTypeName","src":"27816:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63712,"initialValue":{"hexValue":"32","id":63711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27838:1:94","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"27816:23:94"},{"assignments":[63718],"declarations":[{"constant":false,"id":63718,"mutability":"mutable","name":"votes","nameLocation":"27885:5:94","nodeType":"VariableDeclaration","scope":63863,"src":"27849:41:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63716,"nodeType":"UserDefinedTypeName","pathNode":{"id":63715,"name":"CVStrategy.ProposalSupport","nameLocations":["27849:10:94","27860:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"27849:26:94"},"referencedDeclaration":57829,"src":"27849:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63717,"nodeType":"ArrayTypeName","src":"27849:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63725,"initialValue":{"arguments":[{"hexValue":"31","id":63723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27926:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27893:32:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63720,"nodeType":"UserDefinedTypeName","pathNode":{"id":63719,"name":"CVStrategy.ProposalSupport","nameLocations":["27897:10:94","27908:15:94"],"nodeType":"IdentifierPath","referencedDeclaration":57829,"src":"27897:26:94"},"referencedDeclaration":57829,"src":"27897:26:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63721,"nodeType":"ArrayTypeName","src":"27897:28:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27893:35:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"27849:79:94"},{"expression":{"id":63734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63726,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63718,"src":"27938:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63728,"indexExpression":{"hexValue":"30","id":63727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27944:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27938:8:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63731,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"27976:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63732,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"27989:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":63729,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"27949:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27960:15:94","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":57829,"src":"27949:26:94","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$57829_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27949:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"27938:63:94","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$57829_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63735,"nodeType":"ExpressionStatement","src":"27938:63:94"},{"expression":{"arguments":[{"id":63739,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"28081:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63742,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63718,"src":"28100:5:94","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$57829_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28089:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28093:6:94","memberName":"encode","nodeType":"MemberAccess","src":"28089:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28089:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63736,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"28065:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28072:8:94","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"28065:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:42:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63745,"nodeType":"ExpressionStatement","src":"28065:42:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63746,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64092,"src":"28117:16:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28117:18:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63748,"nodeType":"ExpressionStatement","src":"28117:18:94"},{"assignments":[63750],"declarations":[{"constant":false,"id":63750,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"28154:13:94","nodeType":"VariableDeclaration","scope":63863,"src":"28146:21:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63749,"name":"uint256","nodeType":"ElementaryTypeName","src":"28146:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":63753,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"28178:11:94","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":63752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":63751,"name":"uint256","nodeType":"ElementaryTypeName","src":"28170:7:94","typeDescriptions":{}}},"id":63754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:20:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63755,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60905,"src":"28193:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28170:36:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28209:3:94","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"28170:42:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28146:66:94"},{"assignments":[63762],"declarations":[{"constant":false,"id":63762,"mutability":"mutable","name":"cv","nameLocation":"28233:2:94","nodeType":"VariableDeclaration","scope":63863,"src":"28222:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63761,"nodeType":"UserDefinedTypeName","pathNode":{"id":63760,"name":"CVStrategy","nameLocations":["28222:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"28222:10:94"},"referencedDeclaration":59653,"src":"28222:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63773,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63768,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63645,"src":"28265:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28270:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"28265:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28257:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63766,"name":"address","nodeType":"ElementaryTypeName","src":"28257:7:94","typeDescriptions":{}}},"id":63770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28257:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28249:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63764,"name":"address","nodeType":"ElementaryTypeName","src":"28249:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28249:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63763,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"28238:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"28222:59:94"},{"expression":{"arguments":[{"arguments":[{"id":63777,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"28325:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":63780,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28346:4:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$64019","typeString":"contract CVStrategyTest"}],"id":63779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28338:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63778,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:94","typeDescriptions":{}}},"id":63781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28338:13:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63775,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28300:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28303:21:94","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":58693,"src":"28300:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28300:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63783,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63750,"src":"28354:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63774,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28291:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28291:77:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63785,"nodeType":"ExpressionStatement","src":"28291:77:94"},{"expression":{"arguments":[{"arguments":[{"id":63789,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"28432:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63787,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28405:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28408:23:94","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":58706,"src":"28405:26:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28405:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63791,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63750,"src":"28446:13:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63786,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28396:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28396:64:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63793,"nodeType":"ExpressionStatement","src":"28396:64:94"},{"assignments":[null,null,null,63795,63797,null,null,63799,63801,null,63803,null],"declarations":[null,null,null,{"constant":false,"id":63795,"mutability":"mutable","name":"requestedAmount","nameLocation":"28553:15:94","nodeType":"VariableDeclaration","scope":63863,"src":"28545:23:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63794,"name":"uint256","nodeType":"ElementaryTypeName","src":"28545:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63797,"mutability":"mutable","name":"stakedTokens","nameLocation":"28590:12:94","nodeType":"VariableDeclaration","scope":63863,"src":"28582:20:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63796,"name":"uint256","nodeType":"ElementaryTypeName","src":"28582:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":63799,"mutability":"mutable","name":"blockLast","nameLocation":"28652:9:94","nodeType":"VariableDeclaration","scope":63863,"src":"28644:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63798,"name":"uint256","nodeType":"ElementaryTypeName","src":"28644:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63801,"mutability":"mutable","name":"convictionLast","nameLocation":"28683:14:94","nodeType":"VariableDeclaration","scope":63863,"src":"28675:22:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63800,"name":"uint256","nodeType":"ElementaryTypeName","src":"28675:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":63803,"mutability":"mutable","name":"threshold","nameLocation":"28733:9:94","nodeType":"VariableDeclaration","scope":63863,"src":"28725:17:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63802,"name":"uint256","nodeType":"ElementaryTypeName","src":"28725:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":63808,"initialValue":{"arguments":[{"hexValue":"31","id":63806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28809:1:94","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63804,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63762,"src":"28794:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28797:11:94","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":58677,"src":"28794:14:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":63807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28794:17:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$57772_$_t_enum$_ProposalStatus_$57791_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28489:322:94"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":63812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29019:22:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":63813,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63795,"src":"29043:15:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63809,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29007:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29015:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29007:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29007:52:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63815,"nodeType":"ExpressionStatement","src":"29007:52:94"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":63819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29081:19:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":63820,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63797,"src":"29102:12:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63816,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29069:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29077:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29069:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:46:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63822,"nodeType":"ExpressionStatement","src":"29069:46:94"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":63826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29137:15:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":63827,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63803,"src":"29154:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63823,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29125:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29133:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29125:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29125:39:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63829,"nodeType":"ExpressionStatement","src":"29125:39:94"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":63833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29256:16:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":63834,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63799,"src":"29274:9:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63830,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29244:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29252:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29244:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29244:40:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63836,"nodeType":"ExpressionStatement","src":"29244:40:94"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":63840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29306:21:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":63841,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63801,"src":"29329:14:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63837,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32318,"src":"29294:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32318_$","typeString":"type(library console)"}},"id":63839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29302:3:94","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24962,"src":"29294:11:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29294:50:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63843,"nodeType":"ExpressionStatement","src":"29294:50:94"},{"assignments":[63845],"declarations":[{"constant":false,"id":63845,"mutability":"mutable","name":"dataProposal","nameLocation":"29620:12:94","nodeType":"VariableDeclaration","scope":63863,"src":"29607:25:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63844,"name":"bytes","nodeType":"ElementaryTypeName","src":"29607:5:94","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63850,"initialValue":{"arguments":[{"id":63848,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"29646:11:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29635:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29639:6:94","memberName":"encode","nodeType":"MemberAccess","src":"29635:10:94","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29635:23:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"29607:51:94"},{"expression":{"arguments":[{"id":63854,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63647,"src":"29687:6:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":63858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29709:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29695:13:94","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":63855,"name":"address","nodeType":"ElementaryTypeName","src":"29699:7:94","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63856,"nodeType":"ArrayTypeName","src":"29699:9:94","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":63859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29695:16:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":63860,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63845,"src":"29713:12:94","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63851,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"29669:4:94","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:6:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29676:10:94","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"29669:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":63861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:57:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63862,"nodeType":"ExpressionStatement","src":"29669:57:94"}]},"functionSelector":"eaeb7195","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_signaling_proposal","nameLocation":"27201:34:94","parameters":{"id":63639,"nodeType":"ParameterList","parameters":[],"src":"27235:2:94"},"returnParameters":{"id":63640,"nodeType":"ParameterList","parameters":[],"src":"27245:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63941,"nodeType":"FunctionDefinition","src":"29804:496:94","nodes":[],"body":{"id":63940,"nodeType":"Block","src":"29843:457:94","nodes":[],"statements":[{"assignments":[63871,63873],"declarations":[{"constant":false,"id":63871,"mutability":"mutable","name":"pool","nameLocation":"29872:4:94","nodeType":"VariableDeclaration","scope":63940,"src":"29854:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63870,"nodeType":"UserDefinedTypeName","pathNode":{"id":63869,"name":"IAllo.Pool","nameLocations":["29854:5:94","29860:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"29854:10:94"},"referencedDeclaration":2319,"src":"29854:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63873,"mutability":"mutable","name":"poolId","nameLocation":"29886:6:94","nodeType":"VariableDeclaration","scope":63940,"src":"29878:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63872,"name":"uint256","nodeType":"ElementaryTypeName","src":"29878:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63882,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29920:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29912:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63875,"name":"address","nodeType":"ElementaryTypeName","src":"29912:7:94","typeDescriptions":{}}},"id":63878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29912:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29924:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29927:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63874,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"29896:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29896:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29853:76:94"},{"assignments":[63885],"declarations":[{"constant":false,"id":63885,"mutability":"mutable","name":"cv","nameLocation":"29951:2:94","nodeType":"VariableDeclaration","scope":63940,"src":"29940:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63884,"nodeType":"UserDefinedTypeName","pathNode":{"id":63883,"name":"CVStrategy","nameLocations":["29940:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"29940:10:94"},"referencedDeclaration":59653,"src":"29940:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63896,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63891,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63871,"src":"29983:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63892,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29988:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"29983:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29975:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63889,"name":"address","nodeType":"ElementaryTypeName","src":"29975:7:94","typeDescriptions":{}}},"id":63893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29967:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63887,"name":"address","nodeType":"ElementaryTypeName","src":"29967:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29967:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63886,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"29956:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29956:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"29940:59:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63902,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"30049:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":63903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30065:20:94","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":59839,"src":"30049:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":63904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30086:8:94","memberName":"selector","nodeType":"MemberAccess","src":"30049:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30026:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30030:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30026:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30026:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63897,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30010:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30013:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"30010:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30010:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63907,"nodeType":"ExpressionStatement","src":"30010:86:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63908,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63885,"src":"30106:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30109:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30106:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30106:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63912,"nodeType":"ExpressionStatement","src":"30106:19:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63916,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30150:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30150:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63913,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30136:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30139:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"30136:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":63918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30136:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63919,"nodeType":"ExpressionStatement","src":"30136:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63920,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63885,"src":"30173:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30176:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30173:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30173:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63924,"nodeType":"ExpressionStatement","src":"30173:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63925,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30202:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30205:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"30202:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30202:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63929,"nodeType":"ExpressionStatement","src":"30202:14:94"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63933,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30261:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30261:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63931,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60911,"src":"30236:15:94","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$60468","typeString":"contract RegistryGardens"}},"id":63932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30252:8:94","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":60271,"src":"30236:24:94","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":63935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30236:38:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":63936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30276:4:94","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"69734d656d626572","id":63937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30282:10:94","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":63930,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12709,12734,12747,12763,12805,12847,12889,12926,12963,13000,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12734,"src":"30227:8:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":63938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30227:66:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63939,"nodeType":"ExpressionStatement","src":"30227:66:94"}]},"functionSelector":"136994c0","implemented":true,"kind":"function","modifiers":[],"name":"test_activate_points","nameLocation":"29813:20:94","parameters":{"id":63865,"nodeType":"ParameterList","parameters":[],"src":"29833:2:94"},"returnParameters":{"id":63866,"nodeType":"ParameterList","parameters":[],"src":"29843:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64018,"nodeType":"FunctionDefinition","src":"30306:640:94","nodes":[],"body":{"id":64017,"nodeType":"Block","src":"30347:599:94","nodes":[],"statements":[{"assignments":[63948,63950],"declarations":[{"constant":false,"id":63948,"mutability":"mutable","name":"pool","nameLocation":"30376:4:94","nodeType":"VariableDeclaration","scope":64017,"src":"30358:22:94","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63947,"nodeType":"UserDefinedTypeName","pathNode":{"id":63946,"name":"IAllo.Pool","nameLocations":["30358:5:94","30364:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"30358:10:94"},"referencedDeclaration":2319,"src":"30358:10:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63950,"mutability":"mutable","name":"poolId","nameLocation":"30390:6:94","nodeType":"VariableDeclaration","scope":64017,"src":"30382:14:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63949,"name":"uint256","nodeType":"ElementaryTypeName","src":"30382:7:94","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63959,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":63954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30424:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30416:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63952,"name":"address","nodeType":"ElementaryTypeName","src":"30416:7:94","typeDescriptions":{}}},"id":63955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30416:10:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30428:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30431:1:94","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63951,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61327,"src":"30400:15:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30400:33:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"30357:76:94"},{"assignments":[63962],"declarations":[{"constant":false,"id":63962,"mutability":"mutable","name":"cv","nameLocation":"30455:2:94","nodeType":"VariableDeclaration","scope":64017,"src":"30444:13:94","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"},"typeName":{"id":63961,"nodeType":"UserDefinedTypeName","pathNode":{"id":63960,"name":"CVStrategy","nameLocations":["30444:10:94"],"nodeType":"IdentifierPath","referencedDeclaration":59653,"src":"30444:10:94"},"referencedDeclaration":59653,"src":"30444:10:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63973,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63968,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63948,"src":"30487:4:94","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30492:8:94","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"30487:13:94","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30479:7:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63966,"name":"address","nodeType":"ElementaryTypeName","src":"30479:7:94","typeDescriptions":{}}},"id":63970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30479:22:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30471:8:94","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63964,"name":"address","nodeType":"ElementaryTypeName","src":"30471:8:94","stateMutability":"payable","typeDescriptions":{}}},"id":63971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30471:31:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63963,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59653,"src":"30460:10:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$59653_$","typeString":"type(contract CVStrategy)"}},"id":63972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30460:43:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"30444:59:94"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63979,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60468,"src":"30553:15:94","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$60468_$","typeString":"type(contract RegistryGardens)"}},"id":63980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30569:20:94","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":59839,"src":"30553:36:94","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":63981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30590:8:94","memberName":"selector","nodeType":"MemberAccess","src":"30553:45:94","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":63977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30530:3:94","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30534:18:94","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30530:22:94","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30530:69:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63974,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30514:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30517:12:94","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24226,"src":"30514:15:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30514:86:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63984,"nodeType":"ExpressionStatement","src":"30514:86:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63985,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30610:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30613:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30610:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30610:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63989,"nodeType":"ExpressionStatement","src":"30610:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63990,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30640:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":63992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30643:16:94","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":58246,"src":"30640:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":63993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30640:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63994,"nodeType":"ExpressionStatement","src":"30640:21:94"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":63998,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30761:10:94","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30761:12:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63995,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30747:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":63997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30750:10:94","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23920,"src":"30747:13:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30747:27:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64001,"nodeType":"ExpressionStatement","src":"30747:27:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64002,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30784:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":64004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30787:14:94","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":58221,"src":"30784:17:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30784:19:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64006,"nodeType":"ExpressionStatement","src":"30784:19:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64007,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63962,"src":"30813:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$59653","typeString":"contract CVStrategy"}},"id":64009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30816:16:94","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":58246,"src":"30813:19:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30813:21:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64011,"nodeType":"ExpressionStatement","src":"30813:21:94"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64012,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30844:2:94","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24254","typeString":"contract Vm"}},"id":64014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30847:9:94","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23937,"src":"30844:12:94","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30844:14:94","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64016,"nodeType":"ExpressionStatement","src":"30844:14:94"}]},"functionSelector":"0ef639f6","implemented":true,"kind":"function","modifiers":[],"name":"test_deactivate_points","nameLocation":"30315:22:94","parameters":{"id":63942,"nodeType":"ParameterList","parameters":[],"src":"30337:2:94"},"returnParameters":{"id":63943,"nodeType":"ParameterList","parameters":[],"src":"30347:0:94"},"scope":64019,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":60877,"name":"Test","nameLocations":["1552:4:94"],"nodeType":"IdentifierPath","referencedDeclaration":22403,"src":"1552:4:94"},"id":60878,"nodeType":"InheritanceSpecifier","src":"1552:4:94"},{"baseName":{"id":60879,"name":"AlloSetup","nameLocations":["1558:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1558:9:94"},"id":60880,"nodeType":"InheritanceSpecifier","src":"1558:9:94"},{"baseName":{"id":60881,"name":"RegistrySetupFull","nameLocations":["1569:17:94"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1569:17:94"},"id":60882,"nodeType":"InheritanceSpecifier","src":"1569:17:94"},{"baseName":{"id":60883,"name":"CVStrategyHelpers","nameLocations":["1588:17:94"],"nodeType":"IdentifierPath","referencedDeclaration":60835,"src":"1588:17:94"},"id":60884,"nodeType":"InheritanceSpecifier","src":"1588:17:94"},{"baseName":{"id":60885,"name":"Errors","nameLocations":["1607:6:94"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1607:6:94"},"id":60886,"nodeType":"InheritanceSpecifier","src":"1607:6:94"},{"baseName":{"id":60887,"name":"GasHelpers2","nameLocations":["1615:11:94"],"nodeType":"IdentifierPath","referencedDeclaration":64093,"src":"1615:11:94"},"id":60888,"nodeType":"InheritanceSpecifier","src":"1615:11:94"},{"baseName":{"id":60889,"name":"SafeSetup","nameLocations":["1628:9:94"],"nodeType":"IdentifierPath","referencedDeclaration":64474,"src":"1628:9:94"},"id":60890,"nodeType":"InheritanceSpecifier","src":"1628:9:94"}],"canonicalName":"CVStrategyTest","contractDependencies":[1390,2295,9751,55905,57671,59653,59700],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[64019,64474,64093,3089,60835,9534,9370,9325,9264,22403,22352,17950,17625,16832,14772,14008,12515,12581,12578,3106],"name":"CVStrategyTest","nameLocation":"1534:14:94","scope":64020,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":94} \ No newline at end of file diff --git a/pkg/contracts/test/CVStrategyTest.t.sol b/pkg/contracts/test/CVStrategyTest.t.sol index 7e741ae35..48a1bb72f 100644 --- a/pkg/contracts/test/CVStrategyTest.t.sol +++ b/pkg/contracts/test/CVStrategyTest.t.sol @@ -777,13 +777,13 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers cv.activatePoints(); cv.deactivatePoints(); - assertEq(registryGardens.isMember(local()), false, "isMember"); + // assertEq(registryGardens.isMember(local()), false, "isMember"); vm.startPrank(pool_admin()); cv.activatePoints(); cv.deactivatePoints(); vm.stopPrank(); - assertEq(registryGardens.isMember(pool_admin()), false, "isMember"); + // assertEq(registryGardens.isMember(pool_admin()), false, "isMember"); } } From c95211c556e3b91a265692531b245cc0b5674f56 Mon Sep 17 00:00:00 2001 From: Felipe Novaes F Rocha Date: Thu, 11 Jan 2024 07:12:51 -0300 Subject: [PATCH 3/4] :sparkles: connect to sepolia :bug: fix deployment --- .../app/(app)/gardens/communities/page.tsx | 26 +- .../communities/pool/[poolId]/page.tsx | 7 +- apps/web/components/Proposals.tsx | 2 +- apps/web/constants/contracts/index.ts | 55 +- apps/web/hooks/useConviction.tsx | 4 +- apps/web/hooks/useProposalsRead.tsx | 4 +- apps/web/providers/WagmiProvider.tsx | 12 +- .../421614/run-1704967022.json | 1549 +++++++++++++++++ .../421614/run-latest.json | 900 +++++----- .../CVStrategyHelpers.json | 2 +- .../CVStrategyTest.t.sol/CVStrategyTest.json | 2 +- .../out/DeployCV.s.sol/DeployCV.json | 2 +- .../DeployCVArbSepolia.json | 2 +- .../out/RegistryTest.t.sol/RegistryTest.json | 2 +- pkg/contracts/script/DeployCVArbSepolia.s.sol | 9 +- pkg/contracts/test/CVStrategyHelpers.sol | 7 +- turbo.json | 3 + 17 files changed, 2101 insertions(+), 487 deletions(-) create mode 100644 broadcast/DeployCVArbSepolia.s.sol/421614/run-1704967022.json diff --git a/apps/web/app/(app)/gardens/communities/page.tsx b/apps/web/app/(app)/gardens/communities/page.tsx index 22d789707..86eb287c2 100644 --- a/apps/web/app/(app)/gardens/communities/page.tsx +++ b/apps/web/app/(app)/gardens/communities/page.tsx @@ -118,13 +118,13 @@ const conmmunities: Community[] = [ name: "Pool 1", strategy: "C.V", proposals: 3, - href: "1", + href: `${contractsAddresses.poolID}`, }, { name: "Pool 2", strategy: "C.V", proposals: 3, - href: "2", + href: `${contractsAddresses.poolID + 1}`, }, ], }, @@ -137,13 +137,13 @@ const conmmunities: Community[] = [ name: "Pool 1", strategy: "C.V", proposals: 3, - href: "1", + href: `${contractsAddresses.poolID}`, }, { name: "Pool 2", strategy: "C.V", proposals: 3, - href: "2", + href: `${contractsAddresses.poolID + 1}`, }, ], }, @@ -156,20 +156,20 @@ const conmmunities: Community[] = [ name: "Pool 1", strategy: "C.V", proposals: 3, - href: "1", + href: `${contractsAddresses.poolID}`, }, { name: "Pool 2", strategy: "C.V", proposals: 3, - href: "2", - }, - { - name: "Pool 3", - strategy: "C.V", - proposals: 3, - href: "3", + href: `${contractsAddresses.poolID + 1}`, }, + // { + // name: "Pool 3", + // strategy: "C.V", + // proposals: 3, + // href: "3", + // }, ], }, { @@ -181,7 +181,7 @@ const conmmunities: Community[] = [ name: "Pool 1", strategy: "C.V", proposals: 3, - href: "1", + href: `${contractsAddresses.poolID}`, }, ], }, diff --git a/apps/web/app/(app)/gardens/communities/pool/[poolId]/page.tsx b/apps/web/app/(app)/gardens/communities/pool/[poolId]/page.tsx index 23190c991..eb9ffa059 100644 --- a/apps/web/app/(app)/gardens/communities/pool/[poolId]/page.tsx +++ b/apps/web/app/(app)/gardens/communities/pool/[poolId]/page.tsx @@ -6,6 +6,7 @@ import { useContractRead, useContractWrite } from "wagmi"; import { cvStrategyABI, alloABI } from "@/src/generated"; import { useProposalsRead } from "@/hooks/useProposalsRead"; import { formatEther } from "viem"; +import { contractsAddresses } from "@/constants/contracts"; //some metadata for each pool const poolInfo = [ @@ -56,7 +57,7 @@ export default function Pool({

Pool {poolId}

- {poolInfo[(poolId as unknown as number) - 1].title} + {/* {poolInfo[(poolId as unknown as number) - 1].title} */}

@@ -64,11 +65,11 @@ export default function Pool({

- {poolInfo[(poolId as unknown as number) - 1].description} + {/* {poolInfo[(poolId as unknown as number) - 1].description} */}

- {poolId === "1" && ( + {poolId === contractsAddresses.poolID && ( <> {status === "idle" ? ( <> diff --git a/apps/web/components/Proposals.tsx b/apps/web/components/Proposals.tsx index e5287a3c8..d857d5519 100644 --- a/apps/web/components/Proposals.tsx +++ b/apps/web/components/Proposals.tsx @@ -86,7 +86,7 @@ export function Proposals({ poolId }: { poolId: string }) { const submit = () => { const encodedData = getEncodedProposals(inputs, proposals); - const poolId = 1; + const poolId = Number(contractsAddresses.poolID); writeContract({ args: [BigInt(poolId), encodedData as `0x${string}`], diff --git a/apps/web/constants/contracts/index.ts b/apps/web/constants/contracts/index.ts index b3a219b4d..06c0a58b6 100644 --- a/apps/web/constants/contracts/index.ts +++ b/apps/web/constants/contracts/index.ts @@ -1,7 +1,52 @@ -export const contractsAddresses = { - allo: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0" as `0x${string}`, - strategy: "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e" as `0x${string}`, +// read env variables +// const envPoolIdSignaling = process.env.POOL_ID_SIGNALING || ""; +// const envStrat2Address = process.env.STRAT2_ADDR_ARB_SEPOLIA || ""; +// const envTokenAddressArbSepolia = process.env.TOKEN_ADDR_ARB_SEPOLIA || ""; +// const envTokenNativeAddressArbSepolia = +// process.env.TOKEN_NATIVE_ADDR_ARB_SEPOLIA || ""; +const ENV = process.env.NEXT_PUBLIC_ENV_GARDENS || ""; + +const envAlloAddress = process.env.NEXT_PUBLIC_ALLO_ADDRESS_ARB_SEPOLIA || ""; + +const envPoolId = process.env.NEXT_PUBLIC_POOL_ID || 1; + +const envStrat1Address = process.env.NEXT_PUBLIC_STRAT1_ADDR_ARB_SEPOLIA || ""; + +const envRegistryGardensAddArbSep = + process.env.NEXT_PUBLIC_REGISTRY_GARDENS_ADDR_ARB_SEPOLIA || ""; + +const envAlloRegistryAddArbSep = + process.env.NEXT_PUBLIC_ALLO_REGISTRY_ADDR_ARB_SEPOLIA || ""; + +const envPoolAdminAddressArbSepolia = + process.env.NEXT_PUBLIC_POOL_ADMIN_ADDR_ARB_SEPOLIA || ""; + +const envCouncilSafeAddressArbSepolia = + process.env.NEXT_PUBLIC_COUNCIL_SAFE_ADDR_ARB_SEPOLIA || ""; + +const envRpcUrlArbTestnet = process.env.NEXT_PUBLIC_RPC_URL_ARB_TESTNET || ""; + +let __contractsAddresses = { + allo: `0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0` as `0x${string}`, + strategy: `0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e` as `0x${string}`, registryGardens: - "0x61c36a8d610163660E21a8b7359e1Cac0C9133e1" as `0x${string}`, - registry: "0x5FbDB2315678afecb367f032d93F642f64180aa3" as `0x${string}`, + `0x61c36a8d610163660E21a8b7359e1Cac0C9133e1` as `0x${string}`, + registry: `0x5FbDB2315678afecb367f032d93F642f64180aa3` as `0x${string}`, + poolID: `1`, + rpcUrl: `http://127.0.0.1:8545`, }; + +if (ENV === "prod") { + __contractsAddresses = { + allo: `${envAlloAddress}` as `0x${string}`, + strategy: `${envStrat1Address}` as `0x${string}`, + registryGardens: `${envRegistryGardensAddArbSep}` as `0x${string}`, + registry: `${envAlloRegistryAddArbSep}` as `0x${string}`, + poolID: `${envPoolId}`, + rpcUrl: `${envRpcUrlArbTestnet}`, + }; +} +console.log("env", ENV); +console.log("envs", __contractsAddresses); + +export const contractsAddresses = __contractsAddresses; diff --git a/apps/web/hooks/useConviction.tsx b/apps/web/hooks/useConviction.tsx index 75ddb6742..47758f3b8 100644 --- a/apps/web/hooks/useConviction.tsx +++ b/apps/web/hooks/useConviction.tsx @@ -10,7 +10,9 @@ export const useConviction = () => { const [data, setData] = useState([]); const proposalId = 1; - const { proposals } = useProposalsRead({ poolId: Number(1) }); + const { proposals } = useProposalsRead({ + poolId: Number(contractsAddresses.poolID), + }); const proposalsReadsContract = proposals?.filter( (proposal) => proposal.id === Number(proposalId), diff --git a/apps/web/hooks/useProposalsRead.tsx b/apps/web/hooks/useProposalsRead.tsx index afee13a80..2913e58cc 100644 --- a/apps/web/hooks/useProposalsRead.tsx +++ b/apps/web/hooks/useProposalsRead.tsx @@ -93,7 +93,9 @@ export const useProposalsRead = ({ poolId }: { poolId: number }) => { // Choose between proposalsMock and proposalsMock2 based on poolId const selectedProposalsMock = - poolId === 1 ? fundingProposals : signalingProposals; + poolId === Number(contractsAddresses.poolID) + ? fundingProposals + : signalingProposals; // Merge the additional data from proposalsMock based on the index diff --git a/apps/web/providers/WagmiProvider.tsx b/apps/web/providers/WagmiProvider.tsx index 1e07d092d..3150101d7 100644 --- a/apps/web/providers/WagmiProvider.tsx +++ b/apps/web/providers/WagmiProvider.tsx @@ -5,12 +5,20 @@ import { walletConnectProvider, EIP6963Connector } from "@web3modal/wagmi"; import { WagmiConfig, configureChains, createConfig } from "wagmi"; import { publicProvider } from "wagmi/providers/public"; -import { sepolia, optimism, gnosis, mainnet, arbitrum } from "viem/chains"; +import { + sepolia, + optimism, + gnosis, + mainnet, + arbitrum, + arbitrumSepolia, +} from "viem/chains"; import { CoinbaseWalletConnector } from "wagmi/connectors/coinbaseWallet"; import { InjectedConnector } from "wagmi/connectors/injected"; import { WalletConnectConnector } from "wagmi/connectors/walletConnect"; import { jsonRpcProvider } from "wagmi/providers/jsonRpc"; +import { contractsAddresses } from "@/constants/contracts"; type WagmiProviderType = { children: React.ReactNode; }; @@ -37,7 +45,7 @@ const localChain = { }; const { chains, publicClient } = configureChains( - [localChain, arbitrum], + [localChain, arbitrumSepolia], [ jsonRpcProvider({ rpc: (chain: any) => chain.rpcUrls.default }), walletConnectProvider({ projectId }), diff --git a/broadcast/DeployCVArbSepolia.s.sol/421614/run-1704967022.json b/broadcast/DeployCVArbSepolia.s.sol/421614/run-1704967022.json new file mode 100644 index 000000000..7406dc4f4 --- /dev/null +++ b/broadcast/DeployCVArbSepolia.s.sol/421614/run-1704967022.json @@ -0,0 +1,1549 @@ +{ + "transactions": [ + { + "hash": "0xd557794d1f7baa3e8a5ccbd798b7b847f69e6befdbf4f6ff1a0e5d1c80d430aa", + "transactionType": "CREATE", + "contractName": null, + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x13af89", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c63430008130033", + "nonce": "0x34", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc02645bc9aaa544cae93700543597e45084a6e5813daacc7082a8d136410339b", + "transactionType": "CREATE", + "contractName": "RegistryFactory", + "contractAddress": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x342097", + "value": "0x0", + "data": "0x6080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033", + "nonce": "0x35", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x215da5b6d4b9043821b60a983bc9198525d919c9b8459d3e1e8e0e98f3b0bc5d", + "transactionType": "CREATE", + "contractName": "SafeProxyFactory", + "contractAddress": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0xc6542", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033", + "nonce": "0x36", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x17c5475d7ce6eb8dff539c5b0ad7703f010435f7b87787934c5e339979b1140c", + "transactionType": "CREATE", + "contractName": "Safe", + "contractAddress": "0x809d329aF7a2D11667666c27929a037e96490771", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x461530", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033", + "nonce": "0x37", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2276d7ba131a135c96634c46ef6193a43d96cf1c4122468cf8b728663fe176d1", + "transactionType": "CALL", + "contractName": "SafeProxyFactory", + "contractAddress": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", + "function": "createProxyWithNonce(address,bytes,uint256)", + "arguments": [ + "0x809d329aF7a2D11667666c27929a037e96490771", + "0x", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xc0011ebfd342c6ac86a96d5e719d55690c955640", + "gas": "0xd4ac", + "value": "0x0", + "data": "0x1688f0b9000000000000000000000000809d329af7a2d11667666c27929a037e96490771000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x38", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", + "initCode": "0x608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033000000000000000000000000809d329af7a2d11667666c27929a037e96490771" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x392894ffdb01a9723adb9fd31ea419fbbf35a3f64f09935fa0f9695842e714b2", + "transactionType": "CALL", + "contractName": "SafeProxy", + "contractAddress": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x460df564a3dba27f3ebab1a7c82d855ef0da6048", + "gas": "0xf53c", + "value": "0x0", + "data": "0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x39", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", + "transactionType": "CALL", + "contractName": "RegistryFactory", + "contractAddress": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", + "function": "createRegistry((address,address,uint256,uint256,uint256,(uint256,string),address))", + "arguments": [ + "(0x1133eA7Af70876e64665ecD07C0A0476d09465a1, 0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D, 50, 0, 0, (1, \"strategy pointer\"), 0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048)" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x9fcf38529429a4a8105966645a3dbf04ac70c88f", + "gas": "0x1157f", + "value": "0x0", + "data": "0x4f350fb200000000000000000000000000000000000000000000000000000000000000200000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000460df564a3dba27f3ebab1a7c82d855ef0da6048000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "nonce": "0x3a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", + "initCode": "0x608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033" + }, + { + "transactionType": "CREATE2", + "address": "0x18C9359ff9591154f00eB66857D8E08DE13fa111", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c6343000813003396bcce2e6fef6fce0a6f02bf93b4261ce51d9d1073fc179ad4c2dbc9de91dc140000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe37af200f8bd3c5a39e1a851d0b0782798a8ba1ff73f68b823f37911df9414e9", + "transactionType": "CREATE", + "contractName": "CVStrategy", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "function": null, + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x4425fd", + "value": "0x0", + "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", + "nonce": "0x3b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x80d51c3bc9d39ad9174797dad90190ca7c2b83ae4d80261ebe3983fe35751b77", + "transactionType": "CREATE", + "contractName": "CVStrategy", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "function": null, + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "gas": "0x4425fd", + "value": "0x0", + "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", + "nonce": "0x3c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "function": "createProfile(uint256,string,(uint256,string),address,address[])", + "arguments": [ + "2", + "\"Pool Profile 1\"", + "(1, \"PoolProfile1\")", + "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "[0x05800FAD118693c398e4E1ceFBb1FAC54537b107, 0xF49D32655a289163297342376EA91F6434cff60f]" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x4aacca72145e1df2aec137e1f3c5e3d75db8b5f3", + "gas": "0xef1a4", + "value": "0x0", + "data": "0x3a92f65f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "nonce": "0x3d", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x1faAC9932f9a0E69a339b51fa29972e09eb27A43", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c634300081300339db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c019290000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", + "arguments": [ + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", + "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "0x000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "0", + "(1, \"strategy pointer\")", + "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x938ca", + "value": "0x0", + "data": "0xe1007d4a9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x3e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", + "arguments": [ + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", + "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "0x000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", + "0", + "(1, \"strategy pointer\")", + "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x938ca", + "value": "0x0", + "data": "0xe1007d4a9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c019290000000000000000000000001546804ebf7e769e6dee62c866ffa3c46efa9f4200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x3f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf7a78ff8ccf1217843103846f90afb7cd5cc28baccd6eb4497c689c661e17191", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "function": "setDecay(uint256)", + "arguments": [ + "9965402" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xadb2", + "value": "0x0", + "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", + "nonce": "0x40", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdafa3b94c194adefeafb72e59b59d258725d225e0505a65f3778712c32a34080", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "function": "setMaxRatio(uint256)", + "arguments": [ + "1000000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xadb2", + "value": "0x0", + "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0x41", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x72d5d867c958f14e8e360ad377429f02403bc72221097d444b48f512a34d6d6e", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "function": "setWeight(uint256)", + "arguments": [ + "5000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xada2", + "value": "0x0", + "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", + "nonce": "0x42", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xec0c3ef9c30bb915a016400ac68b42944c54d49af0067eb25730ab6ef0abe3a4", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "function": "setDecay(uint256)", + "arguments": [ + "9965402" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xadb2", + "value": "0x0", + "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", + "nonce": "0x43", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf8dbe013af809e26bc946f3dc9948856b703b619544c73b6b3233b15bcdf82b2", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "function": "setMaxRatio(uint256)", + "arguments": [ + "1000000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xadb2", + "value": "0x0", + "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", + "nonce": "0x44", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x96476e95f742174db92fb118a64f704b07033b1ced81d78bab790a53826e5eee", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "function": "setWeight(uint256)", + "arguments": [ + "5000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xada2", + "value": "0x0", + "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", + "nonce": "0x45", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "function": "activatePoints()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xa104", + "value": "0x0", + "data": "0x814516ad", + "nonce": "0x46", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", + "transactionType": "CALL", + "contractName": "CVStrategy", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "function": "activatePoints()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xa104", + "value": "0x0", + "data": "0x814516ad", + "nonce": "0x47", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x623f669227427e4147d60710b4acd40fffb3017eea1baa6c9e1ed3e9cd3cf3ac", + "transactionType": "CALL", + "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "function": "mint(address,uint256)", + "arguments": [ + "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "10000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xcc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "gas": "0xbbb7", + "value": "0x0", + "data": "0x40c10f190000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000002710", + "nonce": "0x48", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x83c42a0c9f247d6def481e4fd25b3087d8e7732c5931d2cb613eedb6c8c9dd86", + "transactionType": "CALL", + "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "function": "approve(address,uint256)", + "arguments": [ + "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0xcc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "gas": "0xbd8b", + "value": "0x0", + "data": "0x095ea7b30000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x49", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "fundPool(uint256,uint256)", + "arguments": [ + "208", + "1000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x288a1", + "value": "0x0", + "data": "0x5acd6fac00000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003e8", + "nonce": "0x4a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa9c1723e67bce0860f6cc5dba189aadcb6092626473b29b19a0cfb9f78d9a95b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "208", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x4c67b", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "nonce": "0x4b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb28769dea47e397b2bc1757ebd80590688fdfdf18cada15413714bdcff13471b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "208", + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x4acb4", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "nonce": "0x4c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xde40760675bbeb7897f23d6e185383af0118e07a01316bf8d5940e5b48ebea5a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "208", + "0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x4acb4", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "nonce": "0x4d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x63a771d75e39376bb3bea7690b1e417aa5c9fdf9c1858836c33901c1ace67ec9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "function": "registerRecipient(uint256,bytes)", + "arguments": [ + "209", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d10000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", + "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", + "gas": "0x3827a", + "value": "0x0", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d1000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d10000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x4e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd557794d1f7baa3e8a5ccbd798b7b847f69e6befdbf4f6ff1a0e5d1c80d430aa", + "transactionIndex": "0x1", + "blockHash": "0xc2ee5086094b1a4ab6cc31b4f71605d4b9776da36a910c06fd3cf08a1caaf180", + "blockNumber": "0x60f0f7", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0xed8f7", + "gasUsed": "0xed8f7", + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xc02645bc9aaa544cae93700543597e45084a6e5813daacc7082a8d136410339b", + "transactionIndex": "0x1", + "blockHash": "0xb92ad2e2b5adba4b9b383c98ebc7e1e344f35d80ca00e885dc9619f4d753da3b", + "blockNumber": "0x60f105", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x277299", + "gasUsed": "0x277299", + "contractAddress": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x215da5b6d4b9043821b60a983bc9198525d919c9b8459d3e1e8e0e98f3b0bc5d", + "transactionIndex": "0x1", + "blockHash": "0x69b786a4613f7360d8af42521b6f8e9a281039aa27f8ed7dbaecb86a0dabe4fa", + "blockNumber": "0x60f115", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x95484", + "gasUsed": "0x95484", + "contractAddress": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x17c5475d7ce6eb8dff539c5b0ad7703f010435f7b87787934c5e339979b1140c", + "transactionIndex": "0x1", + "blockHash": "0x50bcd605765b25101864f6d83eb0b0ddc6752dbf94b7f21c1367a5f6fcc0d380", + "blockNumber": "0x60f12a", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x35185b", + "gasUsed": "0x35185b", + "contractAddress": "0x809d329aF7a2D11667666c27929a037e96490771", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x2276d7ba131a135c96634c46ef6193a43d96cf1c4122468cf8b728663fe176d1", + "transactionIndex": "0x1", + "blockHash": "0x3f1d86c695aa457772eb1c508215d2edccfd9be8acf22f4d3f629161c5331a22", + "blockNumber": "0x60f13c", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", + "cumulativeGasUsed": "0x201e6", + "gasUsed": "0x201e6", + "contractAddress": null, + "logs": [ + { + "address": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", + "topics": [ + "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", + "0x000000000000000000000000460df564a3dba27f3ebab1a7c82d855ef0da6048" + ], + "data": "0x000000000000000000000000809d329af7a2d11667666c27929a037e96490771", + "blockHash": "0x3f1d86c695aa457772eb1c508215d2edccfd9be8acf22f4d3f629161c5331a22", + "blockNumber": "0x60f13c", + "transactionHash": "0x2276d7ba131a135c96634c46ef6193a43d96cf1c4122468cf8b728663fe176d1", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000008000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000082000000020000000000000000000100000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x392894ffdb01a9723adb9fd31ea419fbbf35a3f64f09935fa0f9695842e714b2", + "transactionIndex": "0x1", + "blockHash": "0x9aa9b3d93443399285945e423b20401021c8ba8fd5602987a04bbc108644d7b6", + "blockNumber": "0x60f140", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", + "cumulativeGasUsed": "0x28498", + "gasUsed": "0x28498", + "contractAddress": null, + "logs": [ + { + "address": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", + "topics": [ + "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "blockHash": "0x9aa9b3d93443399285945e423b20401021c8ba8fd5602987a04bbc108644d7b6", + "blockNumber": "0x60f140", + "transactionHash": "0x392894ffdb01a9723adb9fd31ea419fbbf35a3f64f09935fa0f9695842e714b2", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000020000800000000000000000000000000000000000000000000000000000000000000000000010000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000020000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", + "transactionIndex": "0x2", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", + "cumulativeGasUsed": "0x29c8f3", + "gasUsed": "0x288a4e", + "contractAddress": null, + "logs": [ + { + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", + "topics": [ + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", + "0x000000000000000000000000460df564a3dba27f3ebab1a7c82d855ef0da6048", + "0x0000000000000000000000009fcf38529429a4a8105966645a3dbf04ac70c88f" + ], + "data": "0x", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", + "0x96bcce2e6fef6fce0a6f02bf93b4261ce51d9d1073fc179ad4c2dbc9de91dc14" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000009fcf38529429a4a8105966645a3dbf04ac70c88f00000000000000000000000018c9359ff9591154f00eb66857d8e08de13fa1110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004020000000840000000000000080000000000000000400000000000000000000000000000000000000000000000000000000000000000008000000000000000000000040000000000000000000000000000000000000000000000000000000000020000400000000000000a00000000000000000000000000000000000000000000000000000000000800000000000000000002000000000000080000000000000000004000000000000000001000000000000000001010000000000000000000000000000002000000400040000800000000000100400000000020000000002000000000000000000000004000100000000000000000000040000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe37af200f8bd3c5a39e1a851d0b0782798a8ba1ff73f68b823f37911df9414e9", + "transactionIndex": "0x2", + "blockHash": "0x0c4b6b10973809acda23ad48f8a8140ef2f8d49dd154a9ee7e50cbfb939215fb", + "blockNumber": "0x60f15a", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x344681", + "gasUsed": "0x3392b7", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x80d51c3bc9d39ad9174797dad90190ca7c2b83ae4d80261ebe3983fe35751b77", + "transactionIndex": "0x1", + "blockHash": "0xd65ed53e53de8370959ebe54593e0913940533f4ad99464e41742ab9acecfbbd", + "blockNumber": "0x60f173", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": null, + "cumulativeGasUsed": "0x339482", + "gasUsed": "0x339482", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", + "transactionIndex": "0x1", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "cumulativeGasUsed": "0xb3f9c", + "gasUsed": "0xb3f9c", + "contractAddress": null, + "logs": [ + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", + "0x00000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", + "0x000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", + "topics": [ + "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000001faac9932f9a0e69a339b51fa29972e09eb27a43000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000000200000000000000000000000000000400000000000000000000000000008080000800000000000000000000000000000000000000000000000000000040000000400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000020000000000000000000000000000000800800000000010000000000000000000000000000000000000004000000000000000000000000000000200001000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000200000000000000004000000000000000000240000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionIndex": "0x1", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x7348a", + "gasUsed": "0x7348a", + "contractAddress": null, + "logs": [ + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0ef3da253a26a8ae30b849484f4ae5aa5379b88097024e3713add0f95a4180da", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0x00000000000000000000000000000000000000000000000000000000000000d0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0ef3da253a26a8ae30b849484f4ae5aa5379b88097024e3713add0f95a4180da" + ], + "data": "0x", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "topics": [ + "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000d0", + "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000d0", + "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", + "0x00000000000000000000000000000000000000000000000000000000000000d0", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929" + ], + "data": "0x000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b2000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000004000000000800000000000000080000000000000000021000000000000000000000000000000000800000000000000000000000000000000000000000001000001000000000000400000000000000040000000000000000000000000000000000020001400001000004000800008000080000000000000000000004000000000008000000000004000000800000000010000000000000002000000000000000000000000000000002000000000000200000000200001000000000000000000000000204000000000000000000000000000000000100000000000020000000000000008200000000002010000000000000000000000000200000400200", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionIndex": "0x1", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x6ad2c", + "gasUsed": "0x6ad2c", + "contractAddress": null, + "logs": [ + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xf168acb2abf9523904e252a646feb5c9561fe2549ade86b6688244923f823082", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", + "0x00000000000000000000000000000000000000000000000000000000000000d1", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xf168acb2abf9523904e252a646feb5c9561fe2549ade86b6688244923f823082" + ], + "data": "0x", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "topics": [ + "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000d1", + "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x00000000000000000000000000000000000000000000000000000000000000d1", + "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", + "0x00000000000000000000000000000000000000000000000000000000000000d1", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929" + ], + "data": "0x0000000000000000000000001546804ebf7e769e6dee62c866ffa3c46efa9f42000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00002004000000000800000000000000080000000000000000001000000000000000000000000000000000800000000000000000000000000000000000000000001000001000000000000400000000000000000000000000080000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000000006000000800000000010000000000000000000080000000000000100000000000002200000000000200000000200001000000000000000002000000204000000000000000080000000008000000100000000000020000000000000000200000000000010000000000000000000000000200000000200", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xf7a78ff8ccf1217843103846f90afb7cd5cc28baccd6eb4497c689c661e17191", + "transactionIndex": "0x1", + "blockHash": "0x4925f62f2cb80e0986a73e48bfc18faebad4ea693d181ace75ff8b0477e890c6", + "blockNumber": "0x60f1ec", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "cumulativeGasUsed": "0xbcc3", + "gasUsed": "0xbcc3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xdafa3b94c194adefeafb72e59b59d258725d225e0505a65f3778712c32a34080", + "transactionIndex": "0x1", + "blockHash": "0x5a7f1ebbe3c648588e704c5d6c64fcd40b3b4742e9c7a5bcfe3ed9b4bbaa1307", + "blockNumber": "0x60f203", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "cumulativeGasUsed": "0xbc99", + "gasUsed": "0xbc99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x72d5d867c958f14e8e360ad377429f02403bc72221097d444b48f512a34d6d6e", + "transactionIndex": "0x1", + "blockHash": "0x5ed2149ecd986169200a3b4ca5521ec6d8b5da1f4bd23d18cf4d23cfacfa7869", + "blockNumber": "0x60f21a", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "cumulativeGasUsed": "0xbcb6", + "gasUsed": "0xbcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xec0c3ef9c30bb915a016400ac68b42944c54d49af0067eb25730ab6ef0abe3a4", + "transactionIndex": "0x1", + "blockHash": "0x7ad16d497e75b40a0ea807897373d2ba2cbfa6d562e9c2673794275f2c366fff", + "blockNumber": "0x60f234", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "cumulativeGasUsed": "0xbcc3", + "gasUsed": "0xbcc3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xf8dbe013af809e26bc946f3dc9948856b703b619544c73b6b3233b15bcdf82b2", + "transactionIndex": "0x1", + "blockHash": "0x7d8d4e4d04077c34bbdd3a6ce5ca82315d353f088ea366bcb5ca72f3d43e78af", + "blockNumber": "0x60f248", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "cumulativeGasUsed": "0xbc99", + "gasUsed": "0xbc99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x96476e95f742174db92fb118a64f704b07033b1ced81d78bab790a53826e5eee", + "transactionIndex": "0x1", + "blockHash": "0x524d1b3781ef38f662433df7be2bb3c3fa7cd81bac19e545cc15c3ceb0978084", + "blockNumber": "0x60f25c", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "cumulativeGasUsed": "0xbcb6", + "gasUsed": "0xbcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", + "transactionIndex": "0x1", + "blockHash": "0x0b3bfa13b503ff01a21f6e32ec36e4cf6636b085776323047dd6614bbb49bc7e", + "blockNumber": "0x60f277", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "cumulativeGasUsed": "0x1ed8f", + "gasUsed": "0x1ed8f", + "contractAddress": null, + "logs": [ + { + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", + "topics": [ + "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" + ], + "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0x0b3bfa13b503ff01a21f6e32ec36e4cf6636b085776323047dd6614bbb49bc7e", + "blockNumber": "0x60f277", + "transactionHash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", + "topics": [ + "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" + ], + "data": "0x000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b2", + "blockHash": "0x0b3bfa13b503ff01a21f6e32ec36e4cf6636b085776323047dd6614bbb49bc7e", + "blockNumber": "0x60f277", + "transactionHash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000020000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", + "transactionIndex": "0x2", + "blockHash": "0x2c61374d5f9c3c25aba41eb2500eb980360e803b92456175ee5f1ce36117452d", + "blockNumber": "0x60f28e", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "cumulativeGasUsed": "0xd5afc", + "gasUsed": "0x15217", + "contractAddress": null, + "logs": [ + { + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", + "topics": [ + "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" + ], + "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0x2c61374d5f9c3c25aba41eb2500eb980360e803b92456175ee5f1ce36117452d", + "blockNumber": "0x60f28e", + "transactionHash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", + "transactionIndex": "0x2", + "logIndex": "0xa", + "removed": false + }, + { + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", + "topics": [ + "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" + ], + "data": "0x0000000000000000000000001546804ebf7e769e6dee62c866ffa3c46efa9f42", + "blockHash": "0x2c61374d5f9c3c25aba41eb2500eb980360e803b92456175ee5f1ce36117452d", + "blockNumber": "0x60f28e", + "transactionHash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", + "transactionIndex": "0x2", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000020000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x623f669227427e4147d60710b4acd40fffb3017eea1baa6c9e1ed3e9cd3cf3ac", + "transactionIndex": "0x1", + "blockHash": "0x42970a983e134b7e9b6fc4c3724cb929c8dcd38dfcd64cf0857ec441a78f7c84", + "blockNumber": "0x60f2a9", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "cumulativeGasUsed": "0x10a45", + "gasUsed": "0x10a45", + "contractAddress": null, + "logs": [ + { + "address": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x42970a983e134b7e9b6fc4c3724cb929c8dcd38dfcd64cf0857ec441a78f7c84", + "blockNumber": "0x60f2a9", + "transactionHash": "0x623f669227427e4147d60710b4acd40fffb3017eea1baa6c9e1ed3e9cd3cf3ac", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000002000080000000000000000000000000000000000000000000000020000000000000000200000000000000000000000000000000000000000100000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x83c42a0c9f247d6def481e4fd25b3087d8e7732c5931d2cb613eedb6c8c9dd86", + "transactionIndex": "0x1", + "blockHash": "0x25f827b3e015f0c3b8ad784f1539de41ac374672f0877065c01db5339a6c8512", + "blockNumber": "0x60f2c1", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "cumulativeGasUsed": "0xb50b", + "gasUsed": "0xb50b", + "contractAddress": null, + "logs": [ + { + "address": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x0000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x25f827b3e015f0c3b8ad784f1539de41ac374672f0877065c01db5339a6c8512", + "blockNumber": "0x60f2c1", + "transactionHash": "0x83c42a0c9f247d6def481e4fd25b3087d8e7732c5931d2cb613eedb6c8c9dd86", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000004000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000080000000000000000000000000000000010000000000000000000010000000000200000000000000000000000000000000000000000100000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", + "transactionIndex": "0x1", + "blockHash": "0x0a84dce5b468fb33b08393311eedc740ae9a0b46b1503c036d50f199355e6db4", + "blockNumber": "0x60f2d7", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x1bb82", + "gasUsed": "0x1bb82", + "contractAddress": null, + "logs": [ + { + "address": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", + "0x000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b2" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0x0a84dce5b468fb33b08393311eedc740ae9a0b46b1503c036d50f199355e6db4", + "blockNumber": "0x60f2d7", + "transactionHash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "topics": [ + "0xbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851", + "0x00000000000000000000000000000000000000000000000000000000000000d0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0a84dce5b468fb33b08393311eedc740ae9a0b46b1503c036d50f199355e6db4", + "blockNumber": "0x60f2d7", + "transactionHash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x2100000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000002040000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000200000000200000000000000000000000002000280000000000000000000000000000000000000000000000000000000000000000200000000002000000000000000000000100000200100000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xa9c1723e67bce0860f6cc5dba189aadcb6092626473b29b19a0cfb9f78d9a95b", + "transactionIndex": "0x1", + "blockHash": "0xb48aecbdf3f2c0a6fa70f6de4e8c86f40866c3d5bed4f4776c09d47e55a894f0", + "blockNumber": "0x60f2dc", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x3750f", + "gasUsed": "0x3750f", + "contractAddress": null, + "logs": [ + { + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0xb48aecbdf3f2c0a6fa70f6de4e8c86f40866c3d5bed4f4776c09d47e55a894f0", + "blockNumber": "0x60f2dc", + "transactionHash": "0xa9c1723e67bce0860f6cc5dba189aadcb6092626473b29b19a0cfb9f78d9a95b", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080400000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xb28769dea47e397b2bc1757ebd80590688fdfdf18cada15413714bdcff13471b", + "transactionIndex": "0x1", + "blockHash": "0x7c38fdd18e26d5a33d2cb5014afa8e3d540b360f483fec88dde3b23a0a04b471", + "blockNumber": "0x60f2f3", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x33243", + "gasUsed": "0x33243", + "contractAddress": null, + "logs": [ + { + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000019", + "blockHash": "0x7c38fdd18e26d5a33d2cb5014afa8e3d540b360f483fec88dde3b23a0a04b471", + "blockNumber": "0x60f2f3", + "transactionHash": "0xb28769dea47e397b2bc1757ebd80590688fdfdf18cada15413714bdcff13471b", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080400000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xde40760675bbeb7897f23d6e185383af0118e07a01316bf8d5940e5b48ebea5a", + "transactionIndex": "0x1", + "blockHash": "0xa60332c2893f16cc7a2d4b9b152fdae53657939629f0442503d35c98e69ad21c", + "blockNumber": "0x60f2f5", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x33243", + "gasUsed": "0x33243", + "contractAddress": null, + "logs": [ + { + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xa60332c2893f16cc7a2d4b9b152fdae53657939629f0442503d35c98e69ad21c", + "blockNumber": "0x60f2f5", + "transactionHash": "0xde40760675bbeb7897f23d6e185383af0118e07a01316bf8d5940e5b48ebea5a", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080400000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x63a771d75e39376bb3bea7690b1e417aa5c9fdf9c1858836c33901c1ace67ec9", + "transactionIndex": "0x1", + "blockHash": "0xfbea6a26e1f7040e057075c6207f28bb5950b4d722605f41245f4a0f7353d6ce", + "blockNumber": "0x60f2f8", + "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", + "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", + "cumulativeGasUsed": "0x28a7c", + "gasUsed": "0x28a7c", + "contractAddress": null, + "logs": [ + { + "address": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "topics": [ + "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xfbea6a26e1f7040e057075c6207f28bb5950b4d722605f41245f4a0f7353d6ce", + "blockNumber": "0x60f2f8", + "transactionHash": "0x63a771d75e39376bb3bea7690b1e417aa5c9fdf9c1858836c33901c1ace67ec9", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704967022, + "chain": 421614, + "multi": false, + "commit": "ae47570" +} \ No newline at end of file diff --git a/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json b/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json index 2dcd975c7..7406dc4f4 100644 --- a/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json +++ b/broadcast/DeployCVArbSepolia.s.sol/421614/run-latest.json @@ -1,169 +1,169 @@ { "transactions": [ { - "hash": "0xe34ca35a43c33b980f454fa51cad569c0d072b4ac4509b94e4519aab61b6b669", + "hash": "0xd557794d1f7baa3e8a5ccbd798b7b847f69e6befdbf4f6ff1a0e5d1c80d430aa", "transactionType": "CREATE", "contractName": null, - "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x101db1", + "gas": "0x13af89", "value": "0x0", "data": "0x60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c63430008130033", - "nonce": "0x19", + "nonce": "0x34", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x86b9fc2f4fb36940a60d4bb0ad1986ba61a609d21c0995b52a50e0e026103523", + "hash": "0xc02645bc9aaa544cae93700543597e45084a6e5813daacc7082a8d136410339b", "transactionType": "CREATE", "contractName": "RegistryFactory", - "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "contractAddress": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x2c0e6a", + "gas": "0x342097", "value": "0x0", "data": "0x6080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033", - "nonce": "0x1a", + "nonce": "0x35", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x6e900cfe67da2d1061e5222719036ccb5f55b17a9b08fad062175667f1145cf6", + "hash": "0x215da5b6d4b9043821b60a983bc9198525d919c9b8459d3e1e8e0e98f3b0bc5d", "transactionType": "CREATE", "contractName": "SafeProxyFactory", - "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "contractAddress": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0xa0424", + "gas": "0xc6542", "value": "0x0", "data": "0x608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033", - "nonce": "0x1b", + "nonce": "0x36", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x14964dd8679e685d1d0beb17c96dfa2d8cfdbf5f1a8f8da34bdd0768f13d22a8", + "hash": "0x17c5475d7ce6eb8dff539c5b0ad7703f010435f7b87787934c5e339979b1140c", "transactionType": "CREATE", "contractName": "Safe", - "contractAddress": "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", + "contractAddress": "0x809d329aF7a2D11667666c27929a037e96490771", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x3bdc06", + "gas": "0x461530", "value": "0x0", "data": "0x608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033", - "nonce": "0x1c", + "nonce": "0x37", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", + "hash": "0x2276d7ba131a135c96634c46ef6193a43d96cf1c4122468cf8b728663fe176d1", "transactionType": "CALL", "contractName": "SafeProxyFactory", - "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "contractAddress": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ - "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", + "0x809d329aF7a2D11667666c27929a037e96490771", "0x", "0" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x226bb0ce601b5fa0b9305e95edb2edbc842588ce", - "gas": "0x6ed8", + "to": "0xc0011ebfd342c6ac86a96d5e719d55690c955640", + "gas": "0xd4ac", "value": "0x0", - "data": "0x1688f0b90000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x1d", + "data": "0x1688f0b9000000000000000000000000809d329af7a2d11667666c27929a037e96490771000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x38", "accessList": [] }, "additionalContracts": [ { "transactionType": "CREATE2", - "address": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", - "initCode": "0x608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c634300081300330000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf" + "address": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", + "initCode": "0x608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033000000000000000000000000809d329af7a2d11667666c27929a037e96490771" } ], "isFixedGasLimit": false }, { - "hash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "hash": "0x392894ffdb01a9723adb9fd31ea419fbbf35a3f64f09935fa0f9695842e714b2", "transactionType": "CALL", "contractName": "SafeProxy", - "contractAddress": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "contractAddress": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x80cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238", - "gas": "0x73a3", + "to": "0x460df564a3dba27f3ebab1a7c82d855ef0da6048", + "gas": "0xf53c", "value": "0x0", "data": "0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x1e", + "nonce": "0x39", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "hash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", "transactionType": "CALL", "contractName": "RegistryFactory", - "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "contractAddress": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", "function": "createRegistry((address,address,uint256,uint256,uint256,(uint256,string),address))", "arguments": [ - "(0x1133eA7Af70876e64665ecD07C0A0476d09465a1, 0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9, 50, 0, 0, (1, \"strategy pointer\"), 0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238)" + "(0x1133eA7Af70876e64665ecD07C0A0476d09465a1, 0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D, 50, 0, 0, (1, \"strategy pointer\"), 0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048)" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0xeab40527a5d4ac7605bef58113adae14cb4f8939", - "gas": "0x77c3", + "to": "0x9fcf38529429a4a8105966645a3dbf04ac70c88f", + "gas": "0x1157f", "value": "0x0", - "data": "0x4f350fb200000000000000000000000000000000000000000000000000000000000000200000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a10000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "nonce": "0x1f", + "data": "0x4f350fb200000000000000000000000000000000000000000000000000000000000000200000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000460df564a3dba27f3ebab1a7c82d855ef0da6048000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "nonce": "0x3a", "accessList": [] }, "additionalContracts": [ { "transactionType": "CREATE", - "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", "initCode": "0x608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033" }, { "transactionType": "CREATE2", - "address": "0xA046556fDb0FA0B97B32a904B685CBE0F7c70919", - "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c63430008130033ee63582435f34d9ed9980fb910e179ce3b8f5edec4e4b9ce9a52bffb2e6262c50000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" + "address": "0x18C9359ff9591154f00eB66857D8E08DE13fa111", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c6343000813003396bcce2e6fef6fce0a6f02bf93b4261ce51d9d1073fc179ad4c2dbc9de91dc140000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" } ], "isFixedGasLimit": false }, { - "hash": "0xbbeaccd47214d8b2e969431cb16fa58f5c37dde6f11097b5b9c0af65162e6809", + "hash": "0xe37af200f8bd3c5a39e1a851d0b0782798a8ba1ff73f68b823f37911df9414e9", "transactionType": "CREATE", "contractName": "CVStrategy", - "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "function": null, "arguments": [ "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" @@ -171,20 +171,20 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x397ed6", + "gas": "0x4425fd", "value": "0x0", "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", - "nonce": "0x20", + "nonce": "0x3b", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x70bb20ba942e578f571cfc30beaf91f2f16f2bf3145681a412db67887cc6fcc7", + "hash": "0x80d51c3bc9d39ad9174797dad90190ca7c2b83ae4d80261ebe3983fe35751b77", "transactionType": "CREATE", "contractName": "CVStrategy", - "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "function": null, "arguments": [ "0x1133eA7Af70876e64665ecD07C0A0476d09465a1" @@ -192,23 +192,23 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "gas": "0x397ed6", + "gas": "0x4425fd", "value": "0x0", "data": "0x60c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300330000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1", - "nonce": "0x21", + "nonce": "0x3c", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "hash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "function": "createProfile(uint256,string,(uint256,string),address,address[])", "arguments": [ - "1", + "2", "\"Pool Profile 1\"", "(1, \"PoolProfile1\")", "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", @@ -218,32 +218,32 @@ "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", "to": "0x4aacca72145e1df2aec137e1f3c5e3d75db8b5f3", - "gas": "0xe4eb9", + "gas": "0xef1a4", "value": "0x0", - "data": "0x3a92f65f000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", - "nonce": "0x22", + "data": "0x3a92f65f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", + "nonce": "0x3d", "accessList": [] }, "additionalContracts": [ { "transactionType": "CREATE2", - "address": "0xe92fb133261Bc1B16CAe23Edb4F2570dfA12Db08", - "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c63430008130033a0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c96410000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" + "address": "0x1faAC9932f9a0E69a339b51fa29972e09eb27A43", + "initCode": "0x60c060405234801561001057600080fd5b5060405161089138038061089183398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516107df6100b26000396000818160c7015261025201526000818161014d015261028101526107df6000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b1039991461013b578063b61d27f614610187578063bc197c81146101b4578063f23a6e61146101e057600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b3660046103c2565b61020c565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b506101226101123660046104c6565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561014757600080fd5b5061016f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b34801561019357600080fd5b506101a76101a236600461052e565b610243565b6040516100ac91906105a9565b3480156101c057600080fd5b506101226101cf36600461065c565b63bc197c8160e01b95945050505050565b3480156101ec57600080fd5b506101226101fb366004610706565b63f23a6e6160e01b95945050505050565b60006001600160e01b03198216630271189760e51b148061023d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b604051630e6e1ae360e21b81527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa1580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f4919061076b565b6103115760405163075fd2b160e01b815260040160405180910390fd5b6001600160a01b038416610338576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b03168585604051610354919061078d565b60006040518083038185875af1925050503d8060008114610391576040519150601f19603f3d011682016040523d82523d6000602084013e610396565b606091505b5091509150816103b9576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b6000602082840312156103d457600080fd5b81356001600160e01b0319811681146103ec57600080fd5b9392505050565b80356001600160a01b038116811461040a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044e5761044e61040f565b604052919050565b600082601f83011261046757600080fd5b813567ffffffffffffffff8111156104815761048161040f565b610494601f8201601f1916602001610425565b8181528460208386010111156104a957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156104dc57600080fd5b6104e5856103f3565b93506104f3602086016103f3565b925060408501359150606085013567ffffffffffffffff81111561051657600080fd5b61052287828801610456565b91505092959194509250565b60008060006060848603121561054357600080fd5b61054c846103f3565b925060208401359150604084013567ffffffffffffffff81111561056f57600080fd5b61057b86828701610456565b9150509250925092565b60005b838110156105a0578181015183820152602001610588565b50506000910152565b60208152600082518060208401526105c8816040850160208701610585565b601f01601f19169190910160400192915050565b600082601f8301126105ed57600080fd5b8135602067ffffffffffffffff8211156106095761060961040f565b8160051b610618828201610425565b928352848101820192828101908785111561063257600080fd5b83870192505b8483101561065157823582529183019190830190610638565b979650505050505050565b600080600080600060a0868803121561067457600080fd5b61067d866103f3565b945061068b602087016103f3565b9350604086013567ffffffffffffffff808211156106a857600080fd5b6106b489838a016105dc565b945060608801359150808211156106ca57600080fd5b6106d689838a016105dc565b935060808801359150808211156106ec57600080fd5b506106f988828901610456565b9150509295509295909350565b600080600080600060a0868803121561071e57600080fd5b610727866103f3565b9450610735602087016103f3565b93506040860135925060608601359150608086013567ffffffffffffffff81111561075f57600080fd5b6106f988828901610456565b60006020828403121561077d57600080fd5b815180151581146103ec57600080fd5b6000825161079f818460208701610585565b919091019291505056fea264697066735822122003bbd7cca82089ff05abd18a49c30411b16f4040d943bd61f3e603f61eaefedf64736f6c634300081300339db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c019290000000000000000000000004aacca72145e1df2aec137e1f3c5e3d75db8b5f3" } ], "isFixedGasLimit": false }, { - "hash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "hash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", "arguments": [ - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", - "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", - "0x0000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", - "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", + "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", + "0x000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "0", "(1, \"strategy pointer\")", "[0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38]" @@ -254,23 +254,23 @@ "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", "gas": "0x938ca", "value": "0x0", - "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", - "nonce": "0x23", + "data": "0xe1007d4a9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x3e", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "hash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionType": "CALL", "contractName": null, "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])", "arguments": [ - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", - "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", - "0x0000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", + "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "0x000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", "0", "(1, \"strategy pointer\")", @@ -282,18 +282,18 @@ "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", "gas": "0x938ca", "value": "0x0", - "data": "0xe1007d4aa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", - "nonce": "0x24", + "data": "0xe1007d4a9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c019290000000000000000000000001546804ebf7e769e6dee62c866ffa3c46efa9f4200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e7465720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d905190000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "nonce": "0x3f", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xe3bd648e4e6d7ca0995b0ff36418935c7e06eb0a66993094c9a4d01bc804cd86", + "hash": "0xf7a78ff8ccf1217843103846f90afb7cd5cc28baccd6eb4497c689c661e17191", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "function": "setDecay(uint256)", "arguments": [ "9965402" @@ -301,21 +301,21 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", - "gas": "0x6bcc", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xadb2", "value": "0x0", "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", - "nonce": "0x25", + "nonce": "0x40", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xe4bab59236c12ac4c8ebddd34da43b543a4f67dddc5a65068d8d80ca0e08b9f6", + "hash": "0xdafa3b94c194adefeafb72e59b59d258725d225e0505a65f3778712c32a34080", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "function": "setMaxRatio(uint256)", "arguments": [ "1000000" @@ -323,21 +323,21 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", - "gas": "0x6bcc", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xadb2", "value": "0x0", "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", - "nonce": "0x26", + "nonce": "0x41", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xfea376821d82471713a89e0e9d88d5b62c54135daa1ac386b94d56aa9d02d8a3", + "hash": "0x72d5d867c958f14e8e360ad377429f02403bc72221097d444b48f512a34d6d6e", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "function": "setWeight(uint256)", "arguments": [ "5000" @@ -345,21 +345,21 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", - "gas": "0x6bbc", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xada2", "value": "0x0", "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", - "nonce": "0x27", + "nonce": "0x42", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd8525a1911fc63c6268f20619868d6a45d5095df3fe19e1472bd8fa16fa8f08e", + "hash": "0xec0c3ef9c30bb915a016400ac68b42944c54d49af0067eb25730ab6ef0abe3a4", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "function": "setDecay(uint256)", "arguments": [ "9965402" @@ -367,21 +367,21 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", - "gas": "0x6bcc", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xadb2", "value": "0x0", "data": "0x69fa25c40000000000000000000000000000000000000000000000000000000000980f5a", - "nonce": "0x28", + "nonce": "0x43", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x8ce3670f73bd905784986fa51605e9b3aa578cf8d895144705d754c189894f6f", + "hash": "0xf8dbe013af809e26bc946f3dc9948856b703b619544c73b6b3233b15bcdf82b2", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "function": "setMaxRatio(uint256)", "arguments": [ "1000000" @@ -389,21 +389,21 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", - "gas": "0x6bcc", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xadb2", "value": "0x0", "data": "0x11f22ae300000000000000000000000000000000000000000000000000000000000f4240", - "nonce": "0x29", + "nonce": "0x44", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x3784aa680f262082db04603cbe93b10c3fc974d3fce6932c64980545c128e605", + "hash": "0x96476e95f742174db92fb118a64f704b07033b1ced81d78bab790a53826e5eee", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "function": "setWeight(uint256)", "arguments": [ "5000" @@ -411,61 +411,61 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", - "gas": "0x6bbc", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xada2", "value": "0x0", "data": "0xfc1711f20000000000000000000000000000000000000000000000000000000000001388", - "nonce": "0x2a", + "nonce": "0x45", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "hash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "function": "activatePoints()", "arguments": [], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0xdb4a7d42186ce5c5b4c7b5e90f475f55485164a0", - "gas": "0x6af7", + "to": "0xf871cac34660a5e79623e980bc8d3033fdd106b2", + "gas": "0xa104", "value": "0x0", "data": "0x814516ad", - "nonce": "0x2b", + "nonce": "0x46", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", + "hash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", "transactionType": "CALL", "contractName": "CVStrategy", - "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "function": "activatePoints()", "arguments": [], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x518dbd9bdd33b71b07268f5f905b6da9323d14b2", - "gas": "0x6af7", + "to": "0x1546804ebf7e769e6dee62c866ffa3c46efa9f42", + "gas": "0xa104", "value": "0x0", "data": "0x814516ad", - "nonce": "0x2c", + "nonce": "0x47", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "hash": "0x623f669227427e4147d60710b4acd40fffb3017eea1baa6c9e1ed3e9cd3cf3ac", "transactionType": "CALL", "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", - "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "function": "mint(address,uint256)", "arguments": [ "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", @@ -474,21 +474,21 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x8e8c03d2ff2220c0bb22f018dd78969127d8d6f9", - "gas": "0x6d9b", + "to": "0xcc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "gas": "0xbbb7", "value": "0x0", "data": "0x40c10f190000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000002710", - "nonce": "0x2d", + "nonce": "0x48", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "hash": "0x83c42a0c9f247d6def481e4fd25b3087d8e7732c5931d2cb613eedb6c8c9dd86", "transactionType": "CALL", "contractName": "lib/allo-v2/test/utils/MockERC20.sol:MockERC20", - "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "function": "approve(address,uint256)", "arguments": [ "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", @@ -497,24 +497,24 @@ "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", - "to": "0x8e8c03d2ff2220c0bb22f018dd78969127d8d6f9", - "gas": "0x6f6f", + "to": "0xcc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "gas": "0xbd8b", "value": "0x0", "data": "0x095ea7b30000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x2e", + "nonce": "0x49", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "hash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", "transactionType": "CALL", "contractName": null, "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "fundPool(uint256,uint256)", "arguments": [ - "205", + "208", "1000" ], "transaction": { @@ -523,91 +523,91 @@ "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", "gas": "0x288a1", "value": "0x0", - "data": "0x5acd6fac00000000000000000000000000000000000000000000000000000000000000cd00000000000000000000000000000000000000000000000000000000000003e8", - "nonce": "0x2f", + "data": "0x5acd6fac00000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000003e8", + "nonce": "0x4a", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", + "hash": "0xa9c1723e67bce0860f6cc5dba189aadcb6092626473b29b19a0cfb9f78d9a95b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "registerRecipient(uint256,bytes)", "arguments": [ - "205", - "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" + "208", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", - "gas": "0x50e77", + "gas": "0x4c67b", "value": "0x0", - "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", - "nonce": "0x30", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000032000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "nonce": "0x4b", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", + "hash": "0xb28769dea47e397b2bc1757ebd80590688fdfdf18cada15413714bdcff13471b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "registerRecipient(uint256,bytes)", "arguments": [ - "205", - "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f40000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" + "208", + "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", - "gas": "0x46a48", + "gas": "0x4acb4", "value": "0x0", - "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f40000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", - "nonce": "0x31", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "nonce": "0x4c", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", + "hash": "0xde40760675bbeb7897f23d6e185383af0118e07a01316bf8d5940e5b48ebea5a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "registerRecipient(uint256,bytes)", "arguments": [ - "205", - "0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003840000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9" + "208", + "0x000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d" ], "transaction": { "type": "0x02", "from": "0x2f9e113434aebdd70bb99cb6505e1f726c578d6d", "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", - "gas": "0x46a48", + "gas": "0x4acb4", "value": "0x0", - "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000cd0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003840000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f9", - "nonce": "0x32", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000d00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d", + "nonce": "0x4d", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", + "hash": "0x63a771d75e39376bb3bea7690b1e417aa5c9fdf9c1858836c33901c1ace67ec9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "function": "registerRecipient(uint256,bytes)", "arguments": [ - "206", - "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + "209", + "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d10000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ], "transaction": { "type": "0x02", @@ -615,8 +615,8 @@ "to": "0x1133ea7af70876e64665ecd07c0a0476d09465a1", "gas": "0x3827a", "value": "0x0", - "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x33", + "data": "0x075c0e9c00000000000000000000000000000000000000000000000000000000000000d1000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000d10000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x4e", "accessList": [] }, "additionalContracts": [], @@ -625,15 +625,15 @@ ], "receipts": [ { - "transactionHash": "0xe34ca35a43c33b980f454fa51cad569c0d072b4ac4509b94e4519aab61b6b669", + "transactionHash": "0xd557794d1f7baa3e8a5ccbd798b7b847f69e6befdbf4f6ff1a0e5d1c80d430aa", "transactionIndex": "0x1", - "blockHash": "0x8b9d34ba5fda111f0bbac8802ebf58e4fd533aeffbdf216c56ef5374feee2cfe", - "blockNumber": "0x60809f", + "blockHash": "0xc2ee5086094b1a4ab6cc31b4f71605d4b9776da36a910c06fd3cf08a1caaf180", + "blockNumber": "0x60f0f7", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0xc659c", - "gasUsed": "0xc659c", - "contractAddress": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "cumulativeGasUsed": "0xed8f7", + "gasUsed": "0xed8f7", + "contractAddress": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -641,15 +641,15 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x86b9fc2f4fb36940a60d4bb0ad1986ba61a609d21c0995b52a50e0e026103523", + "transactionHash": "0xc02645bc9aaa544cae93700543597e45084a6e5813daacc7082a8d136410339b", "transactionIndex": "0x1", - "blockHash": "0x38b2b0b469d1d49dbe166ca3f4fea36f04dd9d3754a54f484c045bc7caa5b2d2", - "blockNumber": "0x6080a2", + "blockHash": "0xb92ad2e2b5adba4b9b383c98ebc7e1e344f35d80ca00e885dc9619f4d753da3b", + "blockNumber": "0x60f105", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x21e3b4", - "gasUsed": "0x21e3b4", - "contractAddress": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", + "cumulativeGasUsed": "0x277299", + "gasUsed": "0x277299", + "contractAddress": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -657,15 +657,15 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x6e900cfe67da2d1061e5222719036ccb5f55b17a9b08fad062175667f1145cf6", + "transactionHash": "0x215da5b6d4b9043821b60a983bc9198525d919c9b8459d3e1e8e0e98f3b0bc5d", "transactionIndex": "0x1", - "blockHash": "0x5b8557a97cbdf8b9223544e76528923e649a97d02ae352320e375715354437ee", - "blockNumber": "0x6080b7", + "blockHash": "0x69b786a4613f7360d8af42521b6f8e9a281039aa27f8ed7dbaecb86a0dabe4fa", + "blockNumber": "0x60f115", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x7b46b", - "gasUsed": "0x7b46b", - "contractAddress": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "cumulativeGasUsed": "0x95484", + "gasUsed": "0x95484", + "contractAddress": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -673,15 +673,15 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x14964dd8679e685d1d0beb17c96dfa2d8cfdbf5f1a8f8da34bdd0768f13d22a8", + "transactionHash": "0x17c5475d7ce6eb8dff539c5b0ad7703f010435f7b87787934c5e339979b1140c", "transactionIndex": "0x1", - "blockHash": "0xff60a1b0881ca0863b2787b84d9ee3238af61310c2229bd40cf7a5e2a82d5765", - "blockNumber": "0x6080d3", + "blockHash": "0x50bcd605765b25101864f6d83eb0b0ddc6752dbf94b7f21c1367a5f6fcc0d380", + "blockNumber": "0x60f12a", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x2e0bb6", - "gasUsed": "0x2e0bb6", - "contractAddress": "0x5dfd58BA030da6ab388139A33eeFE8b0098e68bF", + "cumulativeGasUsed": "0x35185b", + "gasUsed": "0x35185b", + "contractAddress": "0x809d329aF7a2D11667666c27929a037e96490771", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -689,80 +689,80 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", + "transactionHash": "0x2276d7ba131a135c96634c46ef6193a43d96cf1c4122468cf8b728663fe176d1", "transactionIndex": "0x1", - "blockHash": "0x1929d51e64aa9545c052e02cfd328a740e04d1c868e1e1b0b3b481db31763265", - "blockNumber": "0x6080ec", + "blockHash": "0x3f1d86c695aa457772eb1c508215d2edccfd9be8acf22f4d3f629161c5331a22", + "blockNumber": "0x60f13c", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", - "cumulativeGasUsed": "0x1c1ce", - "gasUsed": "0x1c1ce", + "to": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", + "cumulativeGasUsed": "0x201e6", + "gasUsed": "0x201e6", "contractAddress": null, "logs": [ { - "address": "0x226bb0CE601B5FA0b9305e95eDB2EdBc842588Ce", + "address": "0xC0011ebfd342c6Ac86A96D5E719d55690c955640", "topics": [ "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", - "0x00000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238" + "0x000000000000000000000000460df564a3dba27f3ebab1a7c82d855ef0da6048" ], - "data": "0x0000000000000000000000005dfd58ba030da6ab388139a33eefe8b0098e68bf", - "blockHash": "0x1929d51e64aa9545c052e02cfd328a740e04d1c868e1e1b0b3b481db31763265", - "blockNumber": "0x6080ec", - "transactionHash": "0xdf66cf285d8f938fd5cb93ff4c670b0b412c828a60e65a44eae219a1cc7bb216", + "data": "0x000000000000000000000000809d329af7a2d11667666c27929a037e96490771", + "blockHash": "0x3f1d86c695aa457772eb1c508215d2edccfd9be8acf22f4d3f629161c5331a22", + "blockNumber": "0x60f13c", + "transactionHash": "0x2276d7ba131a135c96634c46ef6193a43d96cf1c4122468cf8b728663fe176d1", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000002000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000000000800000000000000000000000000000000010000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000008000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000082000000020000000000000000000100000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "transactionHash": "0x392894ffdb01a9723adb9fd31ea419fbbf35a3f64f09935fa0f9695842e714b2", "transactionIndex": "0x1", - "blockHash": "0xb705be04e98dc5b5fad725232d3b246afdbb023ef82dd3139b7fbcd14175ee0a", - "blockNumber": "0x608102", + "blockHash": "0x9aa9b3d93443399285945e423b20401021c8ba8fd5602987a04bbc108644d7b6", + "blockNumber": "0x60f140", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", - "cumulativeGasUsed": "0x23395", - "gasUsed": "0x23395", + "to": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", + "cumulativeGasUsed": "0x28498", + "gasUsed": "0x28498", "contractAddress": null, "logs": [ { - "address": "0x80CDb4ad9E38C4767Fa0f96a5F69eCbfC47F0238", + "address": "0x460df564A3dba27F3EBaB1A7c82D855eF0dA6048", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", - "blockHash": "0xb705be04e98dc5b5fad725232d3b246afdbb023ef82dd3139b7fbcd14175ee0a", - "blockNumber": "0x608102", - "transactionHash": "0x2e6fda0d5cf85e17265aa4af49d339ce764719ee140908e695f7a02904c26df1", + "blockHash": "0x9aa9b3d93443399285945e423b20401021c8ba8fd5602987a04bbc108644d7b6", + "blockNumber": "0x60f140", + "transactionHash": "0x392894ffdb01a9723adb9fd31ea419fbbf35a3f64f09935fa0f9695842e714b2", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000408000000000000000000000000000000000100000000000000000000000000000000000010004000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000020000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000020000800000000000000000000000000000000000000000000000000000000000000000000010000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000020000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", "transactionIndex": "0x2", - "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", - "blockNumber": "0x60811d", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0xeaB40527A5d4AC7605BEf58113ADae14cB4f8939", - "cumulativeGasUsed": "0x2ecef4", - "gasUsed": "0x282403", + "to": "0x9fCf38529429a4A8105966645a3dbf04Ac70c88F", + "cumulativeGasUsed": "0x29c8f3", + "gasUsed": "0x288a4e", "contractAddress": null, "logs": [ { - "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", @@ -770,59 +770,59 @@ "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", - "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", - "blockNumber": "0x60811d", - "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", "transactionIndex": "0x2", - "logIndex": "0x3", + "logIndex": "0x2", "removed": false }, { - "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", - "0x00000000000000000000000080cdb4ad9e38c4767fa0f96a5f69ecbfc47f0238", - "0x000000000000000000000000eab40527a5d4ac7605bef58113adae14cb4f8939" + "0x000000000000000000000000460df564a3dba27f3ebab1a7c82d855ef0da6048", + "0x0000000000000000000000009fcf38529429a4a8105966645a3dbf04ac70c88f" ], "data": "0x", - "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", - "blockNumber": "0x60811d", - "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", "transactionIndex": "0x2", - "logIndex": "0x4", + "logIndex": "0x3", "removed": false }, { "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", - "0xee63582435f34d9ed9980fb910e179ce3b8f5edec4e4b9ce9a52bffb2e6262c5" + "0x96bcce2e6fef6fce0a6f02bf93b4261ce51d9d1073fc179ad4c2dbc9de91dc14" ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eab40527a5d4ac7605bef58113adae14cb4f8939000000000000000000000000a046556fdb0fa0b97b32a904b685cbe0f7c709190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "blockHash": "0x1df1f061dea71bc8658074608b2e9b8e1472c34e0913d354856c1eb54150c5f5", - "blockNumber": "0x60811d", - "transactionHash": "0xac715fbd1ca0fceb3b27d78e9c55b42489491ca35a2b06ed33eb4fe578ee15ff", + "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000009fcf38529429a4a8105966645a3dbf04ac70c88f00000000000000000000000018c9359ff9591154f00eb66857d8e08de13fa1110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x0f6f923b2948c7f8eb1dc73bd5ea7a01247c6b1b11386fff858b0c9e8083ece1", + "blockNumber": "0x60f144", + "transactionHash": "0xd53ba674d774b23cc889d433a01cc92bf4bcff1fb476220470bf63698f6dad2a", "transactionIndex": "0x2", - "logIndex": "0x5", + "logIndex": "0x4", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000004000000000840000000000000080000000000000000400000000000000000000100000000000000000000100200004000000000000000000000000000000010000000040000000000000000000000000080000000000000000000000000000000020000400000000000000a00000000000000000000000000000000000000000000000000000000000800000000100000000002000000000000080000000002000000004000000000000000000000000000000000001000040000000000000008000000000000000000000000000000000000000100100000000020000000000000000000000000000800004000000000000000000000000000000000", + "logsBloom": "0x00000004020000000840000000000000080000000000000000400000000000000000000000000000000000000000000000000000000000000000008000000000000000000000040000000000000000000000000000000000000000000000000000000000020000400000000000000a00000000000000000000000000000000000000000000000000000000000800000000000000000002000000000000080000000000000000004000000000000000001000000000000000001010000000000000000000000000000002000000400040000800000000000100400000000020000000002000000000000000000000004000100000000000000000000040000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xbbeaccd47214d8b2e969431cb16fa58f5c37dde6f11097b5b9c0af65162e6809", - "transactionIndex": "0x1", - "blockHash": "0x4b6be23c41da04fac3f406ab8af596fe1440ced827fbb99bf9c23d8e89d35b58", - "blockNumber": "0x608136", + "transactionHash": "0xe37af200f8bd3c5a39e1a851d0b0782798a8ba1ff73f68b823f37911df9414e9", + "transactionIndex": "0x2", + "blockHash": "0x0c4b6b10973809acda23ad48f8a8140ef2f8d49dd154a9ee7e50cbfb939215fb", + "blockNumber": "0x60f15a", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x2c3a2f", - "gasUsed": "0x2c3a2f", - "contractAddress": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "cumulativeGasUsed": "0x344681", + "gasUsed": "0x3392b7", + "contractAddress": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -830,15 +830,15 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x70bb20ba942e578f571cfc30beaf91f2f16f2bf3145681a412db67887cc6fcc7", + "transactionHash": "0x80d51c3bc9d39ad9174797dad90190ca7c2b83ae4d80261ebe3983fe35751b77", "transactionIndex": "0x1", - "blockHash": "0xc8a35b21ca906cfb3a95f4bfc01a3f76279fb1c9b6ac48fcd0b3b92742a7404c", - "blockNumber": "0x60814f", + "blockHash": "0xd65ed53e53de8370959ebe54593e0913940533f4ad99464e41742ab9acecfbbd", + "blockNumber": "0x60f173", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": null, - "cumulativeGasUsed": "0x2c3a2f", - "gasUsed": "0x2c3a2f", - "contractAddress": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "cumulativeGasUsed": "0x339482", + "gasUsed": "0x339482", + "contractAddress": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -846,28 +846,28 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", "transactionIndex": "0x1", - "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", - "blockNumber": "0x608169", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", - "cumulativeGasUsed": "0xad786", - "gasUsed": "0xad786", + "cumulativeGasUsed": "0xb3f9c", + "gasUsed": "0xb3f9c", "contractAddress": null, "logs": [ { "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", "0x00000000000000000000000005800fad118693c398e4e1cefbb1fac54537b107", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", - "blockNumber": "0x608169", - "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false @@ -876,14 +876,14 @@ "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929", "0x000000000000000000000000f49d32655a289163297342376ea91f6434cff60f", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", - "blockNumber": "0x608169", - "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false @@ -892,45 +892,45 @@ "address": "0x4AAcca72145e1dF2aeC137E1f3C5E3D75DB8b5f3", "topics": [ "0x1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929" ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000e92fb133261bc1b16cae23edb4f2570dfa12db08000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000", - "blockHash": "0x8a3ad358bd1ca2307fc04b896f9bcc0e80929ca6801ac40a4895ad21864213ff", - "blockNumber": "0x608169", - "transactionHash": "0x502f678c5da3aec0686db9e43d7165e4c2652a4021eaf1637da152c92e986daa", + "data": "0x000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000001faac9932f9a0e69a339b51fa29972e09eb27a43000000000000000000000000000000000000000000000000000000000000000e506f6f6c2050726f66696c65203100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000c506f6f6c50726f66696c65310000000000000000000000000000000000000000", + "blockHash": "0xe50518c7eb86a55338588bd53c88e23657be347a698b40f98a31892e9d4c9d6c", + "blockNumber": "0x60f185", + "transactionHash": "0x816167ff68e119430608468b0e9783c0da37aac8b74445c536aa21624e278288", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000004000000000000200000000000000000000000000000400000000000000000000000000008080000000000000000000002000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000020000000000000000000000000000000800800000000000000000000000000000000000000000000000004000000000000000000000000000000200001000000000000000080000000000000000000000000000000000000000000100000000200000000000000000000200000000000000004000000000000000000240000000000000", + "logsBloom": "0x00000004000000000000200000000000000000000000000000400000000000000000000000000008080000800000000000000000000000000000000000000000000000000000040000000400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000020000000000000000000000000000000800800000000010000000000000000000000000000000000000004000000000000000000000000000000200001000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000200000000000000004000000000000000000240000000000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionIndex": "0x1", - "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", - "blockNumber": "0x60817b", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", - "cumulativeGasUsed": "0x6ad2c", - "gasUsed": "0x6ad2c", + "cumulativeGasUsed": "0x7348a", + "gasUsed": "0x7348a", "contractAddress": null, "logs": [ { "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x7bc1f6d50ee439c2511c1af06c7ad15f22cd33198ee513ae0dd8329640d867ec", + "0x0ef3da253a26a8ae30b849484f4ae5aa5379b88097024e3713add0f95a4180da", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", - "blockNumber": "0x60817b", - "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false @@ -939,27 +939,27 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", - "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x00000000000000000000000000000000000000000000000000000000000000d0", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x7bc1f6d50ee439c2511c1af06c7ad15f22cd33198ee513ae0dd8329640d867ec" + "0x0ef3da253a26a8ae30b849484f4ae5aa5379b88097024e3713add0f95a4180da" ], "data": "0x", - "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", - "blockNumber": "0x60817b", - "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { - "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "topics": [ "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000cd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", - "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", - "blockNumber": "0x60817b", - "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "data": "0x00000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false @@ -968,14 +968,14 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x00000000000000000000000000000000000000000000000000000000000000d0", "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", - "blockNumber": "0x60817b", - "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionIndex": "0x1", "logIndex": "0x3", "removed": false @@ -984,14 +984,14 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x00000000000000000000000000000000000000000000000000000000000000d0", "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", - "blockNumber": "0x60817b", - "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionIndex": "0x1", "logIndex": "0x4", "removed": false @@ -1000,28 +1000,28 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", - "0x00000000000000000000000000000000000000000000000000000000000000cd", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" + "0x00000000000000000000000000000000000000000000000000000000000000d0", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929" ], - "data": "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a00000000000000000000000008e8c03d2ff2220c0bb22f018dd78969127d8d6f900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "blockHash": "0x8ba3dece0049218195d8be231136f7548f5303bb5e34ed2108539ac7f2129b85", - "blockNumber": "0x60817b", - "transactionHash": "0x9c9989db30c1894144cbcb15cec1f3a3d218b0eb56aa72e6e11303c2f43763d6", + "data": "0x000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b2000000000000000000000000cc6c8b9f745db2277f7aac1bc026d5c2ea7bd88d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0x684cc477d7d95a05ab796ad46c6eda5b77323863d9757d4883ec85f9a84e32cd", + "blockNumber": "0x60f19b", + "transactionHash": "0xa0c9df0742175d26a63784324ba1fc0bbf83e0c3b617ed1b88ed14901407e18d", "transactionIndex": "0x1", "logIndex": "0x5", "removed": false } ], "status": "0x1", - "logsBloom": "0x00002004000000000800000000000000080000000000000000001000000000000000000000000000000000000000000000000002000000000000000000000000001000001000000000000010000000000000000000000000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000020004000080800000000000000010000000000000000000000000000000000000000002000000000000200000000200001000000000000000080000020204100000000000000000000000000000000100000100200020000000000000000200000000000010000000000000000000800000200000000200", + "logsBloom": "0x00000004000000000800000000000000080000000000000000021000000000000000000000000000000000800000000000000000000000000000000000000000001000001000000000000400000000000000040000000000000000000000000000000000020001400001000004000800008000080000000000000000000004000000000008000000000004000000800000000010000000000000002000000000000000000000000000000002000000000000200000000200001000000000000000000000000204000000000000000000000000000000000100000000000020000000000000008200000000002010000000000000000000000000200000400200", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionIndex": "0x1", - "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", - "blockNumber": "0x60818c", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "cumulativeGasUsed": "0x6ad2c", @@ -1032,14 +1032,14 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x83f6cc8d7d93dc5de805391a18ffd1de9f684820168be8a90221ec8d71ffaa05", + "0xf168acb2abf9523904e252a646feb5c9561fe2549ade86b6688244923f823082", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", - "blockNumber": "0x60818c", - "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false @@ -1048,27 +1048,27 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", - "0x00000000000000000000000000000000000000000000000000000000000000ce", + "0x00000000000000000000000000000000000000000000000000000000000000d1", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x83f6cc8d7d93dc5de805391a18ffd1de9f684820168be8a90221ec8d71ffaa05" + "0xf168acb2abf9523904e252a646feb5c9561fe2549ade86b6688244923f823082" ], "data": "0x", - "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", - "blockNumber": "0x60818c", - "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { - "address": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "address": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "topics": [ "0x974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000007a4d87e56045b3e8eaf8d7cf6c642b7edb1f6e8d00000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", - "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", - "blockNumber": "0x60818c", - "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "data": "0x00000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000af5e9056b80d3bfad812a77737efea549e51962700000000000000000000000000000000000000000000000000000000009895b700000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false @@ -1077,14 +1077,14 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x00000000000000000000000000000000000000000000000000000000000000ce", + "0x00000000000000000000000000000000000000000000000000000000000000d1", "0x0000000000000000000000005b73c5498c1e3b4dba84de0f1833c4a029d90519", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", - "blockNumber": "0x60818c", - "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionIndex": "0x1", "logIndex": "0x3", "removed": false @@ -1093,14 +1093,14 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "0x00000000000000000000000000000000000000000000000000000000000000ce", + "0x00000000000000000000000000000000000000000000000000000000000000d1", "0x0000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f38", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x", - "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", - "blockNumber": "0x60818c", - "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionIndex": "0x1", "logIndex": "0x4", "removed": false @@ -1109,30 +1109,30 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0x69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1", - "0x00000000000000000000000000000000000000000000000000000000000000ce", - "0xa0041767717998f7758fe0fb9931d6c0a4fe3eb75451a6dcccfac76e9b3c9641" + "0x00000000000000000000000000000000000000000000000000000000000000d1", + "0x9db3343a159b6cb1ad102578c421075f347a32f620b469edc9dcc818a7c01929" ], - "data": "0x000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", - "blockHash": "0xd6732baaab5c90b4e3c629508cddb778dcc906bd331525d0a58cc163b0340c8e", - "blockNumber": "0x60818c", - "transactionHash": "0xa0a382ef1e3508d30f18121a11a967e9d66ab119b393fb716c37e0f53424b423", + "data": "0x0000000000000000000000001546804ebf7e769e6dee62c866ffa3c46efa9f42000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010737472617465677920706f696e74657200000000000000000000000000000000", + "blockHash": "0xa29c7c4b20ad1649f4eb24d4f7fb969549c55390d1800a0ec481cfea6647eb26", + "blockNumber": "0x60f1d0", + "transactionHash": "0x1a52ab1c4675d392e608f4ea9df18aa7979b1f6443eb480cefb4802ac2cd3857", "transactionIndex": "0x1", "logIndex": "0x5", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000024000000000800000000000000080000000000000000001000000000000100000000000000000000000000000000000002000000000000000000000000001000001000000000000000000000000000000000000000000000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000000004000000800800001000000000000000000000000000000000000000000000000002000000000000200000000200001000000000000000080000000204800000000000000000000000000000000100000000200020000000000000020200000000000010000000000000000000040000200000000202", + "logsBloom": "0x00002004000000000800000000000000080000000000000000001000000000000000000000000000000000800000000000000000000000000000000000000000001000001000000000000400000000000000000000000000080000000000000000000000020000400001000004000800008000000000000000000000000000000000000008000000000006000000800000000010000000000000000000080000000000000100000000000002200000000000200000000200001000000000000000002000000204000000000000000080000000008000000100000000000020000000000000000200000000000010000000000000000000000000200000000200", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xe3bd648e4e6d7ca0995b0ff36418935c7e06eb0a66993094c9a4d01bc804cd86", + "transactionHash": "0xf7a78ff8ccf1217843103846f90afb7cd5cc28baccd6eb4497c689c661e17191", "transactionIndex": "0x1", - "blockHash": "0xb7614b9d678e5397e60c6ac584b27f09cd06c87b97aa87f40325cb1f3dabc1bf", - "blockNumber": "0x60819d", + "blockHash": "0x4925f62f2cb80e0986a73e48bfc18faebad4ea693d181ace75ff8b0477e890c6", + "blockNumber": "0x60f1ec", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "cumulativeGasUsed": "0xbcc3", "gasUsed": "0xbcc3", "contractAddress": null, @@ -1143,12 +1143,12 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xe4bab59236c12ac4c8ebddd34da43b543a4f67dddc5a65068d8d80ca0e08b9f6", + "transactionHash": "0xdafa3b94c194adefeafb72e59b59d258725d225e0505a65f3778712c32a34080", "transactionIndex": "0x1", - "blockHash": "0xfdfe8a45de5b5cd9ea25aff555548d69bc8884446f246ecf277413fca4515a85", - "blockNumber": "0x6081b0", + "blockHash": "0x5a7f1ebbe3c648588e704c5d6c64fcd40b3b4742e9c7a5bcfe3ed9b4bbaa1307", + "blockNumber": "0x60f203", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "cumulativeGasUsed": "0xbc99", "gasUsed": "0xbc99", "contractAddress": null, @@ -1159,12 +1159,12 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xfea376821d82471713a89e0e9d88d5b62c54135daa1ac386b94d56aa9d02d8a3", + "transactionHash": "0x72d5d867c958f14e8e360ad377429f02403bc72221097d444b48f512a34d6d6e", "transactionIndex": "0x1", - "blockHash": "0x3624085dfe14bfa243cd6a1a7774f6f111cccc0b1048696c7aa3e71764a05e62", - "blockNumber": "0x6081b1", + "blockHash": "0x5ed2149ecd986169200a3b4ca5521ec6d8b5da1f4bd23d18cf4d23cfacfa7869", + "blockNumber": "0x60f21a", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "cumulativeGasUsed": "0xbcb6", "gasUsed": "0xbcb6", "contractAddress": null, @@ -1175,12 +1175,12 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xd8525a1911fc63c6268f20619868d6a45d5095df3fe19e1472bd8fa16fa8f08e", + "transactionHash": "0xec0c3ef9c30bb915a016400ac68b42944c54d49af0067eb25730ab6ef0abe3a4", "transactionIndex": "0x1", - "blockHash": "0x9f5b86139734171393d92f700b2315340acad30ea43e4a18924453b55eafa075", - "blockNumber": "0x6081cc", + "blockHash": "0x7ad16d497e75b40a0ea807897373d2ba2cbfa6d562e9c2673794275f2c366fff", + "blockNumber": "0x60f234", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "cumulativeGasUsed": "0xbcc3", "gasUsed": "0xbcc3", "contractAddress": null, @@ -1191,13 +1191,13 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x8ce3670f73bd905784986fa51605e9b3aa578cf8d895144705d754c189894f6f", - "transactionIndex": "0x3", - "blockHash": "0x1c35aa9bee2ef4cf687a78a03f91fa519ea7ce07961cc1467efde1ffe9dc1c6d", - "blockNumber": "0x6081e2", + "transactionHash": "0xf8dbe013af809e26bc946f3dc9948856b703b619544c73b6b3233b15bcdf82b2", + "transactionIndex": "0x1", + "blockHash": "0x7d8d4e4d04077c34bbdd3a6ce5ca82315d353f088ea366bcb5ca72f3d43e78af", + "blockNumber": "0x60f248", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", - "cumulativeGasUsed": "0x13808e", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "cumulativeGasUsed": "0xbc99", "gasUsed": "0xbc99", "contractAddress": null, "logs": [], @@ -1207,12 +1207,12 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x3784aa680f262082db04603cbe93b10c3fc974d3fce6932c64980545c128e605", + "transactionHash": "0x96476e95f742174db92fb118a64f704b07033b1ced81d78bab790a53826e5eee", "transactionIndex": "0x1", - "blockHash": "0x0c70ce0124bf8186c2c9b06f5cf153e6baba2def525c13603857ca7f0929f0eb", - "blockNumber": "0x6081f8", + "blockHash": "0x524d1b3781ef38f662433df7be2bb3c3fa7cd81bac19e545cc15c3ceb0978084", + "blockNumber": "0x60f25c", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "cumulativeGasUsed": "0xbcb6", "gasUsed": "0xbcb6", "contractAddress": null, @@ -1223,160 +1223,160 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "transactionHash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", "transactionIndex": "0x1", - "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", - "blockNumber": "0x6081fb", + "blockHash": "0x0b3bfa13b503ff01a21f6e32ec36e4cf6636b085776323047dd6614bbb49bc7e", + "blockNumber": "0x60f277", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "to": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "cumulativeGasUsed": "0x1ed8f", "gasUsed": "0x1ed8f", "contractAddress": null, "logs": [ { - "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", "topics": [ "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" ], "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", - "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", - "blockNumber": "0x6081fb", - "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "blockHash": "0x0b3bfa13b503ff01a21f6e32ec36e4cf6636b085776323047dd6614bbb49bc7e", + "blockNumber": "0x60f277", + "transactionHash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { - "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", "topics": [ "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" ], - "data": "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a0", - "blockHash": "0xa347bfa9e921fe9d04922a5c8f1881a0c8b37e069c07908f7cd6a6a998f12827", - "blockNumber": "0x6081fb", - "transactionHash": "0x1a7cf9e95fadf13a10351f1a8f998dfa5d317331e26a3deee57f7fcafc152f10", + "data": "0x000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b2", + "blockHash": "0x0b3bfa13b503ff01a21f6e32ec36e4cf6636b085776323047dd6614bbb49bc7e", + "blockNumber": "0x60f277", + "transactionHash": "0x9325e67cafc8a38b35bdde742b8f05dc361cd49216f78074a65db8dc959c5017", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000002000000000010000000000000000000000000000000001000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000020000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", - "transactionIndex": "0x1", - "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", - "blockNumber": "0x608218", + "transactionHash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", + "transactionIndex": "0x2", + "blockHash": "0x2c61374d5f9c3c25aba41eb2500eb980360e803b92456175ee5f1ce36117452d", + "blockNumber": "0x60f28e", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", - "cumulativeGasUsed": "0x15217", + "to": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", + "cumulativeGasUsed": "0xd5afc", "gasUsed": "0x15217", "contractAddress": null, "logs": [ { - "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", "topics": [ "0x67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689" ], "data": "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", - "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", - "blockNumber": "0x608218", - "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", - "transactionIndex": "0x1", - "logIndex": "0x0", + "blockHash": "0x2c61374d5f9c3c25aba41eb2500eb980360e803b92456175ee5f1ce36117452d", + "blockNumber": "0x60f28e", + "transactionHash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", + "transactionIndex": "0x2", + "logIndex": "0xa", "removed": false }, { - "address": "0x7a4d87E56045B3E8Eaf8d7cf6c642B7eDb1f6E8d", + "address": "0xAF5E9056B80D3bFAd812A77737EFeA549E519627", "topics": [ "0x3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1" ], - "data": "0x000000000000000000000000518dbd9bdd33b71b07268f5f905b6da9323d14b2", - "blockHash": "0xe688f4b97ef0e107f08effccfb3d19d18db31e2c5661b02f05c23f371f2b77e9", - "blockNumber": "0x608218", - "transactionHash": "0xfd511b4dcb838ac267715bebb5c7c2beef59d6a57556420154f93cc37cb0b212", - "transactionIndex": "0x1", - "logIndex": "0x1", + "data": "0x0000000000000000000000001546804ebf7e769e6dee62c866ffa3c46efa9f42", + "blockHash": "0x2c61374d5f9c3c25aba41eb2500eb980360e803b92456175ee5f1ce36117452d", + "blockNumber": "0x60f28e", + "transactionHash": "0x7940f53624c716cbda3326b6eb24acfedfd6581787c2669d944817ff58087a74", + "transactionIndex": "0x2", + "logIndex": "0xb", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000002000000000010000000000000000000000000000000001000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000020000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000200000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "transactionHash": "0x623f669227427e4147d60710b4acd40fffb3017eea1baa6c9e1ed3e9cd3cf3ac", "transactionIndex": "0x1", - "blockHash": "0xb7cbba328ebcb3867c040746296715a89c9518773aa12c0015c2cd7889717b82", - "blockNumber": "0x60822a", + "blockHash": "0x42970a983e134b7e9b6fc4c3724cb929c8dcd38dfcd64cf0857ec441a78f7c84", + "blockNumber": "0x60f2a9", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "to": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "cumulativeGasUsed": "0x10a45", "gasUsed": "0x10a45", "contractAddress": null, "logs": [ { - "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "address": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000002710", - "blockHash": "0xb7cbba328ebcb3867c040746296715a89c9518773aa12c0015c2cd7889717b82", - "blockNumber": "0x60822a", - "transactionHash": "0x86af814fa58ee6d4d8527ae6a728d835e828a1d1658edc10d697ca3e91392585", + "blockHash": "0x42970a983e134b7e9b6fc4c3724cb929c8dcd38dfcd64cf0857ec441a78f7c84", + "blockNumber": "0x60f2a9", + "transactionHash": "0x623f669227427e4147d60710b4acd40fffb3017eea1baa6c9e1ed3e9cd3cf3ac", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000200000000800000000000000000000000000400000000000000000000000000000000000000000000000000000200000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000200000000000000000000000000000000000000000000000000", + "logsBloom": "0x01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000002000080000000000000000000000000000000000000000000000020000000000000000200000000000000000000000000000000000000000100000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "transactionHash": "0x83c42a0c9f247d6def481e4fd25b3087d8e7732c5931d2cb613eedb6c8c9dd86", "transactionIndex": "0x1", - "blockHash": "0xc100cf34687eeca0c132260512ae8665bd7aa3fd500448d595261bc59ceca0b2", - "blockNumber": "0x60822d", + "blockHash": "0x25f827b3e015f0c3b8ad784f1539de41ac374672f0877065c01db5339a6c8512", + "blockNumber": "0x60f2c1", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", - "to": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "to": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "cumulativeGasUsed": "0xb50b", "gasUsed": "0xb50b", "contractAddress": null, "logs": [ { - "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "address": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", "0x0000000000000000000000001133ea7af70876e64665ecd07c0a0476d09465a1" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xc100cf34687eeca0c132260512ae8665bd7aa3fd500448d595261bc59ceca0b2", - "blockNumber": "0x60822d", - "transactionHash": "0x4b032911c8fa7de4d2b86bd0374f150daaa3e8c2f88cadca67a13b451fb027a5", + "blockHash": "0x25f827b3e015f0c3b8ad784f1539de41ac374672f0877065c01db5339a6c8512", + "blockNumber": "0x60f2c1", + "transactionHash": "0x83c42a0c9f247d6def481e4fd25b3087d8e7732c5931d2cb613eedb6c8c9dd86", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000200000000800000000000004000000000000400000000020000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000010000000000200000000000000000000000000000000000000000000000000", + "logsBloom": "0x01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000004000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000000000080000000000000000000000000000000010000000000000000000010000000000200000000000000000000000000000000000000000100000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "transactionHash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", "transactionIndex": "0x1", - "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", - "blockNumber": "0x608240", + "blockHash": "0x0a84dce5b468fb33b08393311eedc740ae9a0b46b1503c036d50f199355e6db4", + "blockNumber": "0x60f2d7", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "cumulativeGasUsed": "0x1bb82", @@ -1384,16 +1384,16 @@ "contractAddress": null, "logs": [ { - "address": "0x8e8C03d2FF2220C0BB22f018dD78969127d8D6f9", + "address": "0xcc6c8B9f745dB2277f7aaC1Bc026d5C2Ea7bD88D", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d", - "0x000000000000000000000000db4a7d42186ce5c5b4c7b5e90f475f55485164a0" + "0x000000000000000000000000f871cac34660a5e79623e980bc8d3033fdd106b2" ], "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", - "blockNumber": "0x608240", - "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "blockHash": "0x0a84dce5b468fb33b08393311eedc740ae9a0b46b1503c036d50f199355e6db4", + "blockNumber": "0x60f2d7", + "transactionHash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false @@ -1402,117 +1402,117 @@ "address": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "topics": [ "0xbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851", - "0x00000000000000000000000000000000000000000000000000000000000000cd" + "0x00000000000000000000000000000000000000000000000000000000000000d0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x869d8e2348d95eaabd52f3d2a6f2db611048d73f33d846b4c8742e743dbc8b00", - "blockNumber": "0x608240", - "transactionHash": "0x97e11f828ca6ea2a67676c384b267d541bd82da423b29a04de18afa4aefd67f3", + "blockHash": "0x0a84dce5b468fb33b08393311eedc740ae9a0b46b1503c036d50f199355e6db4", + "blockNumber": "0x60f2d7", + "transactionHash": "0xef8b9c08d04f3334571b781a7c09ba0cf8fe0838356895bed625987ba6ff3b29", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false } ], "status": "0x1", - "logsBloom": "0x20000000000000000000000000000000000000000000000000000000000000000000000400000000000000010000000000000000000000000000000000080000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000200000080800000000001000010000000000400000000000000000000000000000000000000000000200000000200000000000000000000000002000200100000000000000000000000000000000000002000000000000000000000000200000000000000000000000000000000100000200000000000", + "logsBloom": "0x2100000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a000000000002040000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000200000000200000000000000000000000002000280000000000000000000000000000000000000000000000000000000000000000200000000002000000000000000000000100000200100000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", + "transactionHash": "0xa9c1723e67bce0860f6cc5dba189aadcb6092626473b29b19a0cfb9f78d9a95b", "transactionIndex": "0x1", - "blockHash": "0xccd08e634ead2f2e3b450672613b5443c7080ff3e6f0a3d652b0d46022963a02", - "blockNumber": "0x608251", + "blockHash": "0xb48aecbdf3f2c0a6fa70f6de4e8c86f40866c3d5bed4f4776c09d47e55a894f0", + "blockNumber": "0x60f2dc", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", - "cumulativeGasUsed": "0x3751b", - "gasUsed": "0x3751b", + "cumulativeGasUsed": "0x3750f", + "gasUsed": "0x3750f", "contractAddress": null, "logs": [ { - "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "topics": [ "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0xccd08e634ead2f2e3b450672613b5443c7080ff3e6f0a3d652b0d46022963a02", - "blockNumber": "0x608251", - "transactionHash": "0x0b8c48c6eda26ad3231af26411ebba6b0ba0bf483041a170f37cbba0c6e3f205", + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0xb48aecbdf3f2c0a6fa70f6de4e8c86f40866c3d5bed4f4776c09d47e55a894f0", + "blockNumber": "0x60f2dc", + "transactionHash": "0xa9c1723e67bce0860f6cc5dba189aadcb6092626473b29b19a0cfb9f78d9a95b", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080400000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", + "transactionHash": "0xb28769dea47e397b2bc1757ebd80590688fdfdf18cada15413714bdcff13471b", "transactionIndex": "0x1", - "blockHash": "0xee6627cf5ad25f6bd4924f398e675ef0708ffc1970e085b8f82d81f88f03d6e1", - "blockNumber": "0x60826a", + "blockHash": "0x7c38fdd18e26d5a33d2cb5014afa8e3d540b360f483fec88dde3b23a0a04b471", + "blockNumber": "0x60f2f3", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", - "cumulativeGasUsed": "0x3324f", - "gasUsed": "0x3324f", + "cumulativeGasUsed": "0x33243", + "gasUsed": "0x33243", "contractAddress": null, "logs": [ { - "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "topics": [ "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d00000000000000000000000000000000000000000000000000000000000001f4", - "blockHash": "0xee6627cf5ad25f6bd4924f398e675ef0708ffc1970e085b8f82d81f88f03d6e1", - "blockNumber": "0x60826a", - "transactionHash": "0x38357d85b81d31569eb5f39eff7cf19fc41e6ad40b0ef34258f4eab1cc94e0a2", + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000019", + "blockHash": "0x7c38fdd18e26d5a33d2cb5014afa8e3d540b360f483fec88dde3b23a0a04b471", + "blockNumber": "0x60f2f3", + "transactionHash": "0xb28769dea47e397b2bc1757ebd80590688fdfdf18cada15413714bdcff13471b", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080400000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", + "transactionHash": "0xde40760675bbeb7897f23d6e185383af0118e07a01316bf8d5940e5b48ebea5a", "transactionIndex": "0x1", - "blockHash": "0xaf304dc5bbc34e711579536b09ef888441b4d8cbc6d5dd26ed2961c24016b5b1", - "blockNumber": "0x608281", + "blockHash": "0xa60332c2893f16cc7a2d4b9b152fdae53657939629f0442503d35c98e69ad21c", + "blockNumber": "0x60f2f5", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", - "cumulativeGasUsed": "0x3324f", - "gasUsed": "0x3324f", + "cumulativeGasUsed": "0x33243", + "gasUsed": "0x33243", "contractAddress": null, "logs": [ { - "address": "0xDb4A7D42186cE5C5B4C7b5E90F475f55485164A0", + "address": "0xf871CAC34660a5e79623E980bc8d3033fDd106b2", "topics": [ "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000384", - "blockHash": "0xaf304dc5bbc34e711579536b09ef888441b4d8cbc6d5dd26ed2961c24016b5b1", - "blockNumber": "0x608281", - "transactionHash": "0x0a1cf97f1234dc0828e53dcb8998ce4bac6ab4bcfbd748a817ba85cda05a5b81", + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xa60332c2893f16cc7a2d4b9b152fdae53657939629f0442503d35c98e69ad21c", + "blockNumber": "0x60f2f5", + "transactionHash": "0xde40760675bbeb7897f23d6e185383af0118e07a01316bf8d5940e5b48ebea5a", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000000", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080400000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", + "transactionHash": "0x63a771d75e39376bb3bea7690b1e417aa5c9fdf9c1858836c33901c1ace67ec9", "transactionIndex": "0x1", - "blockHash": "0xef51f92fb9d9fc1ac8f96c3443c6dc70f4de4022dde1ffc93e6ed63282fe1353", - "blockNumber": "0x60829d", + "blockHash": "0xfbea6a26e1f7040e057075c6207f28bb5950b4d722605f41245f4a0f7353d6ce", + "blockNumber": "0x60f2f8", "from": "0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d", "to": "0x1133eA7Af70876e64665ecD07C0A0476d09465a1", "cumulativeGasUsed": "0x28a7c", @@ -1520,21 +1520,21 @@ "contractAddress": null, "logs": [ { - "address": "0x518Dbd9BDd33B71B07268f5f905b6dA9323d14b2", + "address": "0x1546804EbF7e769E6dEe62c866FFA3c46EFa9F42", "topics": [ "0x3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b4" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000002f9e113434aebdd70bb99cb6505e1f726c578d6d0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xef51f92fb9d9fc1ac8f96c3443c6dc70f4de4022dde1ffc93e6ed63282fe1353", - "blockNumber": "0x60829d", - "transactionHash": "0xa7def501daa84654a5b7495f2ef92f6c0938138a753c7447107773ba2ce71978", + "blockHash": "0xfbea6a26e1f7040e057075c6207f28bb5950b4d722605f41245f4a0f7353d6ce", + "blockNumber": "0x60f2f8", + "transactionHash": "0x63a771d75e39376bb3bea7690b1e417aa5c9fdf9c1858836c33901c1ace67ec9", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000040000000080000002", + "logsBloom": "0x00000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000", "type": "0x2", "effectiveGasPrice": "0x5f5e100" } @@ -1542,8 +1542,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1704957191, + "timestamp": 1704967022, "chain": 421614, "multi": false, - "commit": "db8ae0f" + "commit": "ae47570" } \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json b/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json index 7dd682168..e58092ffe 100644 --- a/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json +++ b/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60016080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052600892835590919060099062000046908262000102565b5050503480156200005657600080fd5b50620001ce565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200008857607f821691505b602082108103620000a957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000fd57600081815260208120601f850160051c81016020861015620000d85750805b601f850160051c820191505b81811015620000f957828155600101620000e4565b5050505b505050565b81516001600160401b038111156200011e576200011e6200005d565b62000136816200012f845462000073565b84620000af565b602080601f8311600181146200016e5760008415620001555750858301515b600019600386901b1c1916600185901b178555620000f9565b600085815260208120601f198616915b828110156200019f578886015182559484019460019091019084016200017e565b5085821015620001be5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61165b80620001de6000396000f3fe608060405234801561001057600080fd5b50600436106102405760003560e01c80637b2edf3211610145578063aa3744bd116100bd578063d5bee9f51161008c578063dac4eb1611610071578063dac4eb1614610399578063e99ce911146103a1578063ef0d790f146103b457600080fd5b8063d5bee9f514610389578063da4bf0871461039157600080fd5b8063aa3744bd1461035e578063ae15960114610366578063d1e82b5814610379578063d1f2cd881461038157600080fd5b80638e0d1a5011610114578063914a5f6d116100f9578063914a5f6d1461031a578063a0cf0aea1461033b578063a407c67a1461035657600080fd5b80638e0d1a501461030a5780638e3c24931461031257600080fd5b80637b2edf32146102fa5780637cbe79ed14610302578063829e423f146102805780638c7408c41461028057600080fd5b80634bf4ba21116101d85780636a38dd0a116101a757806374d9284e1161018c57806374d9284e14610280578063759c9a86146102ea57806379e62d0d146102f257600080fd5b80636a38dd0a146102da57806370a32944146102e257600080fd5b80634bf4ba21146102ad578063587c1243146102c25780635aff5999146102ca57806366d003ac146102d257600080fd5b8063174eedde11610214578063174eedde146102805780631b96dce6146102875780631e7bcb2e1461028f578063392f37e91461029757600080fd5b8062b1fad714610245578063030e40061461026a5780630688b135146102725780630f166ad41461027a575b600080fd5b61024d6103bc565b6040516001600160a01b0390911681526020015b60405180910390f35b61024d610401565b61024d610441565b3061024d565b600061024d565b61024d610481565b61024d6104c1565b61029f610501565b6040516102619291906111f4565b6102b5610598565b6040516102619190611259565b61024d6105bb565b61024d6105fb565b61024d61063b565b61024d61067b565b6102b56106bb565b61024d610753565b6102b5610793565b61024d6107fb565b61024d61083b565b61024d61087b565b61024d6108bb565b61032d61032836600461128b565b6108fb565b604051908152602001610261565b61024d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6102b56109df565b61024d610a47565b61032d6103743660046112a8565b610a87565b61024d610c73565b61024d610cb3565b61024d610cf3565b61024d610d33565b61024d610d73565b61032d6103af366004611319565b610db3565b61024d610e4d565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250610e89565b905090565b60006103fc6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250610e89565b60088054600980549192916105159061134b565b80601f01602080910402602001604051908101604052809291908181526020018280546105419061134b565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506106e86104c1565b816000815181106106fb576106fb611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236107fb565b8160018151811061073657610736611385565b6001600160a01b0390921660209283029190910190910152919050565b60006103fc6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506107c06103bc565b816000815181106107d3576107d3611385565b60200260200101906001600160a01b031690816001600160a01b03168152505061072361067b565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250610e89565b600a546000906109d757816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525061096961087b565b610971610793565b6040518563ffffffff1660e01b8152600401610990949392919061139b565b6020604051808303816000875af11580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d3919061142b565b600a555b5050600a5490565b60408051600280825260608083018452926000929190602083019080368337019050509050610a0c6105bb565b81600081518110610a1f57610a1f611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236108bb565b60006103fc6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250610e89565b6040805160808101825260008082526020820181905291810182905260608101829052610abb670de0a46bc207d800610e9b565b6020820152610ad16702c68af0bb140000610e9b565b6040820152610ae666038d7ea4c68000610e9b565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110610b3157610b31611385565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610b6557610b65611385565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615610b9b5750835b886001600160a01b031663e1007d4a610bb3886108fb565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006008896040518863ffffffff1660e01b8152600401610c239796959493929190611444565b6020604051808303816000875af1158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c66919061142b565b9998505050505050505050565b60006103fc6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250610e89565b60008481610dd1610dcb62989680608087901b61156b565b83610eb2565b905060806f80000000000000000000000000000000610df3866298968061158d565b610e0184600160801b61158d565b610e0e629896808a6115a0565b610e1891906115a0565b610e22919061156b565b610e2c89856115a0565b610e3691906115b7565b610e4091906115b7565b901c979650505050505050565b60006103fc6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000610e9482610f60565b5092915050565b6000610eac64174876e8008361156b565b92915050565b6000600160801b8310610f0c5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015610f585780600116600003610f3a57610f3082836110a5565b915060011c610f15565b610f4483836110a5565b9250610f5160018261158d565b9050610f15565b505092915050565b60008082604051602001610f7491906115ca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101991906115e6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061106e9085908790600401611603565b600060405180830381600087803b15801561108857600080fd5b505af115801561109c573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156111215760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610f03565b600160801b82106111745760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610f03565b60806f8000000000000000000000000000000061119184866115a0565b61119b91906115b7565b901c9392505050565b60005b838110156111bf5781810151838201526020016111a7565b50506000910152565b600081518084526111e08160208601602086016111a4565b601f01601f19169290920160200192915050565b82815260406020820152600061120d60408301846111c8565b949350505050565b600081518084526020808501945080840160005b8381101561124e5781516001600160a01b031687529582019590820190600101611229565b509495945050505050565b60208152600061126c6020830184611215565b9392505050565b6001600160a01b038116811461128857600080fd5b50565b60006020828403121561129d57600080fd5b813561126c81611273565b600080600080600060a086880312156112c057600080fd5b85356112cb81611273565b945060208601356112db81611273565b935060408601356112eb81611273565b925060608601356112fb81611273565b9150608086013561130b81611273565b809150509295509295909350565b6000806000806080858703121561132f57600080fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061135f57607f821691505b60208210810361137f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e08201526000602085015160406101008401526113fd6101208401826111c8565b90506001600160a01b038516606084015282810360808401526114208185611215565b979650505050505050565b60006020828403121561143d57600080fd5b5051919050565b878152600060206001600160a01b03808a168285015260e0604085015261146e60e085018a6111c8565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806114ae57607f821691505b87821081036114cb57634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156114ec57600181146115025761152d565b60ff198416875282151560051b8701945061152d565b60008681526020902060005b8481101561152757815489820152908901908a0161150e565b88019550505b5050505086810360c08801526115438189611215565b9e9d5050505050505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008261158857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eac57610eac611555565b8082028115828204841417610eac57610eac611555565b80820180821115610eac57610eac611555565b600082516115dc8184602087016111a4565b9190910192915050565b6000602082840312156115f857600080fd5b815161126c81611273565b6001600160a01b038316815260406020820152600061120d60408301846111c856fea26469706673582212208ebb9b2b356162d3a9b59d9f5b4b929a48c4f4d2525f9920fb88189e4ae8756b64736f6c63430008130033","sourceMap":"554:1:96:-:0;454:3409;534:52;;;;454:3409;534:52;;;;;;-1:-1:-1;;;534:52:96;;;;;;507:79;;;;454:3409;;507:79;;;;;;;:::i;:::-;;;;454:3409;;;;;;;;;;;;14:127:101;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;:::-;454:3409:96;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102405760003560e01c80637b2edf3211610145578063aa3744bd116100bd578063d5bee9f51161008c578063dac4eb1611610071578063dac4eb1614610399578063e99ce911146103a1578063ef0d790f146103b457600080fd5b8063d5bee9f514610389578063da4bf0871461039157600080fd5b8063aa3744bd1461035e578063ae15960114610366578063d1e82b5814610379578063d1f2cd881461038157600080fd5b80638e0d1a5011610114578063914a5f6d116100f9578063914a5f6d1461031a578063a0cf0aea1461033b578063a407c67a1461035657600080fd5b80638e0d1a501461030a5780638e3c24931461031257600080fd5b80637b2edf32146102fa5780637cbe79ed14610302578063829e423f146102805780638c7408c41461028057600080fd5b80634bf4ba21116101d85780636a38dd0a116101a757806374d9284e1161018c57806374d9284e14610280578063759c9a86146102ea57806379e62d0d146102f257600080fd5b80636a38dd0a146102da57806370a32944146102e257600080fd5b80634bf4ba21146102ad578063587c1243146102c25780635aff5999146102ca57806366d003ac146102d257600080fd5b8063174eedde11610214578063174eedde146102805780631b96dce6146102875780631e7bcb2e1461028f578063392f37e91461029757600080fd5b8062b1fad714610245578063030e40061461026a5780630688b135146102725780630f166ad41461027a575b600080fd5b61024d6103bc565b6040516001600160a01b0390911681526020015b60405180910390f35b61024d610401565b61024d610441565b3061024d565b600061024d565b61024d610481565b61024d6104c1565b61029f610501565b6040516102619291906111f4565b6102b5610598565b6040516102619190611259565b61024d6105bb565b61024d6105fb565b61024d61063b565b61024d61067b565b6102b56106bb565b61024d610753565b6102b5610793565b61024d6107fb565b61024d61083b565b61024d61087b565b61024d6108bb565b61032d61032836600461128b565b6108fb565b604051908152602001610261565b61024d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6102b56109df565b61024d610a47565b61032d6103743660046112a8565b610a87565b61024d610c73565b61024d610cb3565b61024d610cf3565b61024d610d33565b61024d610d73565b61032d6103af366004611319565b610db3565b61024d610e4d565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250610e89565b905090565b60006103fc6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250610e89565b60088054600980549192916105159061134b565b80601f01602080910402602001604051908101604052809291908181526020018280546105419061134b565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506106e86104c1565b816000815181106106fb576106fb611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236107fb565b8160018151811061073657610736611385565b6001600160a01b0390921660209283029190910190910152919050565b60006103fc6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506107c06103bc565b816000815181106107d3576107d3611385565b60200260200101906001600160a01b031690816001600160a01b03168152505061072361067b565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250610e89565b600a546000906109d757816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525061096961087b565b610971610793565b6040518563ffffffff1660e01b8152600401610990949392919061139b565b6020604051808303816000875af11580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d3919061142b565b600a555b5050600a5490565b60408051600280825260608083018452926000929190602083019080368337019050509050610a0c6105bb565b81600081518110610a1f57610a1f611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236108bb565b60006103fc6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250610e89565b6040805160808101825260008082526020820181905291810182905260608101829052610abb670de0a46bc207d800610e9b565b6020820152610ad16702c68af0bb140000610e9b565b6040820152610ae666038d7ea4c68000610e9b565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110610b3157610b31611385565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610b6557610b65611385565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615610b9b5750835b886001600160a01b031663e1007d4a610bb3886108fb565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006008896040518863ffffffff1660e01b8152600401610c239796959493929190611444565b6020604051808303816000875af1158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c66919061142b565b9998505050505050505050565b60006103fc6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250610e89565b60008481610dd1610dcb62989680608087901b61156b565b83610eb2565b905060806f80000000000000000000000000000000610df3866298968061158d565b610e0184600160801b61158d565b610e0e629896808a6115a0565b610e1891906115a0565b610e22919061156b565b610e2c89856115a0565b610e3691906115b7565b610e4091906115b7565b901c979650505050505050565b60006103fc6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000610e9482610f60565b5092915050565b6000610eac64174876e8008361156b565b92915050565b6000600160801b8310610f0c5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015610f585780600116600003610f3a57610f3082836110a5565b915060011c610f15565b610f4483836110a5565b9250610f5160018261158d565b9050610f15565b505092915050565b60008082604051602001610f7491906115ca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101991906115e6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061106e9085908790600401611603565b600060405180830381600087803b15801561108857600080fd5b505af115801561109c573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156111215760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610f03565b600160801b82106111745760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610f03565b60806f8000000000000000000000000000000061119184866115a0565b61119b91906115b7565b901c9392505050565b60005b838110156111bf5781810151838201526020016111a7565b50506000910152565b600081518084526111e08160208601602086016111a4565b601f01601f19169290920160200192915050565b82815260406020820152600061120d60408301846111c8565b949350505050565b600081518084526020808501945080840160005b8381101561124e5781516001600160a01b031687529582019590820190600101611229565b509495945050505050565b60208152600061126c6020830184611215565b9392505050565b6001600160a01b038116811461128857600080fd5b50565b60006020828403121561129d57600080fd5b813561126c81611273565b600080600080600060a086880312156112c057600080fd5b85356112cb81611273565b945060208601356112db81611273565b935060408601356112eb81611273565b925060608601356112fb81611273565b9150608086013561130b81611273565b809150509295509295909350565b6000806000806080858703121561132f57600080fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061135f57607f821691505b60208210810361137f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e08201526000602085015160406101008401526113fd6101208401826111c8565b90506001600160a01b038516606084015282810360808401526114208185611215565b979650505050505050565b60006020828403121561143d57600080fd5b5051919050565b878152600060206001600160a01b03808a168285015260e0604085015261146e60e085018a6111c8565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806114ae57607f821691505b87821081036114cb57634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156114ec57600181146115025761152d565b60ff198416875282151560051b8701945061152d565b60008681526020902060005b8481101561152757815489820152908901908a0161150e565b88019550505b5050505086810360c08801526115438189611215565b9e9d5050505050505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008261158857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eac57610eac611555565b8082028115828204841417610eac57610eac611555565b80820180821115610eac57610eac611555565b600082516115dc8184602087016111a4565b9190910192915050565b6000602082840312156115f857600080fd5b815161126c81611273565b6001600160a01b038316815260406020820152600061120d60408301846111c856fea26469706673582212208ebb9b2b356162d3a9b59d9f5b4b929a48c4f4d2525f9920fb88189e4ae8756b64736f6c63430008130033","sourceMap":"454:3409:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;507:79:96:-;;;:::i;:::-;;;;;;;;:::i;1331:118:38:-;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;799:361:96:-;;;;;;:::i;:::-;;:::i;:::-;;;2579:25:101;;;2567:2;2552:18;799:361:96;2433:177:101;4412:75:9;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1166:1463:96:-;;;;;;:::i;:::-;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;3483:378:96:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;507:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;1537:101::-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;799:361:96:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:96;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;;;;;;;;1067:12;:10;:12::i;:::-;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:96;;;799:361::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:96:-;-1:-1:-1;;;;;;;;1307:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:96;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:96;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:96;;;;;;;;;;;;-1:-1:-1;1878:16:96;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:96;;;-1:-1:-1;;;;;1904:33:96;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:96;;;2269:64;;-1:-1:-1;2317:5:96;2269:64;2351:4;-1:-1:-1;;;;;2351:33:96;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;6623:13:101;;-1:-1:-1;;;;;6619:62:101;2509:18:96;;;;6601:81:101;;;;6726:17;;6720:24;6698:20;;;6691:54;6789:17;;;6783:24;6761:20;;;;6754:54;;;;6852:17;;6846:24;6824:20;;;6817:54;2486:8:96;;6573:19:101;;2509:18:96;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:96:o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;3483:378:96:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:96;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:96;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:96:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;2635:114:96:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;:::-;2717:25;2635:114;-1:-1:-1;;2635:114:96:o;3030:447::-;3091:15;-1:-1:-1;;;3126:2:96;:12;3118:53;;;;-1:-1:-1;;;3118:53:96;;10462:2:101;3118:53:96;;;10444:21:101;10501:2;10481:18;;;10474:30;10540;10520:18;;;10513:58;10588:18;;3118:53:96;;;;;;;;;-1:-1:-1;;;;3193:2:96;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:96;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:96;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;2579:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;2552:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;2755:269:96:-;2816:15;-1:-1:-1;;;2851:2:96;:13;;2843:66;;;;-1:-1:-1;;;2843:66:96;;11725:2:101;2843:66:96;;;11707:21:101;11764:2;11744:18;;;11737:30;11803:34;11783:18;;;11776:62;11874:10;11854:18;;;11847:38;11902:19;;2843:66:96;11523:404:101;2843:66:96;-1:-1:-1;;;2927:2:96;:12;2919:53;;;;-1:-1:-1;;;2919:53:96;;12134:2:101;2919:53:96;;;12116:21:101;12173:2;12153:18;;;12146:30;12212;12192:18;;;12185:58;12260:18;;2919:53:96;11932:352:101;2919:53:96;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:96:o;400:250:101:-;485:1;495:113;509:6;506:1;503:13;495:113;;;585:11;;;579:18;566:11;;;559:39;531:2;524:10;495:113;;;-1:-1:-1;;642:1:101;624:16;;617:27;400:250::o;655:271::-;697:3;735:5;729:12;762:6;757:3;750:19;778:76;847:6;840:4;835:3;831:14;824:4;817:5;813:16;778:76;:::i;:::-;908:2;887:15;-1:-1:-1;;883:29:101;874:39;;;;915:4;870:50;;655:271;-1:-1:-1;;655:271:101:o;931:291::-;1108:6;1097:9;1090:25;1151:2;1146;1135:9;1131:18;1124:30;1071:4;1171:45;1212:2;1201:9;1197:18;1189:6;1171:45;:::i;:::-;1163:53;931:291;-1:-1:-1;;;;931:291:101:o;1227:484::-;1280:3;1318:5;1312:12;1345:6;1340:3;1333:19;1371:4;1400:2;1395:3;1391:12;1384:19;;1437:2;1430:5;1426:14;1458:1;1468:218;1482:6;1479:1;1476:13;1468:218;;;1547:13;;-1:-1:-1;;;;;1543:62:101;1531:75;;1626:12;;;;1661:15;;;;1504:1;1497:9;1468:218;;;-1:-1:-1;1702:3:101;;1227:484;-1:-1:-1;;;;;1227:484:101:o;1716:261::-;1895:2;1884:9;1877:21;1858:4;1915:56;1967:2;1956:9;1952:18;1944:6;1915:56;:::i;:::-;1907:64;1716:261;-1:-1:-1;;;1716:261:101:o;1982:165::-;-1:-1:-1;;;;;2072:5:101;2068:54;2061:5;2058:65;2048:93;;2137:1;2134;2127:12;2048:93;1982:165;:::o;2152:276::-;2229:6;2282:2;2270:9;2261:7;2257:23;2253:32;2250:52;;;2298:1;2295;2288:12;2250:52;2337:9;2324:23;2356:42;2392:5;2356:42;:::i;2615:899::-;2741:6;2749;2757;2765;2773;2826:3;2814:9;2805:7;2801:23;2797:33;2794:53;;;2843:1;2840;2833:12;2794:53;2882:9;2869:23;2901:42;2937:5;2901:42;:::i;:::-;2962:5;-1:-1:-1;3019:2:101;3004:18;;2991:32;3032:44;2991:32;3032:44;:::i;:::-;3095:7;-1:-1:-1;3154:2:101;3139:18;;3126:32;3167:44;3126:32;3167:44;:::i;:::-;3230:7;-1:-1:-1;3289:2:101;3274:18;;3261:32;3302:44;3261:32;3302:44;:::i;:::-;3365:7;-1:-1:-1;3424:3:101;3409:19;;3396:33;3438:44;3396:33;3438:44;:::i;:::-;3501:7;3491:17;;;2615:899;;;;;;;;:::o;3948:385::-;4034:6;4042;4050;4058;4111:3;4099:9;4090:7;4086:23;4082:33;4079:53;;;4128:1;4125;4118:12;4079:53;-1:-1:-1;;4151:23:101;;;4221:2;4206:18;;4193:32;;-1:-1:-1;4272:2:101;4257:18;;4244:32;;4323:2;4308:18;4295:32;;-1:-1:-1;3948:385:101;-1:-1:-1;3948:385:101:o;4338:437::-;4417:1;4413:12;;;;4460;;;4481:61;;4535:4;4527:6;4523:17;4513:27;;4481:61;4588:2;4580:6;4577:14;4557:18;4554:38;4551:218;;-1:-1:-1;;;4622:1:101;4615:88;4726:4;4723:1;4716:15;4754:4;4751:1;4744:15;4551:218;;4338:437;;;:::o;4969:184::-;-1:-1:-1;;;5018:1:101;5011:88;5118:4;5115:1;5108:15;5142:4;5139:1;5132:15;5158:1032;5582:6;5571:9;5564:25;5625:3;5620:2;5609:9;5605:18;5598:31;5666:2;5660:3;5649:9;5645:19;5638:31;5706:16;5700:3;5689:9;5685:19;5678:45;5759:3;5754:2;5743:9;5739:18;5732:31;5806:6;5800:13;5794:3;5783:9;5779:19;5772:42;5545:4;5861:2;5853:6;5849:15;5843:22;5902:2;5896:3;5885:9;5881:19;5874:31;5925:52;5972:3;5961:9;5957:19;5943:12;5925:52;:::i;:::-;5914:63;;-1:-1:-1;;;;;6017:6:101;6013:55;6008:2;5997:9;5993:18;5986:83;6115:9;6110:3;6106:19;6100:3;6089:9;6085:19;6078:48;6143:41;6180:3;6172:6;6143:41;:::i;:::-;6135:49;5158:1032;-1:-1:-1;;;;;;;5158:1032:101:o;6195:184::-;6265:6;6318:2;6306:9;6297:7;6293:23;6289:32;6286:52;;;6334:1;6331;6324:12;6286:52;-1:-1:-1;6357:16:101;;6195:184;-1:-1:-1;6195:184:101:o;7008:2154::-;7430:6;7419:9;7412:25;7393:4;7456:2;-1:-1:-1;;;;;7567:2:101;7559:6;7555:15;7550:2;7539:9;7535:18;7528:43;7607:3;7602:2;7591:9;7587:18;7580:31;7634:46;7675:3;7664:9;7660:19;7652:6;7634:46;:::i;:::-;7728:2;7720:6;7716:15;7711:2;7700:9;7696:18;7689:43;7769:6;7763:3;7752:9;7748:19;7741:35;7825:9;7817:6;7813:22;7807:3;7796:9;7792:19;7785:51;7866:6;7860:13;7852:6;7845:29;7893:4;7883:14;;7938:2;7930:6;7926:15;7974:2;7969;7961:6;7957:15;7950:27;7997:1;8030:12;8024:19;8066:3;8096:9;8092:2;8088:18;8078:28;;8156:2;8145:9;8141:18;8178;8168:61;;8222:4;8214:6;8210:17;8200:27;;8168:61;8275:2;8267:6;8264:14;8244:18;8241:38;8238:222;;-1:-1:-1;;;8309:3:101;8302:90;8415:4;8412:1;8405:15;8445:4;8440:3;8433:17;8238:222;8528:2;8516:15;;332:19;;;375:14;;;8469:71;-1:-1:-1;8556:18:101;8583:128;;;;8725:1;8720:321;;;;8549:492;;8583:128;-1:-1:-1;;8616:24:101;;8604:37;;8684:14;;8677:22;8674:1;8670:30;8661:40;;;-1:-1:-1;8583:128:101;;8720:321;6955:1;6948:14;;;6992:4;6979:18;;8821:1;8835:165;8849:6;8846:1;8843:13;8835:165;;;8927:14;;8914:11;;;8907:35;8970:16;;;;8864:10;;8835:165;;;9020:11;;;-1:-1:-1;;8549:492:101;;;;;9087:9;9082:3;9078:19;9072:3;9061:9;9057:19;9050:48;9115:41;9152:3;9144:6;9115:41;:::i;:::-;9107:49;7008:2154;-1:-1:-1;;;;;;;;;;;;;;7008:2154:101:o;9356:184::-;-1:-1:-1;;;9405:1:101;9398:88;9505:4;9502:1;9495:15;9529:4;9526:1;9519:15;9545:274;9585:1;9611;9601:189;;-1:-1:-1;;;9643:1:101;9636:88;9747:4;9744:1;9737:15;9775:4;9772:1;9765:15;9601:189;-1:-1:-1;9804:9:101;;9545:274::o;9824:128::-;9891:9;;;9912:11;;;9909:37;;;9926:18;;:::i;9957:168::-;10030:9;;;10061;;10078:15;;;10072:22;;10058:37;10048:71;;10099:18;;:::i;10130:125::-;10195:9;;;10216:10;;;10213:36;;;10229:18;;:::i;10617:289::-;10748:3;10786:6;10780:13;10802:66;10861:6;10856:3;10849:4;10841:6;10837:17;10802:66;:::i;:::-;10884:16;;;;;10617:289;-1:-1:-1;;10617:289:101:o;10911:262::-;10981:6;11034:2;11022:9;11013:7;11009:23;11005:32;11002:52;;;11050:1;11047;11040:12;11002:52;11082:9;11076:16;11101:42;11137:5;11101:42;:::i;11178:340::-;-1:-1:-1;;;;;11359:6:101;11355:55;11344:9;11337:74;11447:2;11442;11431:9;11427:18;11420:30;11318:4;11467:45;11508:2;11497:9;11493:18;11485:6;11467:45;:::i","linkReferences":{}},"methodIdentifiers":{"NATIVE()":"a0cf0aea","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address)":"ae159601","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpers.sol\":\"CVStrategyHelpers\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpers.sol":"CVStrategyHelpers"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","id":62208,"exportedSymbols":{"Accounts":[9264],"Allo":[1390],"CVStrategy":[61025],"CVStrategyHelpers":[62207],"IRegistry":[2802],"Metadata":[3098],"Native":[3106]},"nodeType":"SourceUnit","src":"40:3824:96","nodes":[{"id":61842,"nodeType":"PragmaDirective","src":"40:24:96","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":61844,"nodeType":"ImportDirective","src":"66:53:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":62208,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":61843,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"74:4:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61846,"nodeType":"ImportDirective","src":"120:71:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":62208,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":61845,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"128:8:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61848,"nodeType":"ImportDirective","src":"192:49:96","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":62208,"sourceUnit":61026,"symbolAliases":[{"foreign":{"id":61847,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"200:10:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61850,"nodeType":"ImportDirective","src":"242:67:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":62208,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":61849,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"250:6:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61852,"nodeType":"ImportDirective","src":"310:74:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":62208,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":61851,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"318:9:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61854,"nodeType":"ImportDirective","src":"386:66:96","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":62208,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":61853,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"394:8:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62207,"nodeType":"ContractDefinition","src":"454:3409:96","nodes":[{"id":61865,"nodeType":"VariableDeclaration","src":"507:79:96","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"523:8:96","scope":62207,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":61860,"nodeType":"UserDefinedTypeName","pathNode":{"id":61859,"name":"Metadata","nameLocations":["507:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"507:8:96"},"referencedDeclaration":3098,"src":"507:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":61862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"554:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"737472617465677920706f696e746572","id":61863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"566:18:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""},"value":"strategy pointer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""}],"id":61861,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"534:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":61864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["544:8:96","557:7:96"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"534:52:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":61867,"nodeType":"VariableDeclaration","src":"615:33:96","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"632:16:96","scope":62207,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61866,"name":"bytes32","nodeType":"ElementaryTypeName","src":"615:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":61872,"nodeType":"VariableDeclaration","src":"655:44:96","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"681:7:96","scope":62207,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61868,"name":"uint256","nodeType":"ElementaryTypeName","src":"655:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":61871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":61869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"691:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":61870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"696:3:96","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"691:8:96","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":61877,"nodeType":"VariableDeclaration","src":"705:44:96","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"731:7:96","scope":62207,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61873,"name":"uint256","nodeType":"ElementaryTypeName","src":"705:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":61876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":61874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"741:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":61875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"746:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"741:8:96","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":61882,"nodeType":"VariableDeclaration","src":"755:37:96","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"781:1:96","scope":62207,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61878,"name":"uint256","nodeType":"ElementaryTypeName","src":"755:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":61881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":61879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"785:2:96","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":61880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"791:1:96","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"785:7:96","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":61917,"nodeType":"FunctionDefinition","src":"799:361:96","nodes":[],"body":{"id":61916,"nodeType":"Block","src":"877:283:96","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":61895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61890,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61867,"src":"891:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":61893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"919:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"911:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":61891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"911:7:96","typeDescriptions":{}}},"id":61894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"911:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"891:30:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61913,"nodeType":"IfStatement","src":"887:234:96","trueBody":{"id":61912,"nodeType":"Block","src":"923:198:96","statements":[{"expression":{"id":61910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61896,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61867,"src":"937:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":61899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"996:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c2050726f66696c652031","id":61900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"999:16:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":61902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1037:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":61903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1049:14:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":61901,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1017:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":61904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1027:8:96","1040:7:96"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1017:48:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61905,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"1067:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1067:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61907,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9055,"src":"1081:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":61908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1081:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":61897,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61885,"src":"956:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":61898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"965:13:96","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"956:22:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":61909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"956:154:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"937:173:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":61911,"nodeType":"ExpressionStatement","src":"937:173:96"}]}},{"expression":{"id":61914,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61867,"src":"1137:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":61889,"id":61915,"nodeType":"Return","src":"1130:23:96"}]},"functionSelector":"914a5f6d","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"808:15:96","parameters":{"id":61886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61885,"mutability":"mutable","name":"registry","nameLocation":"834:8:96","nodeType":"VariableDeclaration","scope":61917,"src":"824:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":61884,"nodeType":"UserDefinedTypeName","pathNode":{"id":61883,"name":"IRegistry","nameLocations":["824:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"824:9:96"},"referencedDeclaration":2802,"src":"824:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"823:20:96"},"returnParameters":{"id":61889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61917,"src":"868:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61887,"name":"bytes32","nodeType":"ElementaryTypeName","src":"868:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"867:9:96"},"scope":62207,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":62038,"nodeType":"FunctionDefinition","src":"1166:1463:96","nodes":[],"body":{"id":62037,"nodeType":"Block","src":"1327:1302:96","nodes":[],"statements":[{"assignments":[61938],"declarations":[{"constant":false,"id":61938,"mutability":"mutable","name":"params","nameLocation":"1423:6:96","nodeType":"VariableDeclaration","scope":62037,"src":"1388:41:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams"},"typeName":{"id":61937,"nodeType":"UserDefinedTypeName","pathNode":{"id":61936,"name":"CVStrategy.InitializeParams","nameLocations":["1388:10:96","1399:16:96"],"nodeType":"IdentifierPath","referencedDeclaration":59210,"src":"1388:27:96"},"referencedDeclaration":59210,"src":"1388:27:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_storage_ptr","typeString":"struct CVStrategy.InitializeParams"}},"visibility":"internal"}],"id":61939,"nodeType":"VariableDeclarationStatement","src":"1388:41:96"},{"expression":{"id":61946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61940,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61938,"src":"1439:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1446:5:96","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":59205,"src":"1439:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":61944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1468:15:96","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":61943,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"1454:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:30:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1439:45:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61947,"nodeType":"ExpressionStatement","src":"1439:45:96"},{"expression":{"id":61954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61948,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61938,"src":"1583:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1590:8:96","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":59207,"src":"1583:15:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":61952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1615:9:96","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":61951,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"1601:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1601:24:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1583:42:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61955,"nodeType":"ExpressionStatement","src":"1583:42:96"},{"expression":{"id":61962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61956,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61938,"src":"1654:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1661:6:96","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":59209,"src":"1654:13:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":61960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1684:11:96","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":61959,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"1670:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1670:26:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1654:42:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61963,"nodeType":"ExpressionStatement","src":"1654:42:96"},{"expression":{"id":61968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61964,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61938,"src":"1793:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1800:15:96","memberName":"registryGardens","nodeType":"MemberAccess","referencedDeclaration":59203,"src":"1793:22:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61967,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61924,"src":"1818:15:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1793:40:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61969,"nodeType":"ExpressionStatement","src":"1793:40:96"},{"assignments":[61974],"declarations":[{"constant":false,"id":61974,"mutability":"mutable","name":"_pool_managers","nameLocation":"1861:14:96","nodeType":"VariableDeclaration","scope":62037,"src":"1844:31:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":61972,"name":"address","nodeType":"ElementaryTypeName","src":"1844:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61973,"nodeType":"ArrayTypeName","src":"1844:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":61980,"initialValue":{"arguments":[{"hexValue":"32","id":61978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1892:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1878:13:96","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":61975,"name":"address","nodeType":"ElementaryTypeName","src":"1882:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61976,"nodeType":"ArrayTypeName","src":"1882:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":61979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1878:16:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1844:50:96"},{"expression":{"id":61988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61981,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61974,"src":"1904:14:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":61983,"indexExpression":{"hexValue":"30","id":61982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1919:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1904:17:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61986,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1932:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpers_$62207","typeString":"contract CVStrategyHelpers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpers_$62207","typeString":"contract CVStrategyHelpers"}],"id":61985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1924:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61984,"name":"address","nodeType":"ElementaryTypeName","src":"1924:7:96","typeDescriptions":{}}},"id":61987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1924:13:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1904:33:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61989,"nodeType":"ExpressionStatement","src":"1904:33:96"},{"expression":{"id":61998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61990,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61974,"src":"1947:14:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":61992,"indexExpression":{"hexValue":"31","id":61991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1962:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1947:17:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":61995,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1975:3:96","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":61996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1979:6:96","memberName":"sender","nodeType":"MemberAccess","src":"1975:10:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1967:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61993,"name":"address","nodeType":"ElementaryTypeName","src":"1967:7:96","typeDescriptions":{}}},"id":61997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1967:19:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1947:39:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61999,"nodeType":"ExpressionStatement","src":"1947:39:96"},{"assignments":[62001],"declarations":[{"constant":false,"id":62001,"mutability":"mutable","name":"_token","nameLocation":"2244:6:96","nodeType":"VariableDeclaration","scope":62037,"src":"2236:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62000,"name":"address","nodeType":"ElementaryTypeName","src":"2236:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62003,"initialValue":{"id":62002,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"2253:6:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2236:23:96"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62004,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61929,"src":"2273:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":62007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2290:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2282:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62005,"name":"address","nodeType":"ElementaryTypeName","src":"2282:7:96","typeDescriptions":{}}},"id":62008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2282:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2273:19:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62015,"nodeType":"IfStatement","src":"2269:64:96","trueBody":{"id":62014,"nodeType":"Block","src":"2294:39:96","statements":[{"expression":{"id":62012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62010,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62001,"src":"2308:6:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62011,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61929,"src":"2317:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2308:14:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62013,"nodeType":"ExpressionStatement","src":"2308:14:96"}]}},{"expression":{"id":62035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62016,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61932,"src":"2342:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62020,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61927,"src":"2455:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":62019,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61917,"src":"2439:15:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":62021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2439:25:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":62024,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61922,"src":"2486:8:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2478:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62022,"name":"address","nodeType":"ElementaryTypeName","src":"2478:7:96","typeDescriptions":{}}},"id":62025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2478:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62028,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61938,"src":"2520:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}],"expression":{"id":62026,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2509:3:96","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2513:6:96","memberName":"encode","nodeType":"MemberAccess","src":"2509:10:96","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2509:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":62030,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62001,"src":"2541:6:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2561:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62032,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61865,"src":"2576:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":62033,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61974,"src":"2598:14:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":62017,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61920,"src":"2351:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2356:28:96","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"2351:33:96","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":62034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2351:271:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2342:280:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62036,"nodeType":"ExpressionStatement","src":"2342:280:96"}]},"functionSelector":"ae159601","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"1175:10:96","parameters":{"id":61930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61920,"mutability":"mutable","name":"allo","nameLocation":"1191:4:96","nodeType":"VariableDeclaration","scope":62038,"src":"1186:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":61919,"nodeType":"UserDefinedTypeName","pathNode":{"id":61918,"name":"Allo","nameLocations":["1186:4:96"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1186:4:96"},"referencedDeclaration":1390,"src":"1186:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":61922,"mutability":"mutable","name":"strategy","nameLocation":"1205:8:96","nodeType":"VariableDeclaration","scope":62038,"src":"1197:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61921,"name":"address","nodeType":"ElementaryTypeName","src":"1197:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61924,"mutability":"mutable","name":"registryGardens","nameLocation":"1223:15:96","nodeType":"VariableDeclaration","scope":62038,"src":"1215:23:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61923,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61927,"mutability":"mutable","name":"registry","nameLocation":"1250:8:96","nodeType":"VariableDeclaration","scope":62038,"src":"1240:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":61926,"nodeType":"UserDefinedTypeName","pathNode":{"id":61925,"name":"IRegistry","nameLocations":["1240:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1240:9:96"},"referencedDeclaration":2802,"src":"1240:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":61929,"mutability":"mutable","name":"token","nameLocation":"1268:5:96","nodeType":"VariableDeclaration","scope":62038,"src":"1260:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61928,"name":"address","nodeType":"ElementaryTypeName","src":"1260:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1185:89:96"},"returnParameters":{"id":61933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61932,"mutability":"mutable","name":"poolId","nameLocation":"1315:6:96","nodeType":"VariableDeclaration","scope":62038,"src":"1307:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61931,"name":"uint256","nodeType":"ElementaryTypeName","src":"1307:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1306:16:96"},"scope":62207,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62052,"nodeType":"FunctionDefinition","src":"2635:114:96","nodes":[],"body":{"id":62051,"nodeType":"Block","src":"2707:42:96","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62045,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62040,"src":"2724:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2734:2:96","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2740:2:96","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"2734:8:96","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"2724:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62044,"id":62050,"nodeType":"Return","src":"2717:25:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"2644:13:96","parameters":{"id":62041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62040,"mutability":"mutable","name":"_amount","nameLocation":"2666:7:96","nodeType":"VariableDeclaration","scope":62052,"src":"2658:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62039,"name":"uint256","nodeType":"ElementaryTypeName","src":"2658:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2657:17:96"},"returnParameters":{"id":62044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62052,"src":"2698:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62042,"name":"uint256","nodeType":"ElementaryTypeName","src":"2698:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2697:9:96"},"scope":62207,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":62086,"nodeType":"FunctionDefinition","src":"2755:269:96","nodes":[],"body":{"id":62085,"nodeType":"Block","src":"2833:191:96","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62062,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62054,"src":"2851:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":62063,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61877,"src":"2857:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2851:13:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":62065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2866:42:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":62061,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2843:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":62066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2843:66:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62067,"nodeType":"ExpressionStatement","src":"2843:66:96"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62069,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62056,"src":"2927:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":62070,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61877,"src":"2932:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2927:12:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":62072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2941:30:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":62068,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2919:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":62073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2919:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62074,"nodeType":"ExpressionStatement","src":"2919:53:96"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62075,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62054,"src":"2991:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62076,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62056,"src":"2996:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2991:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62078,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2990:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62079,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61872,"src":"3002:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2990:19:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62081,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2989:21:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":62082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3014:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"2989:28:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62060,"id":62084,"nodeType":"Return","src":"2982:35:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"2764:4:96","parameters":{"id":62057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62054,"mutability":"mutable","name":"_a","nameLocation":"2777:2:96","nodeType":"VariableDeclaration","scope":62086,"src":"2769:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62053,"name":"uint256","nodeType":"ElementaryTypeName","src":"2769:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62056,"mutability":"mutable","name":"_b","nameLocation":"2789:2:96","nodeType":"VariableDeclaration","scope":62086,"src":"2781:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62055,"name":"uint256","nodeType":"ElementaryTypeName","src":"2781:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2768:24:96"},"returnParameters":{"id":62060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62059,"mutability":"mutable","name":"_result","nameLocation":"2824:7:96","nodeType":"VariableDeclaration","scope":62086,"src":"2816:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62058,"name":"uint256","nodeType":"ElementaryTypeName","src":"2816:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2815:17:96"},"scope":62207,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":62150,"nodeType":"FunctionDefinition","src":"3030:447:96","nodes":[],"body":{"id":62149,"nodeType":"Block","src":"3108:369:96","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62096,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62088,"src":"3126:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":62097,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61877,"src":"3131:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3126:12:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":62099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3140:30:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":62095,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3118:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":62100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3118:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62101,"nodeType":"ExpressionStatement","src":"3118:53:96"},{"assignments":[62103],"declarations":[{"constant":false,"id":62103,"mutability":"mutable","name":"a","nameLocation":"3189:1:96","nodeType":"VariableDeclaration","scope":62149,"src":"3181:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62102,"name":"uint256","nodeType":"ElementaryTypeName","src":"3181:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62105,"initialValue":{"id":62104,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62088,"src":"3193:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3181:14:96"},{"assignments":[62107],"declarations":[{"constant":false,"id":62107,"mutability":"mutable","name":"b","nameLocation":"3213:1:96","nodeType":"VariableDeclaration","scope":62149,"src":"3205:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62106,"name":"uint256","nodeType":"ElementaryTypeName","src":"3205:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62109,"initialValue":{"id":62108,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62090,"src":"3217:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3205:14:96"},{"expression":{"id":62112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62110,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62093,"src":"3229:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62111,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61877,"src":"3239:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3229:17:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62113,"nodeType":"ExpressionStatement","src":"3229:17:96"},{"body":{"id":62147,"nodeType":"Block","src":"3270:201:96","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62117,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62107,"src":"3288:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":62118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3292:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3288:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3297:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3288:10:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62145,"nodeType":"Block","src":"3378:83:96","statements":[{"expression":{"id":62139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62134,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62093,"src":"3396:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62136,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62093,"src":"3411:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62137,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62103,"src":"3420:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62135,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62086,"src":"3406:4:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":62138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3406:16:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3396:26:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62140,"nodeType":"ExpressionStatement","src":"3396:26:96"},{"expression":{"id":62143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62141,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62107,"src":"3440:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":62142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3445:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3440:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62144,"nodeType":"ExpressionStatement","src":"3440:6:96"}]},"id":62146,"nodeType":"IfStatement","src":"3284:177:96","trueBody":{"id":62133,"nodeType":"Block","src":"3300:72:96","statements":[{"expression":{"id":62127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62122,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62103,"src":"3318:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62124,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62103,"src":"3327:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62125,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62103,"src":"3330:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62123,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62086,"src":"3322:4:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":62126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3322:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3318:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62128,"nodeType":"ExpressionStatement","src":"3318:14:96"},{"expression":{"id":62131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62129,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62107,"src":"3350:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":62130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3356:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3350:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62132,"nodeType":"ExpressionStatement","src":"3350:7:96"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62114,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62107,"src":"3263:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":62115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3267:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3263:5:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62148,"nodeType":"WhileStatement","src":"3256:215:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"3039:4:96","parameters":{"id":62091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62088,"mutability":"mutable","name":"_a","nameLocation":"3052:2:96","nodeType":"VariableDeclaration","scope":62150,"src":"3044:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62087,"name":"uint256","nodeType":"ElementaryTypeName","src":"3044:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62090,"mutability":"mutable","name":"_b","nameLocation":"3064:2:96","nodeType":"VariableDeclaration","scope":62150,"src":"3056:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62089,"name":"uint256","nodeType":"ElementaryTypeName","src":"3056:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3043:24:96"},"returnParameters":{"id":62094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62093,"mutability":"mutable","name":"_result","nameLocation":"3099:7:96","nodeType":"VariableDeclaration","scope":62150,"src":"3091:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62092,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3090:17:96"},"scope":62207,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":62206,"nodeType":"FunctionDefinition","src":"3483:378:96","nodes":[],"body":{"id":62205,"nodeType":"Block","src":"3646:215:96","nodes":[],"statements":[{"assignments":[62164],"declarations":[{"constant":false,"id":62164,"mutability":"mutable","name":"t","nameLocation":"3664:1:96","nodeType":"VariableDeclaration","scope":62205,"src":"3656:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62163,"name":"uint256","nodeType":"ElementaryTypeName","src":"3656:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62166,"initialValue":{"id":62165,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62152,"src":"3668:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3656:23:96"},{"assignments":[62168],"declarations":[{"constant":false,"id":62168,"mutability":"mutable","name":"atTWO_128","nameLocation":"3697:9:96","nodeType":"VariableDeclaration","scope":62205,"src":"3689:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62167,"name":"uint256","nodeType":"ElementaryTypeName","src":"3689:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62178,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62170,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62158,"src":"3715:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":62171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3724:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"3715:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62173,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3714:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":62174,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61882,"src":"3731:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3714:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62176,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62164,"src":"3734:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62169,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62150,"src":"3709:4:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":62177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3709:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3689:47:96"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62179,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62168,"src":"3756:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62180,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62154,"src":"3768:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3756:21:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3755:23:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62183,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62156,"src":"3782:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62184,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61882,"src":"3795:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3782:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62186,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61877,"src":"3800:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":62187,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62168,"src":"3810:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3800:19:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62189,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3799:21:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3782:38:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62191,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61882,"src":"3824:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":62192,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62158,"src":"3828:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3824:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62194,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3823:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3782:52:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3781:54:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3755:80:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62198,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3754:82:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62199,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61872,"src":"3839:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3754:92:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62201,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3753:94:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":62202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3851:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"3753:101:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62162,"id":62204,"nodeType":"Return","src":"3746:108:96"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"3492:20:96","parameters":{"id":62159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62152,"mutability":"mutable","name":"_timePassed","nameLocation":"3521:11:96","nodeType":"VariableDeclaration","scope":62206,"src":"3513:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62151,"name":"uint256","nodeType":"ElementaryTypeName","src":"3513:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62154,"mutability":"mutable","name":"_lastConv","nameLocation":"3542:9:96","nodeType":"VariableDeclaration","scope":62206,"src":"3534:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62153,"name":"uint256","nodeType":"ElementaryTypeName","src":"3534:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62156,"mutability":"mutable","name":"_oldAmount","nameLocation":"3561:10:96","nodeType":"VariableDeclaration","scope":62206,"src":"3553:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62155,"name":"uint256","nodeType":"ElementaryTypeName","src":"3553:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62158,"mutability":"mutable","name":"decay","nameLocation":"3581:5:96","nodeType":"VariableDeclaration","scope":62206,"src":"3573:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62157,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3512:75:96"},"returnParameters":{"id":62162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62161,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62206,"src":"3633:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62160,"name":"uint256","nodeType":"ElementaryTypeName","src":"3633:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3632:9:96"},"scope":62207,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":61855,"name":"Native","nameLocations":["484:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"484:6:96"},"id":61856,"nodeType":"InheritanceSpecifier","src":"484:6:96"},{"baseName":{"id":61857,"name":"Accounts","nameLocations":["492:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":9264,"src":"492:8:96"},"id":61858,"nodeType":"InheritanceSpecifier","src":"492:8:96"}],"canonicalName":"CVStrategyHelpers","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62207,9264,17664,16871,3106],"name":"CVStrategyHelpers","nameLocation":"463:17:96","scope":62208,"usedErrors":[]}],"license":"UNLICENSED"},"id":96} \ No newline at end of file +{"abi":[{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60016080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052600892835590919060099062000046908262000102565b5050503480156200005657600080fd5b50620001ce565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200008857607f821691505b602082108103620000a957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000fd57600081815260208120601f850160051c81016020861015620000d85750805b601f850160051c820191505b81811015620000f957828155600101620000e4565b5050505b505050565b81516001600160401b038111156200011e576200011e6200005d565b62000136816200012f845462000073565b84620000af565b602080601f8311600181146200016e5760008415620001555750858301515b600019600386901b1c1916600185901b178555620000f9565b600085815260208120601f198616915b828110156200019f578886015182559484019460019091019084016200017e565b5085821015620001be5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61165b80620001de6000396000f3fe608060405234801561001057600080fd5b50600436106102405760003560e01c80637b2edf3211610145578063aa3744bd116100bd578063d5bee9f51161008c578063dac4eb1611610071578063dac4eb1614610399578063e99ce911146103a1578063ef0d790f146103b457600080fd5b8063d5bee9f514610389578063da4bf0871461039157600080fd5b8063aa3744bd1461035e578063ae15960114610366578063d1e82b5814610379578063d1f2cd881461038157600080fd5b80638e0d1a5011610114578063914a5f6d116100f9578063914a5f6d1461031a578063a0cf0aea1461033b578063a407c67a1461035657600080fd5b80638e0d1a501461030a5780638e3c24931461031257600080fd5b80637b2edf32146102fa5780637cbe79ed14610302578063829e423f146102805780638c7408c41461028057600080fd5b80634bf4ba21116101d85780636a38dd0a116101a757806374d9284e1161018c57806374d9284e14610280578063759c9a86146102ea57806379e62d0d146102f257600080fd5b80636a38dd0a146102da57806370a32944146102e257600080fd5b80634bf4ba21146102ad578063587c1243146102c25780635aff5999146102ca57806366d003ac146102d257600080fd5b8063174eedde11610214578063174eedde146102805780631b96dce6146102875780631e7bcb2e1461028f578063392f37e91461029757600080fd5b8062b1fad714610245578063030e40061461026a5780630688b135146102725780630f166ad41461027a575b600080fd5b61024d6103bc565b6040516001600160a01b0390911681526020015b60405180910390f35b61024d610401565b61024d610441565b3061024d565b600061024d565b61024d610481565b61024d6104c1565b61029f610501565b6040516102619291906111f4565b6102b5610598565b6040516102619190611259565b61024d6105bb565b61024d6105fb565b61024d61063b565b61024d61067b565b6102b56106bb565b61024d610753565b6102b5610793565b61024d6107fb565b61024d61083b565b61024d61087b565b61024d6108bb565b61032d61032836600461128b565b6108fb565b604051908152602001610261565b61024d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6102b56109df565b61024d610a47565b61032d6103743660046112a8565b610a87565b61024d610c73565b61024d610cb3565b61024d610cf3565b61024d610d33565b61024d610d73565b61032d6103af366004611319565b610db3565b61024d610e4d565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250610e89565b905090565b60006103fc6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250610e89565b60088054600980549192916105159061134b565b80601f01602080910402602001604051908101604052809291908181526020018280546105419061134b565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506106e86104c1565b816000815181106106fb576106fb611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236107fb565b8160018151811061073657610736611385565b6001600160a01b0390921660209283029190910190910152919050565b60006103fc6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506107c06103bc565b816000815181106107d3576107d3611385565b60200260200101906001600160a01b031690816001600160a01b03168152505061072361067b565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250610e89565b600a546000906109d757816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525061096961087b565b610971610793565b6040518563ffffffff1660e01b8152600401610990949392919061139b565b6020604051808303816000875af11580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d3919061142b565b600a555b5050600a5490565b60408051600280825260608083018452926000929190602083019080368337019050509050610a0c6105bb565b81600081518110610a1f57610a1f611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236108bb565b60006103fc6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250610e89565b6040805160808101825260008082526020820181905291810182905260608101829052610abb670de0a46bc207d800610e9b565b6020820152610ad16702c68af0bb140000610e9b565b6040820152610ae666038d7ea4c68000610e9b565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110610b3157610b31611385565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610b6557610b65611385565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615610b9b5750835b886001600160a01b031663e1007d4a610bb3886108fb565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006008896040518863ffffffff1660e01b8152600401610c239796959493929190611444565b6020604051808303816000875af1158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c66919061142b565b9998505050505050505050565b60006103fc6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250610e89565b60008481610dd1610dcb62989680608087901b61156b565b83610eb2565b905060806f80000000000000000000000000000000610df3866298968061158d565b610e0184600160801b61158d565b610e0e629896808a6115a0565b610e1891906115a0565b610e22919061156b565b610e2c89856115a0565b610e3691906115b7565b610e4091906115b7565b901c979650505050505050565b60006103fc6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000610e9482610f60565b5092915050565b6000610eac64174876e8008361156b565b92915050565b6000600160801b8310610f0c5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015610f585780600116600003610f3a57610f3082836110a5565b915060011c610f15565b610f4483836110a5565b9250610f5160018261158d565b9050610f15565b505092915050565b60008082604051602001610f7491906115ca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101991906115e6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061106e9085908790600401611603565b600060405180830381600087803b15801561108857600080fd5b505af115801561109c573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156111215760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610f03565b600160801b82106111745760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610f03565b60806f8000000000000000000000000000000061119184866115a0565b61119b91906115b7565b901c9392505050565b60005b838110156111bf5781810151838201526020016111a7565b50506000910152565b600081518084526111e08160208601602086016111a4565b601f01601f19169290920160200192915050565b82815260406020820152600061120d60408301846111c8565b949350505050565b600081518084526020808501945080840160005b8381101561124e5781516001600160a01b031687529582019590820190600101611229565b509495945050505050565b60208152600061126c6020830184611215565b9392505050565b6001600160a01b038116811461128857600080fd5b50565b60006020828403121561129d57600080fd5b813561126c81611273565b600080600080600060a086880312156112c057600080fd5b85356112cb81611273565b945060208601356112db81611273565b935060408601356112eb81611273565b925060608601356112fb81611273565b9150608086013561130b81611273565b809150509295509295909350565b6000806000806080858703121561132f57600080fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061135f57607f821691505b60208210810361137f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e08201526000602085015160406101008401526113fd6101208401826111c8565b90506001600160a01b038516606084015282810360808401526114208185611215565b979650505050505050565b60006020828403121561143d57600080fd5b5051919050565b878152600060206001600160a01b03808a168285015260e0604085015261146e60e085018a6111c8565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806114ae57607f821691505b87821081036114cb57634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156114ec57600181146115025761152d565b60ff198416875282151560051b8701945061152d565b60008681526020902060005b8481101561152757815489820152908901908a0161150e565b88019550505b5050505086810360c08801526115438189611215565b9e9d5050505050505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008261158857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eac57610eac611555565b8082028115828204841417610eac57610eac611555565b80820180821115610eac57610eac611555565b600082516115dc8184602087016111a4565b9190910192915050565b6000602082840312156115f857600080fd5b815161126c81611273565b6001600160a01b038316815260406020820152600061120d60408301846111c856fea2646970667358221220127ac8e54d39bb15a84215c3bc9ac8bf08a4c4b7873b31cfa5203f229a02e06164736f6c63430008130033","sourceMap":"586:1:96:-:0;486:3640;566:52;;;;486:3640;566:52;;;;;;-1:-1:-1;;;566:52:96;;;;;;539:79;;;;486:3640;;539:79;;;;;;;:::i;:::-;;;;486:3640;;;;;;;;;;;;14:127:100;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:100;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:100;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:100;;;2580:26;2531:89;-1:-1:-1;;1335:1:100;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:100;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:100;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:100;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:100:o;:::-;486:3640:96;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102405760003560e01c80637b2edf3211610145578063aa3744bd116100bd578063d5bee9f51161008c578063dac4eb1611610071578063dac4eb1614610399578063e99ce911146103a1578063ef0d790f146103b457600080fd5b8063d5bee9f514610389578063da4bf0871461039157600080fd5b8063aa3744bd1461035e578063ae15960114610366578063d1e82b5814610379578063d1f2cd881461038157600080fd5b80638e0d1a5011610114578063914a5f6d116100f9578063914a5f6d1461031a578063a0cf0aea1461033b578063a407c67a1461035657600080fd5b80638e0d1a501461030a5780638e3c24931461031257600080fd5b80637b2edf32146102fa5780637cbe79ed14610302578063829e423f146102805780638c7408c41461028057600080fd5b80634bf4ba21116101d85780636a38dd0a116101a757806374d9284e1161018c57806374d9284e14610280578063759c9a86146102ea57806379e62d0d146102f257600080fd5b80636a38dd0a146102da57806370a32944146102e257600080fd5b80634bf4ba21146102ad578063587c1243146102c25780635aff5999146102ca57806366d003ac146102d257600080fd5b8063174eedde11610214578063174eedde146102805780631b96dce6146102875780631e7bcb2e1461028f578063392f37e91461029757600080fd5b8062b1fad714610245578063030e40061461026a5780630688b135146102725780630f166ad41461027a575b600080fd5b61024d6103bc565b6040516001600160a01b0390911681526020015b60405180910390f35b61024d610401565b61024d610441565b3061024d565b600061024d565b61024d610481565b61024d6104c1565b61029f610501565b6040516102619291906111f4565b6102b5610598565b6040516102619190611259565b61024d6105bb565b61024d6105fb565b61024d61063b565b61024d61067b565b6102b56106bb565b61024d610753565b6102b5610793565b61024d6107fb565b61024d61083b565b61024d61087b565b61024d6108bb565b61032d61032836600461128b565b6108fb565b604051908152602001610261565b61024d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6102b56109df565b61024d610a47565b61032d6103743660046112a8565b610a87565b61024d610c73565b61024d610cb3565b61024d610cf3565b61024d610d33565b61024d610d73565b61032d6103af366004611319565b610db3565b61024d610e4d565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250610e89565b905090565b60006103fc6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250610e89565b60088054600980549192916105159061134b565b80601f01602080910402602001604051908101604052809291908181526020018280546105419061134b565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506106e86104c1565b816000815181106106fb576106fb611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236107fb565b8160018151811061073657610736611385565b6001600160a01b0390921660209283029190910190910152919050565b60006103fc6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250610e89565b604080516002808252606080830184529260009291906020830190803683370190505090506107c06103bc565b816000815181106107d3576107d3611385565b60200260200101906001600160a01b031690816001600160a01b03168152505061072361067b565b60006103fc6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250610e89565b600a546000906109d757816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525061096961087b565b610971610793565b6040518563ffffffff1660e01b8152600401610990949392919061139b565b6020604051808303816000875af11580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d3919061142b565b600a555b5050600a5490565b60408051600280825260608083018452926000929190602083019080368337019050509050610a0c6105bb565b81600081518110610a1f57610a1f611385565b60200260200101906001600160a01b031690816001600160a01b0316815250506107236108bb565b60006103fc6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250610e89565b6040805160808101825260008082526020820181905291810182905260608101829052610abb670de0a46bc207d800610e9b565b6020820152610ad16702c68af0bb140000610e9b565b6040820152610ae666038d7ea4c68000610e9b565b6060828101919091526001600160a01b0386168252604080516002808252928101825260009290916020830190803683370190505090503081600081518110610b3157610b31611385565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610b6557610b65611385565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90851615610b9b5750835b886001600160a01b031663e1007d4a610bb3886108fb565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006008896040518863ffffffff1660e01b8152600401610c239796959493929190611444565b6020604051808303816000875af1158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c66919061142b565b9998505050505050505050565b60006103fc6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250610e89565b60006103fc6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250610e89565b60008481610dd1610dcb62989680608087901b61156b565b83610eb2565b905060806f80000000000000000000000000000000610df3866298968061158d565b610e0184600160801b61158d565b610e0e629896808a6115a0565b610e1891906115a0565b610e22919061156b565b610e2c89856115a0565b610e3691906115b7565b610e4091906115b7565b901c979650505050505050565b60006103fc6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000610e9482610f60565b5092915050565b6000610eac64174876e8008361156b565b92915050565b6000600160801b8310610f0c5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015610f585780600116600003610f3a57610f3082836110a5565b915060011c610f15565b610f4483836110a5565b9250610f5160018261158d565b9050610f15565b505092915050565b60008082604051602001610f7491906115ca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101991906115e6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061106e9085908790600401611603565b600060405180830381600087803b15801561108857600080fd5b505af115801561109c573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156111215760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610f03565b600160801b82106111745760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610f03565b60806f8000000000000000000000000000000061119184866115a0565b61119b91906115b7565b901c9392505050565b60005b838110156111bf5781810151838201526020016111a7565b50506000910152565b600081518084526111e08160208601602086016111a4565b601f01601f19169290920160200192915050565b82815260406020820152600061120d60408301846111c8565b949350505050565b600081518084526020808501945080840160005b8381101561124e5781516001600160a01b031687529582019590820190600101611229565b509495945050505050565b60208152600061126c6020830184611215565b9392505050565b6001600160a01b038116811461128857600080fd5b50565b60006020828403121561129d57600080fd5b813561126c81611273565b600080600080600060a086880312156112c057600080fd5b85356112cb81611273565b945060208601356112db81611273565b935060408601356112eb81611273565b925060608601356112fb81611273565b9150608086013561130b81611273565b809150509295509295909350565b6000806000806080858703121561132f57600080fd5b5050823594602084013594506040840135936060013592509050565b600181811c9082168061135f57607f821691505b60208210810361137f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e08201526000602085015160406101008401526113fd6101208401826111c8565b90506001600160a01b038516606084015282810360808401526114208185611215565b979650505050505050565b60006020828403121561143d57600080fd5b5051919050565b878152600060206001600160a01b03808a168285015260e0604085015261146e60e085018a6111c8565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806114ae57607f821691505b87821081036114cb57634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156114ec57600181146115025761152d565b60ff198416875282151560051b8701945061152d565b60008681526020902060005b8481101561152757815489820152908901908a0161150e565b88019550505b5050505086810360c08801526115438189611215565b9e9d5050505050505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008261158857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610eac57610eac611555565b8082028115828204841417610eac57610eac611555565b80820180821115610eac57610eac611555565b600082516115dc8184602087016111a4565b9190910192915050565b6000602082840312156115f857600080fd5b815161126c81611273565b6001600160a01b038316815260406020820152600061120d60408301846111c856fea2646970667358221220127ac8e54d39bb15a84215c3bc9ac8bf08a4c4b7873b31cfa5203f229a02e06164736f6c63430008130033","sourceMap":"486:3640:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;539:79:96:-;;;:::i;:::-;;;;;;;;:::i;1331:118:38:-;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;931:492:96:-;;;;;;:::i;:::-;;:::i;:::-;;;2579:25:100;;;2567:2;2552:18;931:492:96;2433:177:100;4412:75:9;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1429:1463:96:-;;;;;;:::i;:::-;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;3746:378:96:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;539:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;1537:101::-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;931:492:96:-;1023:16;;1000:7;;1019:234;;1088:8;-1:-1:-1;;;;;1088:22:96;;1128:1;1149:48;;;;;;;;1169:1;1149:48;;;;;;;;;;;;;;;;;;;;;;;;1199:12;:10;:12::i;:::-;1213:15;:13;:15::i;:::-;1088:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1069:16;:173;1019:234;-1:-1:-1;;1269:16:96;;;931:492::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1429:1463:96:-;-1:-1:-1;;;;;;;;1570:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1717:30:96;1731:15;1717:13;:30::i;:::-;1702:12;;;:45;1864:24;1878:9;1864:13;:24::i;:::-;1846:15;;;:42;1933:26;1947:11;1933:13;:26::i;:::-;1917:13;;;;:42;;;;-1:-1:-1;;;;;2056:40:96;;;;2141:16;;;2155:1;2141:16;;;;;;;;-1:-1:-1;;2141:16:96;;;;;;;;;;;;-1:-1:-1;2141:16:96;2107:50;;2195:4;2167:14;2182:1;2167:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;2167:33:96;;;-1:-1:-1;;;;;2167:33:96;;;;;2238:10;2210:14;2225:1;2210:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2210:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2536:19:96;;;2532:64;;-1:-1:-1;2580:5:96;2532:64;2614:4;-1:-1:-1;;;;;2614:33:96;;2702:25;2718:8;2702:15;:25::i;:::-;2772:18;;;6623:13:100;;-1:-1:-1;;;;;6619:62:100;2772:18:96;;;;6601:81:100;;;;6726:17;;6720:24;6698:20;;;6691:54;6789:17;;;6783:24;6761:20;;;;6754:54;;;;6852:17;;6846:24;6824:20;;;6817:54;2749:8:96;;6573:19:100;;2772:18:96;;;;;;;;;;;;2804:6;2824:1;2839:8;2861:14;2614:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2605:280;1429:1463;-1:-1:-1;;;;;;;;;1429:1463:96:o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;3746:378:96:-;3896:7;3931:11;3896:7;3972:27;3977:18;817:7;3987:3;3978:12;;;3977:18;:::i;:::-;3997:1;3972:4;:27::i;:::-;3952:47;-1:-1:-1;4114:3:96;723:8;4087:9;4091:5;817:7;4087:9;:::i;:::-;4063:19;4073:9;-1:-1:-1;;;4063:19:96;:::i;:::-;4045:14;817:7;4045:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;4019:21;4031:9;4019;:21;:::i;:::-;4018:80;;;;:::i;:::-;4017:92;;;;:::i;:::-;4016:101;;;3746:378;-1:-1:-1;;;;;;;3746:378:96:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;2898:114:96:-;2961:7;2987:18;2997:8;2987:7;:18;:::i;:::-;2980:25;2898:114;-1:-1:-1;;2898:114:96:o;3293:447::-;3354:15;-1:-1:-1;;;3389:2:96;:12;3381:53;;;;-1:-1:-1;;;3381:53:96;;10462:2:100;3381:53:96;;;10444:21:100;10501:2;10481:18;;;10474:30;10540;10520:18;;;10513:58;10588:18;;3381:53:96;;;;;;;;;-1:-1:-1;;;;3456:2:96;3480;3519:215;3526:5;;3519:215;;3551:1;3555;3551:5;3560:1;3551:10;3547:177;;3585:10;3590:1;3593;3585:4;:10::i;:::-;3581:14;-1:-1:-1;3619:1:96;3613:7;3519:215;;3547:177;3669:16;3674:7;3683:1;3669:4;:16::i;:::-;3659:26;-1:-1:-1;3703:6:96;3708:1;3703:6;;:::i;:::-;;;3519:215;;;3371:369;;3293:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;2579:25:100;;;20293:33:49;-1:-1:-1;20344:7:49;;;;2552:18:100;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;3018:269:96:-;3079:15;-1:-1:-1;;;3114:2:96;:13;;3106:66;;;;-1:-1:-1;;;3106:66:96;;11725:2:100;3106:66:96;;;11707:21:100;11764:2;11744:18;;;11737:30;11803:34;11783:18;;;11776:62;11874:10;11854:18;;;11847:38;11902:19;;3106:66:96;11523:404:100;3106:66:96;-1:-1:-1;;;3190:2:96;:12;3182:53;;;;-1:-1:-1;;;3182:53:96;;12134:2:100;3182:53:96;;;12116:21:100;12173:2;12153:18;;;12146:30;12212;12192:18;;;12185:58;12260:18;;3182:53:96;11932:352:100;3182:53:96;3277:3;723:8;3254:7;3259:2;3254;:7;:::i;:::-;3253:19;;;;:::i;:::-;3252:28;;;3018:269;-1:-1:-1;;;3018:269:96:o;400:250:100:-;485:1;495:113;509:6;506:1;503:13;495:113;;;585:11;;;579:18;566:11;;;559:39;531:2;524:10;495:113;;;-1:-1:-1;;642:1:100;624:16;;617:27;400:250::o;655:271::-;697:3;735:5;729:12;762:6;757:3;750:19;778:76;847:6;840:4;835:3;831:14;824:4;817:5;813:16;778:76;:::i;:::-;908:2;887:15;-1:-1:-1;;883:29:100;874:39;;;;915:4;870:50;;655:271;-1:-1:-1;;655:271:100:o;931:291::-;1108:6;1097:9;1090:25;1151:2;1146;1135:9;1131:18;1124:30;1071:4;1171:45;1212:2;1201:9;1197:18;1189:6;1171:45;:::i;:::-;1163:53;931:291;-1:-1:-1;;;;931:291:100:o;1227:484::-;1280:3;1318:5;1312:12;1345:6;1340:3;1333:19;1371:4;1400:2;1395:3;1391:12;1384:19;;1437:2;1430:5;1426:14;1458:1;1468:218;1482:6;1479:1;1476:13;1468:218;;;1547:13;;-1:-1:-1;;;;;1543:62:100;1531:75;;1626:12;;;;1661:15;;;;1504:1;1497:9;1468:218;;;-1:-1:-1;1702:3:100;;1227:484;-1:-1:-1;;;;;1227:484:100:o;1716:261::-;1895:2;1884:9;1877:21;1858:4;1915:56;1967:2;1956:9;1952:18;1944:6;1915:56;:::i;:::-;1907:64;1716:261;-1:-1:-1;;;1716:261:100:o;1982:165::-;-1:-1:-1;;;;;2072:5:100;2068:54;2061:5;2058:65;2048:93;;2137:1;2134;2127:12;2048:93;1982:165;:::o;2152:276::-;2229:6;2282:2;2270:9;2261:7;2257:23;2253:32;2250:52;;;2298:1;2295;2288:12;2250:52;2337:9;2324:23;2356:42;2392:5;2356:42;:::i;2615:899::-;2741:6;2749;2757;2765;2773;2826:3;2814:9;2805:7;2801:23;2797:33;2794:53;;;2843:1;2840;2833:12;2794:53;2882:9;2869:23;2901:42;2937:5;2901:42;:::i;:::-;2962:5;-1:-1:-1;3019:2:100;3004:18;;2991:32;3032:44;2991:32;3032:44;:::i;:::-;3095:7;-1:-1:-1;3154:2:100;3139:18;;3126:32;3167:44;3126:32;3167:44;:::i;:::-;3230:7;-1:-1:-1;3289:2:100;3274:18;;3261:32;3302:44;3261:32;3302:44;:::i;:::-;3365:7;-1:-1:-1;3424:3:100;3409:19;;3396:33;3438:44;3396:33;3438:44;:::i;:::-;3501:7;3491:17;;;2615:899;;;;;;;;:::o;3948:385::-;4034:6;4042;4050;4058;4111:3;4099:9;4090:7;4086:23;4082:33;4079:53;;;4128:1;4125;4118:12;4079:53;-1:-1:-1;;4151:23:100;;;4221:2;4206:18;;4193:32;;-1:-1:-1;4272:2:100;4257:18;;4244:32;;4323:2;4308:18;4295:32;;-1:-1:-1;3948:385:100;-1:-1:-1;3948:385:100:o;4338:437::-;4417:1;4413:12;;;;4460;;;4481:61;;4535:4;4527:6;4523:17;4513:27;;4481:61;4588:2;4580:6;4577:14;4557:18;4554:38;4551:218;;-1:-1:-1;;;4622:1:100;4615:88;4726:4;4723:1;4716:15;4754:4;4751:1;4744:15;4551:218;;4338:437;;;:::o;4969:184::-;-1:-1:-1;;;5018:1:100;5011:88;5118:4;5115:1;5108:15;5142:4;5139:1;5132:15;5158:1032;5582:6;5571:9;5564:25;5625:3;5620:2;5609:9;5605:18;5598:31;5666:2;5660:3;5649:9;5645:19;5638:31;5706:16;5700:3;5689:9;5685:19;5678:45;5759:3;5754:2;5743:9;5739:18;5732:31;5806:6;5800:13;5794:3;5783:9;5779:19;5772:42;5545:4;5861:2;5853:6;5849:15;5843:22;5902:2;5896:3;5885:9;5881:19;5874:31;5925:52;5972:3;5961:9;5957:19;5943:12;5925:52;:::i;:::-;5914:63;;-1:-1:-1;;;;;6017:6:100;6013:55;6008:2;5997:9;5993:18;5986:83;6115:9;6110:3;6106:19;6100:3;6089:9;6085:19;6078:48;6143:41;6180:3;6172:6;6143:41;:::i;:::-;6135:49;5158:1032;-1:-1:-1;;;;;;;5158:1032:100:o;6195:184::-;6265:6;6318:2;6306:9;6297:7;6293:23;6289:32;6286:52;;;6334:1;6331;6324:12;6286:52;-1:-1:-1;6357:16:100;;6195:184;-1:-1:-1;6195:184:100:o;7008:2154::-;7430:6;7419:9;7412:25;7393:4;7456:2;-1:-1:-1;;;;;7567:2:100;7559:6;7555:15;7550:2;7539:9;7535:18;7528:43;7607:3;7602:2;7591:9;7587:18;7580:31;7634:46;7675:3;7664:9;7660:19;7652:6;7634:46;:::i;:::-;7728:2;7720:6;7716:15;7711:2;7700:9;7696:18;7689:43;7769:6;7763:3;7752:9;7748:19;7741:35;7825:9;7817:6;7813:22;7807:3;7796:9;7792:19;7785:51;7866:6;7860:13;7852:6;7845:29;7893:4;7883:14;;7938:2;7930:6;7926:15;7974:2;7969;7961:6;7957:15;7950:27;7997:1;8030:12;8024:19;8066:3;8096:9;8092:2;8088:18;8078:28;;8156:2;8145:9;8141:18;8178;8168:61;;8222:4;8214:6;8210:17;8200:27;;8168:61;8275:2;8267:6;8264:14;8244:18;8241:38;8238:222;;-1:-1:-1;;;8309:3:100;8302:90;8415:4;8412:1;8405:15;8445:4;8440:3;8433:17;8238:222;8528:2;8516:15;;332:19;;;375:14;;;8469:71;-1:-1:-1;8556:18:100;8583:128;;;;8725:1;8720:321;;;;8549:492;;8583:128;-1:-1:-1;;8616:24:100;;8604:37;;8684:14;;8677:22;8674:1;8670:30;8661:40;;;-1:-1:-1;8583:128:100;;8720:321;6955:1;6948:14;;;6992:4;6979:18;;8821:1;8835:165;8849:6;8846:1;8843:13;8835:165;;;8927:14;;8914:11;;;8907:35;8970:16;;;;8864:10;;8835:165;;;9020:11;;;-1:-1:-1;;8549:492:100;;;;;9087:9;9082:3;9078:19;9072:3;9061:9;9057:19;9050:48;9115:41;9152:3;9144:6;9115:41;:::i;:::-;9107:49;7008:2154;-1:-1:-1;;;;;;;;;;;;;;7008:2154:100:o;9356:184::-;-1:-1:-1;;;9405:1:100;9398:88;9505:4;9502:1;9495:15;9529:4;9526:1;9519:15;9545:274;9585:1;9611;9601:189;;-1:-1:-1;;;9643:1:100;9636:88;9747:4;9744:1;9737:15;9775:4;9772:1;9765:15;9601:189;-1:-1:-1;9804:9:100;;9545:274::o;9824:128::-;9891:9;;;9912:11;;;9909:37;;;9926:18;;:::i;9957:168::-;10030:9;;;10061;;10078:15;;;10072:22;;10058:37;10048:71;;10099:18;;:::i;10130:125::-;10195:9;;;10216:10;;;10213:36;;;10229:18;;:::i;10617:289::-;10748:3;10786:6;10780:13;10802:66;10861:6;10856:3;10849:4;10841:6;10837:17;10802:66;:::i;:::-;10884:16;;;;;10617:289;-1:-1:-1;;10617:289:100:o;10911:262::-;10981:6;11034:2;11022:9;11013:7;11009:23;11005:32;11002:52;;;11050:1;11047;11040:12;11002:52;11082:9;11076:16;11101:42;11137:5;11101:42;:::i;11178:340::-;-1:-1:-1;;;;;11359:6:100;11355:55;11344:9;11337:74;11447:2;11442;11431:9;11427:18;11420:30;11318:4;11467:45;11508:2;11497:9;11493:18;11485:6;11467:45;:::i","linkReferences":{}},"methodIdentifiers":{"NATIVE()":"a0cf0aea","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address)":"ae159601","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpers.sol\":\"CVStrategyHelpers\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484\",\"dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpers.sol":"CVStrategyHelpers"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9","urls":["bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484","dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg"],"license":"UNLICENSED"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","id":62209,"exportedSymbols":{"Accounts":[9264],"Allo":[1390],"CVStrategy":[61025],"CVStrategyHelpers":[62208],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"console":[32357]},"nodeType":"SourceUnit","src":"40:4087:96","nodes":[{"id":61842,"nodeType":"PragmaDirective","src":"40:24:96","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":61843,"nodeType":"ImportDirective","src":"66:31:96","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":62209,"sourceUnit":32358,"symbolAliases":[],"unitAlias":""},{"id":61845,"nodeType":"ImportDirective","src":"98:53:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":62209,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":61844,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"106:4:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61847,"nodeType":"ImportDirective","src":"152:71:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":62209,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":61846,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"160:8:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61849,"nodeType":"ImportDirective","src":"224:49:96","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":62209,"sourceUnit":61026,"symbolAliases":[{"foreign":{"id":61848,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"232:10:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61851,"nodeType":"ImportDirective","src":"274:67:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":62209,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":61850,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"282:6:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61853,"nodeType":"ImportDirective","src":"342:74:96","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":62209,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":61852,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"350:9:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":61855,"nodeType":"ImportDirective","src":"418:66:96","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":62209,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":61854,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"426:8:96","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62208,"nodeType":"ContractDefinition","src":"486:3640:96","nodes":[{"id":61866,"nodeType":"VariableDeclaration","src":"539:79:96","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"555:8:96","scope":62208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":61861,"nodeType":"UserDefinedTypeName","pathNode":{"id":61860,"name":"Metadata","nameLocations":["539:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"539:8:96"},"referencedDeclaration":3098,"src":"539:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":61863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"586:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"737472617465677920706f696e746572","id":61864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"598:18:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""},"value":"strategy pointer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""}],"id":61862,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"566:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":61865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["576:8:96","589:7:96"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"566:52:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":61868,"nodeType":"VariableDeclaration","src":"647:33:96","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"664:16:96","scope":62208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"647:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":61873,"nodeType":"VariableDeclaration","src":"687:44:96","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"713:7:96","scope":62208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61869,"name":"uint256","nodeType":"ElementaryTypeName","src":"687:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":61872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":61870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"723:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":61871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"728:3:96","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"723:8:96","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":61878,"nodeType":"VariableDeclaration","src":"737:44:96","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"763:7:96","scope":62208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61874,"name":"uint256","nodeType":"ElementaryTypeName","src":"737:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":61877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":61875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"773:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":61876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"778:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"773:8:96","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":61883,"nodeType":"VariableDeclaration","src":"787:37:96","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"813:1:96","scope":62208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61879,"name":"uint256","nodeType":"ElementaryTypeName","src":"787:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":61882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":61880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"817:2:96","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":61881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"823:1:96","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"817:7:96","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":61918,"nodeType":"FunctionDefinition","src":"931:492:96","nodes":[],"body":{"id":61917,"nodeType":"Block","src":"1009:414:96","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":61896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":61891,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61868,"src":"1023:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":61894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1051:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":61893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1043:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":61892,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1043:7:96","typeDescriptions":{}}},"id":61895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1043:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1023:30:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":61914,"nodeType":"IfStatement","src":"1019:234:96","trueBody":{"id":61913,"nodeType":"Block","src":"1055:198:96","statements":[{"expression":{"id":61911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":61897,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61868,"src":"1069:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":61900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1128:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":61901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1131:16:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":61903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1169:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":61904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1181:14:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":61902,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1149:8:96","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":61905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1159:8:96","1172:7:96"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1149:48:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61906,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"1199:10:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":61907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1199:12:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":61908,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9055,"src":"1213:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":61909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1213:15:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":61898,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61886,"src":"1088:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":61899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1097:13:96","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1088:22:96","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":61910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1088:154:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1069:173:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":61912,"nodeType":"ExpressionStatement","src":"1069:173:96"}]}},{"expression":{"id":61915,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61868,"src":"1269:16:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":61890,"id":61916,"nodeType":"Return","src":"1262:23:96"}]},"functionSelector":"914a5f6d","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"940:15:96","parameters":{"id":61887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61886,"mutability":"mutable","name":"registry","nameLocation":"966:8:96","nodeType":"VariableDeclaration","scope":61918,"src":"956:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":61885,"nodeType":"UserDefinedTypeName","pathNode":{"id":61884,"name":"IRegistry","nameLocations":["956:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"956:9:96"},"referencedDeclaration":2802,"src":"956:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"955:20:96"},"returnParameters":{"id":61890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":61918,"src":"1000:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":61888,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1000:7:96","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"999:9:96"},"scope":62208,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":62039,"nodeType":"FunctionDefinition","src":"1429:1463:96","nodes":[],"body":{"id":62038,"nodeType":"Block","src":"1590:1302:96","nodes":[],"statements":[{"assignments":[61939],"declarations":[{"constant":false,"id":61939,"mutability":"mutable","name":"params","nameLocation":"1686:6:96","nodeType":"VariableDeclaration","scope":62038,"src":"1651:41:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams"},"typeName":{"id":61938,"nodeType":"UserDefinedTypeName","pathNode":{"id":61937,"name":"CVStrategy.InitializeParams","nameLocations":["1651:10:96","1662:16:96"],"nodeType":"IdentifierPath","referencedDeclaration":59210,"src":"1651:27:96"},"referencedDeclaration":59210,"src":"1651:27:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_storage_ptr","typeString":"struct CVStrategy.InitializeParams"}},"visibility":"internal"}],"id":61940,"nodeType":"VariableDeclarationStatement","src":"1651:41:96"},{"expression":{"id":61947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61941,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61939,"src":"1702:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61943,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1709:5:96","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":59205,"src":"1702:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":61945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1731:15:96","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":61944,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"1717:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1717:30:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1702:45:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61948,"nodeType":"ExpressionStatement","src":"1702:45:96"},{"expression":{"id":61955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61949,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61939,"src":"1846:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61951,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1853:8:96","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":59207,"src":"1846:15:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":61953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1878:9:96","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":61952,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"1864:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1864:24:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1846:42:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61956,"nodeType":"ExpressionStatement","src":"1846:42:96"},{"expression":{"id":61963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61957,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61939,"src":"1917:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1924:6:96","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":59209,"src":"1917:13:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":61961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1947:11:96","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":61960,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"1933:13:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":61962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1933:26:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1917:42:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":61964,"nodeType":"ExpressionStatement","src":"1917:42:96"},{"expression":{"id":61969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":61965,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61939,"src":"2056:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}},"id":61967,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2063:15:96","memberName":"registryGardens","nodeType":"MemberAccess","referencedDeclaration":59203,"src":"2056:22:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":61968,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61925,"src":"2081:15:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2056:40:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61970,"nodeType":"ExpressionStatement","src":"2056:40:96"},{"assignments":[61975],"declarations":[{"constant":false,"id":61975,"mutability":"mutable","name":"_pool_managers","nameLocation":"2124:14:96","nodeType":"VariableDeclaration","scope":62038,"src":"2107:31:96","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":61973,"name":"address","nodeType":"ElementaryTypeName","src":"2107:7:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61974,"nodeType":"ArrayTypeName","src":"2107:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":61981,"initialValue":{"arguments":[{"hexValue":"32","id":61979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2155:1:96","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":61978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2141:13:96","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":61976,"name":"address","nodeType":"ElementaryTypeName","src":"2145:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61977,"nodeType":"ArrayTypeName","src":"2145:9:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":61980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2141:16:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2107:50:96"},{"expression":{"id":61989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61982,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61975,"src":"2167:14:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":61984,"indexExpression":{"hexValue":"30","id":61983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2182:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2167:17:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":61987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2195:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpers_$62208","typeString":"contract CVStrategyHelpers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpers_$62208","typeString":"contract CVStrategyHelpers"}],"id":61986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2187:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61985,"name":"address","nodeType":"ElementaryTypeName","src":"2187:7:96","typeDescriptions":{}}},"id":61988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2187:13:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2167:33:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":61990,"nodeType":"ExpressionStatement","src":"2167:33:96"},{"expression":{"id":61999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":61991,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61975,"src":"2210:14:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":61993,"indexExpression":{"hexValue":"31","id":61992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2225:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2210:17:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":61996,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2238:3:96","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":61997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2242:6:96","memberName":"sender","nodeType":"MemberAccess","src":"2238:10:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":61995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2230:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61994,"name":"address","nodeType":"ElementaryTypeName","src":"2230:7:96","typeDescriptions":{}}},"id":61998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2230:19:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2210:39:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62000,"nodeType":"ExpressionStatement","src":"2210:39:96"},{"assignments":[62002],"declarations":[{"constant":false,"id":62002,"mutability":"mutable","name":"_token","nameLocation":"2507:6:96","nodeType":"VariableDeclaration","scope":62038,"src":"2499:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62001,"name":"address","nodeType":"ElementaryTypeName","src":"2499:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62004,"initialValue":{"id":62003,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"2516:6:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2499:23:96"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62005,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61930,"src":"2536:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":62008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2553:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2545:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62006,"name":"address","nodeType":"ElementaryTypeName","src":"2545:7:96","typeDescriptions":{}}},"id":62009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2545:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2536:19:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62016,"nodeType":"IfStatement","src":"2532:64:96","trueBody":{"id":62015,"nodeType":"Block","src":"2557:39:96","statements":[{"expression":{"id":62013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62011,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62002,"src":"2571:6:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62012,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61930,"src":"2580:5:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2571:14:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62014,"nodeType":"ExpressionStatement","src":"2571:14:96"}]}},{"expression":{"id":62036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62017,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61933,"src":"2605:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62021,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61928,"src":"2718:8:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":62020,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"2702:15:96","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":62022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2702:25:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":62025,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61923,"src":"2749:8:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2741:7:96","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62023,"name":"address","nodeType":"ElementaryTypeName","src":"2741:7:96","typeDescriptions":{}}},"id":62026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2741:17:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":62029,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61939,"src":"2783:6:96","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$59210_memory_ptr","typeString":"struct CVStrategy.InitializeParams memory"}],"expression":{"id":62027,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2772:3:96","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2776:6:96","memberName":"encode","nodeType":"MemberAccess","src":"2772:10:96","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2772:18:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":62031,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62002,"src":"2804:6:96","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2824:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62033,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61866,"src":"2839:8:96","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":62034,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61975,"src":"2861:14:96","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":62018,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61921,"src":"2614:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2619:28:96","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"2614:33:96","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":62035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2614:271:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2605:280:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62037,"nodeType":"ExpressionStatement","src":"2605:280:96"}]},"functionSelector":"ae159601","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"1438:10:96","parameters":{"id":61931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61921,"mutability":"mutable","name":"allo","nameLocation":"1454:4:96","nodeType":"VariableDeclaration","scope":62039,"src":"1449:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":61920,"nodeType":"UserDefinedTypeName","pathNode":{"id":61919,"name":"Allo","nameLocations":["1449:4:96"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1449:4:96"},"referencedDeclaration":1390,"src":"1449:4:96","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":61923,"mutability":"mutable","name":"strategy","nameLocation":"1468:8:96","nodeType":"VariableDeclaration","scope":62039,"src":"1460:16:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61922,"name":"address","nodeType":"ElementaryTypeName","src":"1460:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61925,"mutability":"mutable","name":"registryGardens","nameLocation":"1486:15:96","nodeType":"VariableDeclaration","scope":62039,"src":"1478:23:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61924,"name":"address","nodeType":"ElementaryTypeName","src":"1478:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":61928,"mutability":"mutable","name":"registry","nameLocation":"1513:8:96","nodeType":"VariableDeclaration","scope":62039,"src":"1503:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":61927,"nodeType":"UserDefinedTypeName","pathNode":{"id":61926,"name":"IRegistry","nameLocations":["1503:9:96"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1503:9:96"},"referencedDeclaration":2802,"src":"1503:9:96","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":61930,"mutability":"mutable","name":"token","nameLocation":"1531:5:96","nodeType":"VariableDeclaration","scope":62039,"src":"1523:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":61929,"name":"address","nodeType":"ElementaryTypeName","src":"1523:7:96","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1448:89:96"},"returnParameters":{"id":61934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":61933,"mutability":"mutable","name":"poolId","nameLocation":"1578:6:96","nodeType":"VariableDeclaration","scope":62039,"src":"1570:14:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":61932,"name":"uint256","nodeType":"ElementaryTypeName","src":"1570:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1569:16:96"},"scope":62208,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62053,"nodeType":"FunctionDefinition","src":"2898:114:96","nodes":[],"body":{"id":62052,"nodeType":"Block","src":"2970:42:96","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62046,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62041,"src":"2987:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":62049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":62047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2997:2:96","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":62048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3003:2:96","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"2997:8:96","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"2987:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62045,"id":62051,"nodeType":"Return","src":"2980:25:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"2907:13:96","parameters":{"id":62042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62041,"mutability":"mutable","name":"_amount","nameLocation":"2929:7:96","nodeType":"VariableDeclaration","scope":62053,"src":"2921:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62040,"name":"uint256","nodeType":"ElementaryTypeName","src":"2921:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2920:17:96"},"returnParameters":{"id":62045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62053,"src":"2961:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62043,"name":"uint256","nodeType":"ElementaryTypeName","src":"2961:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2960:9:96"},"scope":62208,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":62087,"nodeType":"FunctionDefinition","src":"3018:269:96","nodes":[],"body":{"id":62086,"nodeType":"Block","src":"3096:191:96","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62063,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62055,"src":"3114:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":62064,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61878,"src":"3120:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3114:13:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":62066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3129:42:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":62062,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3106:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":62067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3106:66:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62068,"nodeType":"ExpressionStatement","src":"3106:66:96"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62070,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62057,"src":"3190:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":62071,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61878,"src":"3195:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3190:12:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":62073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3204:30:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":62069,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3182:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":62074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3182:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62075,"nodeType":"ExpressionStatement","src":"3182:53:96"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62076,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62055,"src":"3254:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62077,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62057,"src":"3259:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3254:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62079,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3253:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62080,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"3265:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3253:19:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62082,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3252:21:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":62083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3277:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"3252:28:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62061,"id":62085,"nodeType":"Return","src":"3245:35:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"3027:4:96","parameters":{"id":62058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62055,"mutability":"mutable","name":"_a","nameLocation":"3040:2:96","nodeType":"VariableDeclaration","scope":62087,"src":"3032:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62054,"name":"uint256","nodeType":"ElementaryTypeName","src":"3032:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62057,"mutability":"mutable","name":"_b","nameLocation":"3052:2:96","nodeType":"VariableDeclaration","scope":62087,"src":"3044:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62056,"name":"uint256","nodeType":"ElementaryTypeName","src":"3044:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3031:24:96"},"returnParameters":{"id":62061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62060,"mutability":"mutable","name":"_result","nameLocation":"3087:7:96","nodeType":"VariableDeclaration","scope":62087,"src":"3079:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62059,"name":"uint256","nodeType":"ElementaryTypeName","src":"3079:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3078:17:96"},"scope":62208,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":62151,"nodeType":"FunctionDefinition","src":"3293:447:96","nodes":[],"body":{"id":62150,"nodeType":"Block","src":"3371:369:96","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62097,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62089,"src":"3389:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":62098,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61878,"src":"3394:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3389:12:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":62100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3403:30:96","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":62096,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3381:7:96","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":62101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3381:53:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62102,"nodeType":"ExpressionStatement","src":"3381:53:96"},{"assignments":[62104],"declarations":[{"constant":false,"id":62104,"mutability":"mutable","name":"a","nameLocation":"3452:1:96","nodeType":"VariableDeclaration","scope":62150,"src":"3444:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62103,"name":"uint256","nodeType":"ElementaryTypeName","src":"3444:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62106,"initialValue":{"id":62105,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62089,"src":"3456:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3444:14:96"},{"assignments":[62108],"declarations":[{"constant":false,"id":62108,"mutability":"mutable","name":"b","nameLocation":"3476:1:96","nodeType":"VariableDeclaration","scope":62150,"src":"3468:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62107,"name":"uint256","nodeType":"ElementaryTypeName","src":"3468:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62110,"initialValue":{"id":62109,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62091,"src":"3480:2:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3468:14:96"},{"expression":{"id":62113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62111,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62094,"src":"3492:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62112,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61878,"src":"3502:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3492:17:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62114,"nodeType":"ExpressionStatement","src":"3492:17:96"},{"body":{"id":62148,"nodeType":"Block","src":"3533:201:96","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62118,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62108,"src":"3551:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":62119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3555:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3551:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3560:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3551:10:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62146,"nodeType":"Block","src":"3641:83:96","statements":[{"expression":{"id":62140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62135,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62094,"src":"3659:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62137,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62094,"src":"3674:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62138,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62104,"src":"3683:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62136,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62087,"src":"3669:4:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":62139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3669:16:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3659:26:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62141,"nodeType":"ExpressionStatement","src":"3659:26:96"},{"expression":{"id":62144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62142,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62108,"src":"3703:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":62143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3708:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3703:6:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62145,"nodeType":"ExpressionStatement","src":"3703:6:96"}]},"id":62147,"nodeType":"IfStatement","src":"3547:177:96","trueBody":{"id":62134,"nodeType":"Block","src":"3563:72:96","statements":[{"expression":{"id":62128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62123,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62104,"src":"3581:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62125,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62104,"src":"3590:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62126,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62104,"src":"3593:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62124,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62087,"src":"3585:4:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":62127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3585:10:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3581:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62129,"nodeType":"ExpressionStatement","src":"3581:14:96"},{"expression":{"id":62132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62130,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62108,"src":"3613:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":62131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3619:1:96","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3613:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62133,"nodeType":"ExpressionStatement","src":"3613:7:96"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62115,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62108,"src":"3526:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":62116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3530:1:96","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3526:5:96","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62149,"nodeType":"WhileStatement","src":"3519:215:96"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"3302:4:96","parameters":{"id":62092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62089,"mutability":"mutable","name":"_a","nameLocation":"3315:2:96","nodeType":"VariableDeclaration","scope":62151,"src":"3307:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62088,"name":"uint256","nodeType":"ElementaryTypeName","src":"3307:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62091,"mutability":"mutable","name":"_b","nameLocation":"3327:2:96","nodeType":"VariableDeclaration","scope":62151,"src":"3319:10:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62090,"name":"uint256","nodeType":"ElementaryTypeName","src":"3319:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3306:24:96"},"returnParameters":{"id":62095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62094,"mutability":"mutable","name":"_result","nameLocation":"3362:7:96","nodeType":"VariableDeclaration","scope":62151,"src":"3354:15:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62093,"name":"uint256","nodeType":"ElementaryTypeName","src":"3354:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3353:17:96"},"scope":62208,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":62207,"nodeType":"FunctionDefinition","src":"3746:378:96","nodes":[],"body":{"id":62206,"nodeType":"Block","src":"3909:215:96","nodes":[],"statements":[{"assignments":[62165],"declarations":[{"constant":false,"id":62165,"mutability":"mutable","name":"t","nameLocation":"3927:1:96","nodeType":"VariableDeclaration","scope":62206,"src":"3919:9:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62164,"name":"uint256","nodeType":"ElementaryTypeName","src":"3919:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62167,"initialValue":{"id":62166,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62153,"src":"3931:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3919:23:96"},{"assignments":[62169],"declarations":[{"constant":false,"id":62169,"mutability":"mutable","name":"atTWO_128","nameLocation":"3960:9:96","nodeType":"VariableDeclaration","scope":62206,"src":"3952:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62168,"name":"uint256","nodeType":"ElementaryTypeName","src":"3952:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62179,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62171,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62159,"src":"3978:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":62172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3987:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"3978:12:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62174,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3977:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":62175,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61883,"src":"3994:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3977:18:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62177,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62165,"src":"3997:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":62170,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62151,"src":"3972:4:96","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":62178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3972:27:96","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3952:47:96"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62180,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62169,"src":"4019:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62181,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62155,"src":"4031:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4019:21:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62183,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4018:23:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62184,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62157,"src":"4045:10:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":62185,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61883,"src":"4058:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4045:14:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62187,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61878,"src":"4063:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":62188,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62169,"src":"4073:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4063:19:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62190,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4062:21:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4045:38:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62192,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61883,"src":"4087:1:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":62193,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62159,"src":"4091:5:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4087:9:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62195,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4086:11:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4045:52:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62197,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4044:54:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4018:80:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4017:82:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":62200,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61873,"src":"4102:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4017:92:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":62202,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4016:94:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":62203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4114:3:96","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"4016:101:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62163,"id":62205,"nodeType":"Return","src":"4009:108:96"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"3755:20:96","parameters":{"id":62160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62153,"mutability":"mutable","name":"_timePassed","nameLocation":"3784:11:96","nodeType":"VariableDeclaration","scope":62207,"src":"3776:19:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62152,"name":"uint256","nodeType":"ElementaryTypeName","src":"3776:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62155,"mutability":"mutable","name":"_lastConv","nameLocation":"3805:9:96","nodeType":"VariableDeclaration","scope":62207,"src":"3797:17:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62154,"name":"uint256","nodeType":"ElementaryTypeName","src":"3797:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62157,"mutability":"mutable","name":"_oldAmount","nameLocation":"3824:10:96","nodeType":"VariableDeclaration","scope":62207,"src":"3816:18:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62156,"name":"uint256","nodeType":"ElementaryTypeName","src":"3816:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62159,"mutability":"mutable","name":"decay","nameLocation":"3844:5:96","nodeType":"VariableDeclaration","scope":62207,"src":"3836:13:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62158,"name":"uint256","nodeType":"ElementaryTypeName","src":"3836:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3775:75:96"},"returnParameters":{"id":62163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62207,"src":"3896:7:96","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62161,"name":"uint256","nodeType":"ElementaryTypeName","src":"3896:7:96","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3895:9:96"},"scope":62208,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":61856,"name":"Native","nameLocations":["516:6:96"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"516:6:96"},"id":61857,"nodeType":"InheritanceSpecifier","src":"516:6:96"},{"baseName":{"id":61858,"name":"Accounts","nameLocations":["524:8:96"],"nodeType":"IdentifierPath","referencedDeclaration":9264,"src":"524:8:96"},"id":61859,"nodeType":"InheritanceSpecifier","src":"524:8:96"}],"canonicalName":"CVStrategyHelpers","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[62208,9264,17664,16871,3106],"name":"CVStrategyHelpers","nameLocation":"495:17:96","scope":62209,"usedErrors":[]}],"license":"UNLICENSED"},"id":96} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json b/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json index 2053d2d6e..e6191b2bd 100644 --- a/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json +++ b/pkg/contracts/out/CVStrategyTest.t.sol/CVStrategyTest.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUESTED_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createProposal","inputs":[{"name":"_tokenPool","type":"address","internalType":"address"},{"name":"requestAmount","type":"uint256","internalType":"uint256"},{"name":"poolAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"pool","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]},{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disabled_test_threshold_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBalance","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testRevert_allocate_ProposalIdDuplicated","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_UserNotInRegistry","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_1_proposalSupported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_activate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_allocate_proposalSupport_empty_array","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_function","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_deactivate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_native_token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_signaling_proposal","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_change_support","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_conviction_threshold_2_users","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_total_staked_amount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602492835590919060259062000060908262000136565b5050600160288190556029805460ff19169055602c5550613a98602e553480156200008a57600080fd5b5062000202565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000bc57607f821691505b602082108103620000dd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013157600081815260208120601f850160051c810160208610156200010c5750805b601f850160051c820191505b818110156200012d5782815560010162000118565b5050505b505050565b81516001600160401b0381111562000152576200015262000091565b6200016a81620001638454620000a7565b84620000e3565b602080601f831160018114620001a25760008415620001895750858301515b600019600386901b1c1916600185901b1785556200012d565b600085815260208120601f198616915b82811015620001d357888601518255948401946001909101908401620001b2565b5085821015620001f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201be4580620002136000396000f3fe60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae6200170b565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009d69565b62001a28565b6200064762001d73565b6200064762001db5565b6200072362001df7565b6040516200065b919062009dd6565b6200073c62001e5b565b6040516200065b919062009e3f565b620006ae6200075c36600462009f14565b6029805460ff1916911515919091179055565b620006ae62001fa9565b6023546001600160a01b031662000647565b6200079562002220565b6040516200065b92919062009f34565b620006ae620022bf565b60205462000695565b6200072362002515565b6200072362002577565b62000723620025d9565b620006ae620025fc565b620006476200349e565b62000695602e5481565b62000647620034e0565b620006ae62003522565b6200064762003a9c565b6200081c62003ade565b6040516200065b919062009f57565b6200064762003bc8565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a0af565b62003c0a565b6200072362003edb565b620006ae62003f7d565b6200064762004bf9565b62000695602c5481565b6200072362004c3b565b601d546001600160a01b031662000647565b6200064762004caa565b6200064762004cec565b620008c762004d2e565b6040516200065b91906200a155565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004e08565b62000647620052a1565b62000647620052e3565b6200069561afc881565b620006ae62005325565b620006956200093736600462009d69565b6200585a565b6200081c62005937565b620006ae62005a21565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005c1c565b620006ae62005c8b565b6200064762006129565b620006956200099c3660046200a1bb565b6200616b565b620009b9620009b33660046200a237565b6200636b565b6040516200065b9291906200a290565b620008c762006ab2565b620009dd62006b8c565b60405190151581526020016200065b565b620006ae62006cc3565b62000695613a9881565b6021546001600160a01b031662000647565b6200064762006feb565b620006476200702d565b620006ae6200706f565b6200069562000a433660046200a2fa565b620073fe565b62000647620074d2565b601c546001600160a01b031662000647565b620006ae62007514565b62000647620078c6565b6200064762007908565b620006ae6200794a565b6200072362007dc3565b6200069562000aa83660046200a338565b62007e25565b620006ae62007ed3565b6200064762008469565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620084a6565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620084a6565b62000bc2620084ba565b62000bdf62000bd9601d546001600160a01b031690565b62008ac4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009c1f565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec7620052a1565b62000ed6600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a3a4565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009c2d565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009c3b565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a3c4565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008c9b565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a400565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a483565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a3a4565b505050565b6000806200141b60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a4bd565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620015899050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015cb57600080fd5b505af1158015620015e0573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200162057600080fd5b505af115801562001635573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ed57600080fd5b505af115801562001702573d6000803e3d6000fd5b50505050505050565b6000806200171d60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200178692016200a4bd565b600060405180830381600087803b158015620017a157600080fd5b505af1158015620017b6573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620017f657600080fd5b505af11580156200180b573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018369050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200187857600080fd5b505af11580156200188d573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018cd57600080fd5b505af1158015620018e2573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200194557600080fd5b505af11580156200195a573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200197f620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620019c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019ea91906200a3a4565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062009125565b602a546000906001600160a01b031662001d6257600060405162001a4c9062009ca6565b604051809103906000f08015801562001a69573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001a8b9062009cb4565b604051809103906000f08015801562001aa8573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001b05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b2b91906200a483565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001bce57600080fd5b505af115801562001be3573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001c7357600080fd5b505af115801562001c88573d6000803e3d6000fd5b50600092506001915062001c999050565b60405190808252806020026020018201604052801562001cc3578160200160208202803683370190505b509050848160008151811062001cdd5762001cdd6200a4d2565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001d2a90849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b15801562001d4557600080fd5b505af115801562001d5a573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620084a6565b6060601480548060200260200160405190810160405280929190818152602001828054801562001e5157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e32575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001f8857838290600052602060002001805462001ef4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001f22906200a3c4565b801562001f735780601f1062001f475761010080835404028352916020019162001f73565b820191906000526020600020905b81548152906001019060200180831162001f5557829003601f168201915b50505050508152602001906001019062001ed2565b50505050815250508152602001906001019062001e7f565b50505050905090565b600062001fcd73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915050620020056040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200201d5790505090506040518060400160405280600181526020016050815250816000815181106200207457620020746200a4d2565b6020026020010181905250604051806040016040528060018152602001601481525081600181518110620020ac57620020ac6200a4d2565b6020026020010181905250600081604051602001620020cc91906200a54f565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200216c91906004016200a4bd565b600060405180830381600087803b1580156200218757600080fd5b505af11580156200219c573d6000803e3d6000fd5b50505050620021b3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620021e292919062009f34565b600060405180830381600087803b158015620021fd57600080fd5b505af115801562002212573d6000803e3d6000fd5b505050506200140462009199565b602480546025805491929162002236906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462002264906200a3c4565b8015620022b55780601f106200228957610100808354040283529160200191620022b5565b820191906000526020600020905b8154815290600101906020018083116200229757829003601f168201915b5050505050905082565b600080620022e473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915091506200231d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023355790505090506040518060400160405280600181526020016064815250816000815181106200238c576200238c6200a4d2565b602002602001018190525080600181518110620023ad57620023ad6200a4d2565b5050604051600090620023c59083906020016200a54f565b6040516020818303038152906040529050620023e9601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200241892919062009f34565b600060405180830381600087803b1580156200243357600080fd5b505af115801562002448573d6000803e3d6000fd5b505050506200245662009199565b6020840151604051631c1ba58760e31b815260016004820152306024820152620024db906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620024ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024d391906200a4a3565b60326200922c565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d906024016200248f565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200261f60006802b5e3af16b1880000683635c9adc5dea000006200636b565b602082015191935091506001600160a01b0381166369fa25c46200264b670dd46c083165900062009342565b6040518263ffffffff1660e01b81526004016200266a91815260200190565b600060405180830381600087803b1580156200268557600080fd5b505af11580156200269a573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620026c067016345785d8a000062009342565b6040518263ffffffff1660e01b8152600401620026df91815260200190565b600060405180830381600087803b158015620026fa57600080fd5b505af11580156200270f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027346601c6bf5263400062009342565b6040518263ffffffff1660e01b81526004016200275391815260200190565b600060405180830381600087803b1580156200276e57600080fd5b505af115801562002783573d6000803e3d6000fd5b50505050620027bc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620027d757905050905060405180604001604052806001815260200183815250816000815181106200282d576200282d6200a4d2565b60200260200101819052506000816040516020016200284d91906200a54f565b604051602081830303815290604052905062002871601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620028a092919062009f34565b600060405180830381600087803b158015620028bb57600080fd5b505af1158015620028d0573d6000803e3d6000fd5b50505050620028de62009199565b60006064620028ef6032866200a5a0565b620028fb91906200a381565b604051631c1ba58760e31b8152600160048201523060248201529091506200297d906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200297691906200a4a3565b826200922c565b60405163dc96ff2d60e01b815260016004820152620029b0906001600160a01b0387169063dc96ff2d9060240162002932565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620029d4620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002a1657600080fd5b505af115801562002a2b573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a6b57600080fd5b505af115801562002a80573d6000803e3d6000fd5b50600092506001915062002a919050565b60405190808252806020026020018201604052801562002ad857816020015b604080518082019091526000808252602082015281526020019060019003908162002ab05790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002b0d5762002b0d6200a4d2565b60200260200101819052508160405160200162002b2b91906200a54f565b604051602081830303815290604052935062002b4f601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002b7e92919062009f34565b600060405180830381600087803b15801562002b9957600080fd5b505af115801562002bae573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c1157600080fd5b505af115801562002c26573d6000803e3d6000fd5b505050506000606460328362002c3d91906200a5a0565b62002c4991906200a381565b905062002c9d886001600160a01b031663e0dd2c38600162002c6a620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002932565b60405163dc96ff2d60e01b81526001600482015262002d20906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002ce8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d0e91906200a4a3565b62002d1a83876200a5ba565b6200922c565b62002d616040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002da2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dc891906200a4a3565b905062002e0b6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e74730000000000008152508262009355565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ea491906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002e78573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9e91906200a4a3565b62009355565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002f5e91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002f19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f3f91906200a4a3565b6040518263ffffffff1660e01b815260040162002e5a91815260200190565b60405163950559d760e01b81526004810182905262002ffd906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002fcf91906200a4a3565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620093b7565b60405163dc96ff2d60e01b81526001600482015262003106906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200307691906200a4a3565b6040518263ffffffff1660e01b81526004016200309591815260200190565b602060405180830381865afa158015620030b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030d991906200a4a3565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620093b7565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200315457600080fd5b505af115801562003169573d6000803e3d6000fd5b50505050620031ae6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620031f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200321c91906200a4a3565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200325591815260200190565b61018060405180830381865afa15801562003274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200329a91906200a5e0565b9b509b50509a5050505097509750505050620032e36040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62003318604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620033496040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b6200338060405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b620033c16040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b620034058261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620093b7565b62003449836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620093b7565b6200348c8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620093b7565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620084a6565b6000806200354773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602f5460405161afc86024820152929450909250620035b4916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003c0a565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620035cb5790505090506040518060400160405280600181526020016064815250816000815181106200362257620036226200a4d2565b60200260200101819052506000816040516020016200364291906200a54f565b604051602081830303815290604052905062003666601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200369592919062009f34565b600060405180830381600087803b158015620036b057600080fd5b505af1158015620036c5573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003752906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003725573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200374b91906200a4a3565b836200922c565b60405163dc96ff2d60e01b81526001600482015262003785906001600160a01b0383169063dc96ff2d9060240162003707565b60405180604001604052806001815260200160631981525084600081518110620037b357620037b36200a4d2565b602002602001018190525083604051602001620037d191906200a54f565b6040516020818303038152906040529250620037f5601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200382492919062009f34565b600060405180830381600087803b1580156200383f57600080fd5b505af115801562003854573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200390d92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620038a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620038cf91906200a4a3565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b815260016004820152620039bc906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003958573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200397e91906200a4a3565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620093b7565b62003a63816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620039ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2591906200a4a3565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620093b7565b602f546040516032602482015262003a94916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620084a6565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003baf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003b705790505b5050505050815250508152602001906001019062003b02565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620084a6565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003c90573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb691906200a4a3565b6040518b63ffffffff1660e01b815260040162003cdd9a999897969594939291906200a6d2565b600060405180830381865afa15801562003cfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003d2591908101906200a77f565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dd291906200a7cd565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003e89908c908c908c90600090819081908190819081908d906065016200a80c565b6020604051808303816000875af115801562003ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ecf91906200a3a4565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003f0a62001db5565b8160008151811062003f205762003f206200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62004caa565b8160018151811062003f605762003f606200a4d2565b6001600160a01b0390921660209283029190910190910152919050565b60008062003fa273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062003fdb6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003ff657905050905060405180604001604052806001815260200183815250816000815181106200404c576200404c6200a4d2565b60200260200101819052506000816040516020016200406c91906200a54f565b604051602081830303815290604052905062004090601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620040bf92919062009f34565b600060405180830381600087803b158015620040da57600080fd5b505af1158015620040ef573d6000803e3d6000fd5b50505050620040fd62009199565b600060646200410e6032866200a5a0565b6200411a91906200a381565b6020870151604051631c1ba58760e31b81526001600482015230602482015291925090620041d7906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200419a91906200a4a3565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200420a906001600160a01b0383169063dc96ff2d9060240162003707565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200422e620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200427057600080fd5b505af115801562004285573d6000803e3d6000fd5b5050505060006002905060006040518060c00160405280838152602001898152602001620042b2620052a1565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620042f8918491016200a893565b60405160208183030381529060405290506200431c601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200434b92919062009f34565b6020604051808303816000875af11580156200436b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200439191906200a483565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620043e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200440f91906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200445b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200448191906200a3a4565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620044be57600080fd5b505af1158015620044d3573d6000803e3d6000fd5b506000925060019150620044e49050565b6040519080825280602002602001820160405280156200452b57816020015b6040805180820190915260008082526020820152815260200190600190039081620045035790505b509050600060649050604051806040016040528086815260200182815250826000815181106200455f576200455f6200a4d2565b6020026020010181905250816040516020016200457d91906200a54f565b6040516020818303038152906040529750620045a1601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620045d092919062009f34565b600060405180830381600087803b158015620045eb57600080fd5b505af115801562004600573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200466357600080fd5b505af115801562004678573d6000803e3d6000fd5b50505050600060646032836200468f91906200a5a0565b6200469b91906200a381565b905062004769876001600160a01b031663e0dd2c3888620046bb620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004706573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472c91906200a4a3565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b81526004810187905262004817906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620047b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047da91906200a4a3565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620093b7565b620048586040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b620048ce6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002f19573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200492a91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002efb565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200497857600080fd5b505af11580156200498d573d6000803e3d6000fd5b50505050620049d26040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004a1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a4091906200a4a3565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004a7991815260200190565b61018060405180830381865afa15801562004a98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004abe91906200a5e0565b9b509b50509a505050509750975050505062004b076040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62004b3c604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b62004b6d6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b62004ba460405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b62004be56040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620084a6565b6040805160028082526060808301845292600092919060208301908036833701905050905062004c6a62000aed565b8160008151811062004c805762004c806200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62003bc8565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620084a6565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462004d74906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462004da2906200a3c4565b801562004df35780601f1062004dc75761010080835404028352916020019162004df3565b820191906000526020600020905b81548152906001019060200180831162004dd557829003601f168201915b50505050508152602001906001019062004d52565b60008062004e2d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062004e666040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004e81579050509050604051806040016040528060018152602001838152508160008151811062004ed75762004ed76200a4d2565b602002602001018190525062004ef5601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004f1791906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004f4592919062009f34565b600060405180830381600087803b15801562004f6057600080fd5b505af115801562004f75573d6000803e3d6000fd5b5050505062004f8362009199565b6000606462004f946032856200a5a0565b62004fa091906200a381565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004fe2906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b81526001600482015262005015906001600160a01b0383169063dc96ff2d9060240162003707565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200504e91815260200190565b61018060405180830381865afa1580156200506d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200509391906200a5e0565b509a50509950995050509750975050965050620050dd6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62005112604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620051436040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620051846040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b620051bb60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620051f2908a620073fe565b9050620052018160006200922c565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b81526004016200523e939291906200a8fc565b600060405180830381600087803b1580156200525957600080fd5b505af11580156200526e573d6000803e3d6000fd5b50505050620052828f604001518a620073fe565b90506200529081896200922c565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620084a6565b6000806200534a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005376670c7d713b49da000062009342565b6040518263ffffffff1660e01b81526004016200539591815260200190565b600060405180830381600087803b158015620053b057600080fd5b505af1158015620053c5573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620053eb6702c68af0bb14000062009342565b6040518263ffffffff1660e01b81526004016200540a91815260200190565b600060405180830381600087803b1580156200542557600080fd5b505af11580156200543a573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200545f66071afd498d000062009342565b6040518263ffffffff1660e01b81526004016200547e91815260200190565b600060405180830381600087803b1580156200549957600080fd5b505af1158015620054ae573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620054e992506001600160a01b03909116906000906318fb0de560e11b906044016200357c565b6200551e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055355790505090506040518060400160405280600181526020016064815250816000815181106200558c576200558c6200a4d2565b6020026020010181905250600081604051602001620055ac91906200a54f565b6040516020818303038152906040529050620055d0601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620055ff92919062009f34565b600060405180830381600087803b1580156200561a57600080fd5b505af11580156200562f573d6000803e3d6000fd5b505050506200563d62009199565b604051631c1ba58760e31b815260016004820152306024820152620056bc906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa1580156200568f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620056b591906200a4a3565b846200922c565b60405163dc96ff2d60e01b815260016004820152620056ef906001600160a01b0386169063dc96ff2d9060240162005671565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa15801562005749573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576f91906200a4a3565b9050620057a26040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b6000620057b7600a6000856289544062007e25565b9050620057e76040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b620057f382826200922c565b6200580183613a986200922c565b6200580f8661afc86200922c565b6200581e8262017da26200922c565b602f54604051603260248201526200584f916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050505050565b6026546000906200592f57816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620058ba620052a1565b620058c462004c3b565b6040518563ffffffff1660e01b8152600401620058e594939291906200a935565b6020604051808303816000875af115801562005905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200592b91906200a4a3565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005a0857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620059c95790505b505050505081525050815260200190600101906200595b565b600062005a4573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505060006040518060c001604052806001815260200183815260200162005a6c620052a1565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005ac191906200a893565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005b5a91906004016200a4bd565b600060405180830381600087803b15801562005b7557600080fd5b505af115801562005b8a573d6000803e3d6000fd5b5050505062005ba1601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005bd092919062009f34565b6020604051808303816000875af115801562005bf0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c1691906200a483565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005c4b6200349e565b8160008151811062005c615762005c616200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a620052e3565b60008062005cb073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005cdc670c7d713b49da000062009342565b6040518263ffffffff1660e01b815260040162005cfb91815260200190565b600060405180830381600087803b15801562005d1657600080fd5b505af115801562005d2b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005d516702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162005d7091815260200190565b600060405180830381600087803b15801562005d8b57600080fd5b505af115801562005da0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005dc566071afd498d000062009342565b6040518263ffffffff1660e01b815260040162005de491815260200190565b600060405180830381600087803b15801562005dff57600080fd5b505af115801562005e14573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005e4c93506001600160a01b0390911691506000906318fb0de560e11b906044016200357c565b62005e816040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005e9857905050905060405180604001604052806001815260200160648152508160008151811062005eef5762005eef6200a4d2565b602002602001018190525060008160405160200162005f0f91906200a54f565b604051602081830303815290604052905062005f33601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005f6292919062009f34565b600060405180830381600087803b15801562005f7d57600080fd5b505af115801562005f92573d6000803e3d6000fd5b5050505062005fa062009199565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005fdd906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262006010906001600160a01b0386169063dc96ff2d9060240162002932565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200609991906200a4a3565b9050620060dc6040518060400160405280600c81526020017f7468726573686f6c6420257300000000000000000000000000000000000000008152508262009355565b620060ea8261afc86200922c565b620060f88161c5c16200922c565b602f546040516032602482015262001702916001600160a01b0316906000906318fb0de560e11b906044016200357c565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620084a6565b6040805160808101825260008082526020820181905291810182905260608101829052620061a1670de0a46bc207d80062009342565b6020820152620061b96702c68af0bb14000062009342565b6040820152620061d066038d7ea4c6800062009342565b6060828101919091526001600160a01b03861682526040805160028082529281018252600092909160208301908036833701905050905030816000815181106200621e576200621e6200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200625557620062556200a4d2565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908516156200628c5750835b886001600160a01b031663e1007d4a620062a6886200585a565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200631897969594939291906200a9bd565b6020604051808303816000875af115801562006338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200635e91906200a4a3565b9998505050505050505050565b6200637562009cc2565b60008360000362006386576103e893505b826000036200639557613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620063c75750602d546001600160a01b03165b620063f86040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200641c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200645e57600080fd5b505af115801562006473573d6000803e3d6000fd5b5050505060006200648c601c546001600160a01b031690565b6040516200649a9062009d29565b6001600160a01b039091168152602001604051809103906000f080158015620064c7573d6000803e3d6000fd5b50905062006508620064e1601c546001600160a01b031690565b82620064f5602f546001600160a01b031690565b601d546001600160a01b0316866200616b565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200656957600080fd5b505af11580156200657e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620065be57600080fd5b505af1158015620065d3573d6000803e3d6000fd5b50505050620065ea601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200661891815260200190565b600060405180830381865afa15801562006636573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200666091908101906200ab4f565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620066d057600080fd5b505af1158015620066e5573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200679057601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200677057600080fd5b505af115801562006785573d6000803e3d6000fd5b505050505062006914565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620067f257600080fd5b505af115801562006807573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b36200682d601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af11580156200687b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620068a191906200a3a4565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620068fa57600080fd5b505af11580156200690f573d6000803e3d6000fd5b505050505b83516200696e906200693262000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c6549440000000000000000000000000000000000000081525062009404565b6200699f6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b60006040518060c0016040528060018152602001858152602001620069c3620052a1565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006a0291906200a893565b604051602081830303815290604052905062006a26601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006a5592919062009f34565b6020604051808303816000875af115801562006a75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006a9b91906200a483565b5062006aa662009199565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462006af8906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462006b26906200a3c4565b801562006b775780601f1062006b4b5761010080835404028352916020019162006b77565b820191906000526020600020905b81548152906001019060200180831162006b5957829003601f168201915b50505050508152602001906001019062006ad6565b600754600090610100900460ff161562006baf5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006cbe5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006c40917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200ac0f565b60408051601f198184030181529082905262006c5c916200ac41565b6000604051808303816000865af19150503d806000811462006c9b576040519150601f19603f3d011682016040523d82523d6000602084013e62006ca0565b606091505b509150508080602001905181019062006cba91906200a3a4565b9150505b919050565b600062006ce773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505062006d1f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006d3757905050905060405180604001604052806001815260200160508152508160008151811062006d8e5762006d8e6200a4d2565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006dc65762006dc66200a4d2565b602002602001018190525060008160405160200162006de691906200a54f565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006e1c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006e5e57600080fd5b505af115801562006e73573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006efd57600080fd5b505af115801562006f12573d6000803e3d6000fd5b5050505062006f29601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006f5892919062009f34565b600060405180830381600087803b15801562006f7357600080fd5b505af115801562006f88573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620021fd57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200709473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620070cd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620070e45790505090506040518060400160405280600181526020016050815250816000815181106200713b576200713b6200a4d2565b60200260200101819052506000816040516020016200715b91906200a54f565b60405160208183030381529060405290506200717f601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620071ae92919062009f34565b600060405180830381600087803b158015620071c957600080fd5b505af1158015620071de573d6000803e3d6000fd5b50505050620071ec62009199565b60006064620071fe603260506200a5a0565b6200720a91906200a381565b6020860151604051631c1ba58760e31b815260016004820152306024820152919250906200724c906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b8152600160048201526200727f906001600160a01b0383169063dc96ff2d9060240162003707565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007296579050509050604051806040016040528060018152602001601481525081600081518110620072ed57620072ed6200a4d2565b6020026020010181905250806040516020016200730b91906200a54f565b60405160208183030381529060405293506200732f601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200735e92919062009f34565b600060405180830381600087803b1580156200737957600080fd5b505af11580156200738e573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620073cb92506001600160a01b038516915063e0dd2c38906044016200248f565b60405163dc96ff2d60e01b81526001600482015262001702906001600160a01b0384169063dc96ff2d906024016200248f565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200744357506001600160a01b03811631620074cc565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620074a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074c991906200a4a3565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620084a6565b6000806200753973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620075726040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200758957905050905060405180604001604052806001815260200160631981525081600081518110620075e157620075e16200a4d2565b60200260200101819052506000816040516020016200760191906200a54f565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620076a991906004016200a4bd565b600060405180830381600087803b158015620076c457600080fd5b505af1158015620076d9573d6000803e3d6000fd5b50505050620076f0601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200771f92919062009f34565b600060405180830381600087803b1580156200773a57600080fd5b505af11580156200774f573d6000803e3d6000fd5b505050506200775d62009199565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007817906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620077b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620077d991906200a4a3565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562007862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200788891906200a4a3565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620093b7565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200796f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c46200799b670c7d713b49da000062009342565b6040518263ffffffff1660e01b8152600401620079ba91815260200190565b600060405180830381600087803b158015620079d557600080fd5b505af1158015620079ea573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007a106702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162007a2f91815260200190565b600060405180830381600087803b15801562007a4a57600080fd5b505af115801562007a5f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007a8466071afd498d000062009342565b6040518263ffffffff1660e01b815260040162007aa391815260200190565b600060405180830381600087803b15801562007abe57600080fd5b505af115801562007ad3573d6000803e3d6000fd5b5050505062007b0c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007b2357905050905060405180604001604052806001815260200160508152508160008151811062007b7a5762007b7a6200a4d2565b602002602001018190525060008160405160200162007b9a91906200a54f565b604051602081830303815290604052905062007bbe601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007bed92919062009f34565b600060405180830381600087803b15801562007c0857600080fd5b505af115801562007c1d573d6000803e3d6000fd5b5050505062007c2b62009199565b6000606462007c3d603260506200a5a0565b62007c4991906200a381565b604051631c1ba58760e31b81526001600482015230602482015290915062007c85906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262007cb8906001600160a01b0386169063dc96ff2d9060240162002932565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007d0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d3591906200a4a3565b905062007d686040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b600062007d7d600a6000856289544062007e25565b905062007dad6040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b62007db982826200922c565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6000848162007e4762007e4062989680608087901b6200a381565b8362009451565b905060806f8000000000000000000000000000000062007e6b86629896806200ac5f565b62007e7b84600160801b6200ac5f565b62007e8a629896808a6200a5a0565b62007e9691906200a5a0565b62007ea291906200a381565b62007eae89856200a5a0565b62007eba91906200a5ba565b62007ec691906200a5ba565b901c979650505050505050565b60008062007ee560008060006200636b565b9150915062007f1a6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007f60918491016200a893565b604051602081830303815290604052905062007f84601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007fb392919062009f34565b6020604051808303816000875af115801562007fd3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007ff991906200a483565b506200800462009199565b620080396040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252606491600291600091816020015b60408051808201909152600080825260208201528152602001906001900390816200805657905050905060405180604001604052808381526020018481525081600081518110620080ab57620080ab6200a4d2565b6020026020010181905250620080c9601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620080eb91906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200811992919062009f34565b600060405180830381600087803b1580156200813457600080fd5b505af115801562008149573d6000803e3d6000fd5b505050506200815762009199565b60006064620081686032866200a5a0565b6200817491906200a381565b6020890151604051631c1ba58760e31b81526004810186905230602482015291925090620081b6906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b815260048101859052620081e9906001600160a01b0383169063dc96ff2d9060240162003707565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200822191815260200190565b61018060405180830381865afa15801562008240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200826691906200a5e0565b509a505099509950505097509750505050620082af6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b620082e4604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620083156040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620083566040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b6200838d60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b600089604051602001620083a391815260200190565b6040516020818303038152906040529050620083c7601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f600060405190808252806020026020018201604052801562008402578160200160208202803683370190505b50846040518463ffffffff1660e01b815260040162008424939291906200a8fc565b600060405180830381600087803b1580156200843f57600080fd5b505af115801562008454573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620084b3826200950a565b5092915050565b620084c46200963f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620084e8620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200852a57600080fd5b505af11580156200853f573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620085ad620052a1565b620085b762004c3b565b6040518563ffffffff1660e01b8152600401620085d894939291906200a935565b6020604051808303816000875af1158015620085f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200861e91906200a4a3565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200866b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200869591908101906200ac75565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620086dc6200702d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200871e57600080fd5b505af115801562008733573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620087b26200702d565b620087bc62003edb565b6040518563ffffffff1660e01b8152600401620087dd94939291906200ad4b565b6020604051808303816000875af1158015620087fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200882391906200a4a3565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008870573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200889a91908101906200ac75565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620088e162001d73565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200892357600080fd5b505af115801562008938573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620089b762001d73565b620089c162005c1c565b6040518563ffffffff1660e01b8152600401620089e294939291906200adbd565b6020604051808303816000875af115801562008a02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a2891906200a4a3565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008a9f91908101906200ac75565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ae862004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008b2a57600080fd5b505af115801562008b3f573d6000803e3d6000fd5b5050505060405162008b519062009d37565b604051809103906000f08015801562008b6e573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008b9d62004cec565b8362008ba8620078c6565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008c0e57600080fd5b505af115801562008c23573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008c8657600080fd5b505af11580156200250e573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008cf49160040190815260200190565b602060405180830381865afa15801562008d12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008d3891906200a483565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008dd957600080fd5b505af115801562008dee573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062009110905057600060405162008e1a9062009ca6565b604051809103906000f08015801562008e37573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008e599062009cb4565b604051809103906000f08015801562008e76573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008ed3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ef991906200a483565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008f7c93920416620096f0565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200900d57600080fd5b505af115801562009022573d6000803e3d6000fd5b506000925060019150620090339050565b6040519080825280602002602001820160405280156200905d578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200908457620090846200a4d2565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d90620090d890849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b158015620090f357600080fd5b505af115801562009108573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200916291906200ae0c565b60405180910390a162001404838362009752565b60295460ff1615620091965760276200919082826200ae9f565b505a6028555b50565b60295460ff16156200922a5760005a90506000606482602854620091be91906200ac5f565b620091ca91906200ac5f565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a860276040516020016200920191906200af6c565b60408051601f19818403018152908290526200921f9184906200b00f565b60405180910390a150505b565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620092ba9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620092f391906200b033565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200932c91906200b06c565b60405180910390a16200933e620098e4565b5050565b6000620074cc64174876e800836200a381565b6200933e82826040516024016200936e9291906200b00f565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052620099f7565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620093f091906200ae0c565b60405180910390a16200140483836200922c565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200943d91906200ae0c565b60405180910390a162001404838362009a18565b6000600160801b8310620094ac5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095025780600116600003620094df57620094d4828362009b18565b915060011c620094b5565b620094eb838362009b18565b9250620094fa6001826200ac5f565b9050620094b5565b505092915050565b600080826040516020016200952091906200ac41565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620095a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620095c891906200a483565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200960690859087906004016200b097565b600060405180830381600087803b1580156200962157600080fd5b505af115801562009636573d6000803e3d6000fd5b50505050915091565b6040516200964d9062009d45565b604051809103906000f0801580156200966a573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de86200969962007908565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620096db57600080fd5b505af115801562005c16573d6000803e3d6000fd5b6200933e8282604051602401620097099291906200b0bb565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620099f7565b801515821515146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097e49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009837576040518060400160405280600581526020016466616c736560d81b81525062009855565b604051806040016040528060048152602001637472756560e01b8152505b6040516200986491906200b0e8565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620098b7576040518060400160405280600581526020016466616c736560d81b815250620098d5565b604051806040016040528060048152602001637472756560e01b8152505b6040516200932c91906200b127565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620099e65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200998192916020016200ac0f565b60408051601f19818403018152908290526200999d916200ac41565b6000604051808303816000865af19150503d8060008114620099dc576040519150601f19603f3d011682016040523d82523d6000602084013e620099e1565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009aa69060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009adf91906200b033565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200932c91906200b06c565b6000600160801b83111562009b965760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620094a3565b600160801b821062009beb5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620094a3565b60806f8000000000000000000000000000000062009c0a84866200a5a0565b62009c1691906200a5ba565b901c9392505050565b610e67806200b15383390190565b612768806200bfba83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009c99604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e72283390190565b613594806200ef7483390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009d15604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201250883390190565b6135c1806201599983390190565b612eb68062018f5a83390190565b6001600160a01b03811681146200919657600080fd5b60006020828403121562009d7c57600080fd5b813562009d898162009d53565b9392505050565b600081518084526020808501945080840160005b8381101562009dcb5781516001600160a01b03168752958201959082019060010162009da4565b509495945050505050565b60208152600062009d89602083018462009d90565b60005b8381101562009e0857818101518382015260200162009dee565b50506000910152565b6000815180845262009e2b81602086016020860162009deb565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009ef557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009ede57605f1989850301835262009ecb84865162009e11565b948e01949350918d019160010162009eac565b505050978a01979450509188019160010162009e66565b50919a9950505050505050505050565b80151581146200919657600080fd5b60006020828403121562009f2757600080fd5b813562009d898162009f05565b82815260406020820152600062009f4f604083018462009e11565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009fff57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009fe95783516001600160e01b0319168252928b019260019290920191908b019062009fbd565b50978a0197955050509187019160010162009f7f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a04a576200a04a6200a00e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a07c576200a07c6200a00e565b604052919050565b600067ffffffffffffffff8211156200a0a1576200a0a16200a00e565b50601f01601f191660200190565b6000806000606084860312156200a0c557600080fd5b83356200a0d28162009d53565b925060208401359150604084013567ffffffffffffffff8111156200a0f657600080fd5b8401601f810186136200a10857600080fd5b80356200a11f6200a119826200a084565b6200a050565b8181528760208385010111156200a13557600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a1ae57603f198886030184526200a19b85835162009e11565b945092850192908501906001016200a17c565b5092979650505050505050565b600080600080600060a086880312156200a1d457600080fd5b85356200a1e18162009d53565b945060208601356200a1f38162009d53565b935060408601356200a2058162009d53565b925060608601356200a2178162009d53565b915060808601356200a2298162009d53565b809150509295509295909350565b6000806000606084860312156200a24d57600080fd5b83356200a25a8162009d53565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009f4f604085018262009e11565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a2dc6101008401826200a26f565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a30e57600080fd5b82356200a31b8162009d53565b915060208301356200a32d8162009d53565b809150509250929050565b600080600080608085870312156200a34f57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a39f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a3b757600080fd5b815162009d898162009f05565b600181811c908216806200a3d957607f821691505b6020821081036200a3fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a45d6101008501826200a26f565b90508160c08601511660e0850152809250505092915050565b805162006cbe8162009d53565b6000602082840312156200a49657600080fd5b815162009d898162009d53565b6000602082840312156200a4b657600080fd5b5051919050565b60208152600062009d89602083018462009e11565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a4fe8184018b62009d90565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a593578151805185528601518685015292840192908501906001016200a56c565b5091979650505050505050565b8082028115828204841417620074cc57620074cc6200a36b565b80820180821115620074cc57620074cc6200a36b565b80516004811062006cbe57600080fd5b6000806000806000806000806000806000806101808d8f0312156200a60457600080fd5b8c516200a6118162009d53565b60208e0151909c506200a6248162009d53565b60408e0151909b506200a6378162009d53565b809a505060608d0151985060808d0151975060a08d0151600381106200a65c57600080fd5b96506200a66c60c08e016200a5d0565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a6ce576200a6ce6200a6a5565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a6fe8285018d62009e11565b92506200a70f606085018c6200a6bb565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a75a6200a119846200a084565b90508281528383830111156200a76f57600080fd5b62009d8983602083018462009deb565b6000602082840312156200a79257600080fd5b815167ffffffffffffffff8111156200a7aa57600080fd5b8201601f810184136200a7bc57600080fd5b62009f4f848251602084016200a749565b6000806000606084860312156200a7e357600080fd5b835160ff811681146200a7f557600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8388285018d62009e11565b91506200a849606085018c6200a6bb565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a882818562009e11565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a8d8576200a8d86200a6a5565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a917606083018562009d90565b82810360408401526200a92b818562009e11565b9695505050505050565b84815260a0602082015260006200a97960a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a98d81876200a26f565b90506001600160a01b038516606084015282810360808401526200a9b2818562009d90565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a9e960e085018a62009e11565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aa20816200a3c4565b806040870152868216600081146200aa4157600181146200aa5c576200aa8c565b60ff1983168787015281151560051b8701860193506200aa8c565b846000528860002060005b838110156200aa84578154898201890152908901908a016200aa67565b880187019450505b50505087810360c08901526200aaa3818a62009d90565b9f9e505050505050505050505050505050565b600082601f8301126200aac857600080fd5b62009d89838351602085016200a749565b6000604082840312156200aaec57600080fd5b6040516040810167ffffffffffffffff82821081831117156200ab13576200ab136200a00e565b816040528293508451835260208501519150808211156200ab3357600080fd5b506200ab42858286016200aab6565b6020830152505092915050565b6000602082840312156200ab6257600080fd5b815167ffffffffffffffff808211156200ab7b57600080fd5b9083019060c082860312156200ab9057600080fd5b6200ab9a6200a024565b8251815260208301516200abae8162009d53565b602082015260408301516200abc38162009d53565b60408201526060830151828111156200abdb57600080fd5b6200abe9878286016200aad9565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200ac3381600485016020870162009deb565b919091016004019392505050565b600082516200ac5581846020870162009deb565b9190910192915050565b81810381811115620074cc57620074cc6200a36b565b6000602082840312156200ac8857600080fd5b815167ffffffffffffffff808211156200aca157600080fd5b9083019060c082860312156200acb657600080fd5b6200acc06200a024565b82518152602083015160208201526040830151828111156200ace157600080fd5b6200acef878286016200aab6565b6040830152506060830151828111156200ad0857600080fd5b6200ad16878286016200aad9565b6060830152506200ad2a608084016200a476565b60808201526200ad3d60a084016200a476565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b6001600160a01b038516606084015282810360808401526200a9b2818562009d90565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009d89608083018462009e11565b601f8211156200140457600081815260208120601f850160051c810160208610156200ae7e5750805b601f850160051c820191505b8181101562003a94578281556001016200ae8a565b815167ffffffffffffffff8111156200aebc576200aebc6200a00e565b6200aed4816200aecd84546200a3c4565b846200ae55565b602080601f8311600181146200af0c57600084156200aef35750858301515b600019600386901b1c1916600185901b17855562003a94565b600085815260208120601f198616915b828110156200af3d578886015182559484019460019091019084016200af1c565b50858210156200af5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200af7c816200a3c4565b600182811680156200af9757600181146200afad576200afde565b60ff19841687528215158302870194506200afde565b8760005260208060002060005b858110156200afd55781548a8201529084019082016200afba565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b024604083018562009e11565b90508260208301529392505050565b6040815260006200b05e60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b05e60408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009f4f604083018462009e11565b6040815260006200b0d0604083018562009e11565b90506001600160a01b03831660208301529392505050565b6040815260006200b11360408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009f4f818562009e11565b6040815260006200b11360408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a26469706673582212202f9981fbe01658b90d42cb3e80a199c38b8b01fa322d955e9577f525be5c7d6764736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;1525:29423:97;534:52:96;;;1572:26:44;1525:29423:97;534:52:96;;;;;;-1:-1:-1;;;534:52:96;;;;;;507:79;;;;1525:29423:97;;507:79:96;;;;;;;:::i;:::-;-1:-1:-1;;194:1:99;158:37;;;;226:34;;;-1:-1:-1;;226:34:99;;;339::100;;-1:-1:-1;1700:5:97;1672:33;;1525:29423;;;;;;;;;;;;14:127:101;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;:::-;1525:29423:97;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae6200170b565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009d69565b62001a28565b6200064762001d73565b6200064762001db5565b6200072362001df7565b6040516200065b919062009dd6565b6200073c62001e5b565b6040516200065b919062009e3f565b620006ae6200075c36600462009f14565b6029805460ff1916911515919091179055565b620006ae62001fa9565b6023546001600160a01b031662000647565b6200079562002220565b6040516200065b92919062009f34565b620006ae620022bf565b60205462000695565b6200072362002515565b6200072362002577565b62000723620025d9565b620006ae620025fc565b620006476200349e565b62000695602e5481565b62000647620034e0565b620006ae62003522565b6200064762003a9c565b6200081c62003ade565b6040516200065b919062009f57565b6200064762003bc8565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a0af565b62003c0a565b6200072362003edb565b620006ae62003f7d565b6200064762004bf9565b62000695602c5481565b6200072362004c3b565b601d546001600160a01b031662000647565b6200064762004caa565b6200064762004cec565b620008c762004d2e565b6040516200065b91906200a155565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004e08565b62000647620052a1565b62000647620052e3565b6200069561afc881565b620006ae62005325565b620006956200093736600462009d69565b6200585a565b6200081c62005937565b620006ae62005a21565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005c1c565b620006ae62005c8b565b6200064762006129565b620006956200099c3660046200a1bb565b6200616b565b620009b9620009b33660046200a237565b6200636b565b6040516200065b9291906200a290565b620008c762006ab2565b620009dd62006b8c565b60405190151581526020016200065b565b620006ae62006cc3565b62000695613a9881565b6021546001600160a01b031662000647565b6200064762006feb565b620006476200702d565b620006ae6200706f565b6200069562000a433660046200a2fa565b620073fe565b62000647620074d2565b601c546001600160a01b031662000647565b620006ae62007514565b62000647620078c6565b6200064762007908565b620006ae6200794a565b6200072362007dc3565b6200069562000aa83660046200a338565b62007e25565b620006ae62007ed3565b6200064762008469565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620084a6565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620084a6565b62000bc2620084ba565b62000bdf62000bd9601d546001600160a01b031690565b62008ac4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009c1f565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec7620052a1565b62000ed6600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a3a4565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009c2d565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009c3b565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a3c4565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008c9b565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a400565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a483565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a3a4565b505050565b6000806200141b60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a4bd565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620015899050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015cb57600080fd5b505af1158015620015e0573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200162057600080fd5b505af115801562001635573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ed57600080fd5b505af115801562001702573d6000803e3d6000fd5b50505050505050565b6000806200171d60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200178692016200a4bd565b600060405180830381600087803b158015620017a157600080fd5b505af1158015620017b6573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620017f657600080fd5b505af11580156200180b573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018369050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200187857600080fd5b505af11580156200188d573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018cd57600080fd5b505af1158015620018e2573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200194557600080fd5b505af11580156200195a573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200197f620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620019c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019ea91906200a3a4565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062009125565b602a546000906001600160a01b031662001d6257600060405162001a4c9062009ca6565b604051809103906000f08015801562001a69573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001a8b9062009cb4565b604051809103906000f08015801562001aa8573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001b05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b2b91906200a483565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001bce57600080fd5b505af115801562001be3573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001c7357600080fd5b505af115801562001c88573d6000803e3d6000fd5b50600092506001915062001c999050565b60405190808252806020026020018201604052801562001cc3578160200160208202803683370190505b509050848160008151811062001cdd5762001cdd6200a4d2565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001d2a90849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b15801562001d4557600080fd5b505af115801562001d5a573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620084a6565b6060601480548060200260200160405190810160405280929190818152602001828054801562001e5157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e32575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001f8857838290600052602060002001805462001ef4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001f22906200a3c4565b801562001f735780601f1062001f475761010080835404028352916020019162001f73565b820191906000526020600020905b81548152906001019060200180831162001f5557829003601f168201915b50505050508152602001906001019062001ed2565b50505050815250508152602001906001019062001e7f565b50505050905090565b600062001fcd73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915050620020056040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200201d5790505090506040518060400160405280600181526020016050815250816000815181106200207457620020746200a4d2565b6020026020010181905250604051806040016040528060018152602001601481525081600181518110620020ac57620020ac6200a4d2565b6020026020010181905250600081604051602001620020cc91906200a54f565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200216c91906004016200a4bd565b600060405180830381600087803b1580156200218757600080fd5b505af11580156200219c573d6000803e3d6000fd5b50505050620021b3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620021e292919062009f34565b600060405180830381600087803b158015620021fd57600080fd5b505af115801562002212573d6000803e3d6000fd5b505050506200140462009199565b602480546025805491929162002236906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462002264906200a3c4565b8015620022b55780601f106200228957610100808354040283529160200191620022b5565b820191906000526020600020905b8154815290600101906020018083116200229757829003601f168201915b5050505050905082565b600080620022e473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915091506200231d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023355790505090506040518060400160405280600181526020016064815250816000815181106200238c576200238c6200a4d2565b602002602001018190525080600181518110620023ad57620023ad6200a4d2565b5050604051600090620023c59083906020016200a54f565b6040516020818303038152906040529050620023e9601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200241892919062009f34565b600060405180830381600087803b1580156200243357600080fd5b505af115801562002448573d6000803e3d6000fd5b505050506200245662009199565b6020840151604051631c1ba58760e31b815260016004820152306024820152620024db906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620024ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024d391906200a4a3565b60326200922c565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d906024016200248f565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200261f60006802b5e3af16b1880000683635c9adc5dea000006200636b565b602082015191935091506001600160a01b0381166369fa25c46200264b670dd46c083165900062009342565b6040518263ffffffff1660e01b81526004016200266a91815260200190565b600060405180830381600087803b1580156200268557600080fd5b505af11580156200269a573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620026c067016345785d8a000062009342565b6040518263ffffffff1660e01b8152600401620026df91815260200190565b600060405180830381600087803b158015620026fa57600080fd5b505af11580156200270f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027346601c6bf5263400062009342565b6040518263ffffffff1660e01b81526004016200275391815260200190565b600060405180830381600087803b1580156200276e57600080fd5b505af115801562002783573d6000803e3d6000fd5b50505050620027bc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620027d757905050905060405180604001604052806001815260200183815250816000815181106200282d576200282d6200a4d2565b60200260200101819052506000816040516020016200284d91906200a54f565b604051602081830303815290604052905062002871601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620028a092919062009f34565b600060405180830381600087803b158015620028bb57600080fd5b505af1158015620028d0573d6000803e3d6000fd5b50505050620028de62009199565b60006064620028ef6032866200a5a0565b620028fb91906200a381565b604051631c1ba58760e31b8152600160048201523060248201529091506200297d906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200297691906200a4a3565b826200922c565b60405163dc96ff2d60e01b815260016004820152620029b0906001600160a01b0387169063dc96ff2d9060240162002932565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620029d4620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002a1657600080fd5b505af115801562002a2b573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a6b57600080fd5b505af115801562002a80573d6000803e3d6000fd5b50600092506001915062002a919050565b60405190808252806020026020018201604052801562002ad857816020015b604080518082019091526000808252602082015281526020019060019003908162002ab05790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002b0d5762002b0d6200a4d2565b60200260200101819052508160405160200162002b2b91906200a54f565b604051602081830303815290604052935062002b4f601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002b7e92919062009f34565b600060405180830381600087803b15801562002b9957600080fd5b505af115801562002bae573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c1157600080fd5b505af115801562002c26573d6000803e3d6000fd5b505050506000606460328362002c3d91906200a5a0565b62002c4991906200a381565b905062002c9d886001600160a01b031663e0dd2c38600162002c6a620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002932565b60405163dc96ff2d60e01b81526001600482015262002d20906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002ce8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d0e91906200a4a3565b62002d1a83876200a5ba565b6200922c565b62002d616040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002da2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dc891906200a4a3565b905062002e0b6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e74730000000000008152508262009355565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ea491906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002e78573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9e91906200a4a3565b62009355565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002f5e91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002f19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f3f91906200a4a3565b6040518263ffffffff1660e01b815260040162002e5a91815260200190565b60405163950559d760e01b81526004810182905262002ffd906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002fcf91906200a4a3565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620093b7565b60405163dc96ff2d60e01b81526001600482015262003106906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200307691906200a4a3565b6040518263ffffffff1660e01b81526004016200309591815260200190565b602060405180830381865afa158015620030b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030d991906200a4a3565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620093b7565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200315457600080fd5b505af115801562003169573d6000803e3d6000fd5b50505050620031ae6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620031f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200321c91906200a4a3565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200325591815260200190565b61018060405180830381865afa15801562003274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200329a91906200a5e0565b9b509b50509a5050505097509750505050620032e36040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62003318604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620033496040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b6200338060405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b620033c16040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b620034058261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620093b7565b62003449836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620093b7565b6200348c8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620093b7565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620084a6565b6000806200354773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602f5460405161afc86024820152929450909250620035b4916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003c0a565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620035cb5790505090506040518060400160405280600181526020016064815250816000815181106200362257620036226200a4d2565b60200260200101819052506000816040516020016200364291906200a54f565b604051602081830303815290604052905062003666601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200369592919062009f34565b600060405180830381600087803b158015620036b057600080fd5b505af1158015620036c5573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003752906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003725573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200374b91906200a4a3565b836200922c565b60405163dc96ff2d60e01b81526001600482015262003785906001600160a01b0383169063dc96ff2d9060240162003707565b60405180604001604052806001815260200160631981525084600081518110620037b357620037b36200a4d2565b602002602001018190525083604051602001620037d191906200a54f565b6040516020818303038152906040529250620037f5601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200382492919062009f34565b600060405180830381600087803b1580156200383f57600080fd5b505af115801562003854573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200390d92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620038a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620038cf91906200a4a3565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b815260016004820152620039bc906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003958573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200397e91906200a4a3565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620093b7565b62003a63816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620039ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2591906200a4a3565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620093b7565b602f546040516032602482015262003a94916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620084a6565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003baf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003b705790505b5050505050815250508152602001906001019062003b02565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620084a6565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003c90573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb691906200a4a3565b6040518b63ffffffff1660e01b815260040162003cdd9a999897969594939291906200a6d2565b600060405180830381865afa15801562003cfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003d2591908101906200a77f565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dd291906200a7cd565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003e89908c908c908c90600090819081908190819081908d906065016200a80c565b6020604051808303816000875af115801562003ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ecf91906200a3a4565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003f0a62001db5565b8160008151811062003f205762003f206200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62004caa565b8160018151811062003f605762003f606200a4d2565b6001600160a01b0390921660209283029190910190910152919050565b60008062003fa273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062003fdb6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003ff657905050905060405180604001604052806001815260200183815250816000815181106200404c576200404c6200a4d2565b60200260200101819052506000816040516020016200406c91906200a54f565b604051602081830303815290604052905062004090601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620040bf92919062009f34565b600060405180830381600087803b158015620040da57600080fd5b505af1158015620040ef573d6000803e3d6000fd5b50505050620040fd62009199565b600060646200410e6032866200a5a0565b6200411a91906200a381565b6020870151604051631c1ba58760e31b81526001600482015230602482015291925090620041d7906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200419a91906200a4a3565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200420a906001600160a01b0383169063dc96ff2d9060240162003707565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200422e620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200427057600080fd5b505af115801562004285573d6000803e3d6000fd5b5050505060006002905060006040518060c00160405280838152602001898152602001620042b2620052a1565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620042f8918491016200a893565b60405160208183030381529060405290506200431c601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200434b92919062009f34565b6020604051808303816000875af11580156200436b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200439191906200a483565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620043e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200440f91906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200445b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200448191906200a3a4565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620044be57600080fd5b505af1158015620044d3573d6000803e3d6000fd5b506000925060019150620044e49050565b6040519080825280602002602001820160405280156200452b57816020015b6040805180820190915260008082526020820152815260200190600190039081620045035790505b509050600060649050604051806040016040528086815260200182815250826000815181106200455f576200455f6200a4d2565b6020026020010181905250816040516020016200457d91906200a54f565b6040516020818303038152906040529750620045a1601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620045d092919062009f34565b600060405180830381600087803b158015620045eb57600080fd5b505af115801562004600573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200466357600080fd5b505af115801562004678573d6000803e3d6000fd5b50505050600060646032836200468f91906200a5a0565b6200469b91906200a381565b905062004769876001600160a01b031663e0dd2c3888620046bb620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004706573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472c91906200a4a3565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b81526004810187905262004817906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620047b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047da91906200a4a3565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620093b7565b620048586040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b620048ce6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002f19573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200492a91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002efb565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200497857600080fd5b505af11580156200498d573d6000803e3d6000fd5b50505050620049d26040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004a1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a4091906200a4a3565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004a7991815260200190565b61018060405180830381865afa15801562004a98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004abe91906200a5e0565b9b509b50509a505050509750975050505062004b076040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62004b3c604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b62004b6d6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b62004ba460405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b62004be56040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620084a6565b6040805160028082526060808301845292600092919060208301908036833701905050905062004c6a62000aed565b8160008151811062004c805762004c806200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62003bc8565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620084a6565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462004d74906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462004da2906200a3c4565b801562004df35780601f1062004dc75761010080835404028352916020019162004df3565b820191906000526020600020905b81548152906001019060200180831162004dd557829003601f168201915b50505050508152602001906001019062004d52565b60008062004e2d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062004e666040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004e81579050509050604051806040016040528060018152602001838152508160008151811062004ed75762004ed76200a4d2565b602002602001018190525062004ef5601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004f1791906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004f4592919062009f34565b600060405180830381600087803b15801562004f6057600080fd5b505af115801562004f75573d6000803e3d6000fd5b5050505062004f8362009199565b6000606462004f946032856200a5a0565b62004fa091906200a381565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004fe2906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b81526001600482015262005015906001600160a01b0383169063dc96ff2d9060240162003707565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200504e91815260200190565b61018060405180830381865afa1580156200506d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200509391906200a5e0565b509a50509950995050509750975050965050620050dd6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62005112604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620051436040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620051846040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b620051bb60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620051f2908a620073fe565b9050620052018160006200922c565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b81526004016200523e939291906200a8fc565b600060405180830381600087803b1580156200525957600080fd5b505af11580156200526e573d6000803e3d6000fd5b50505050620052828f604001518a620073fe565b90506200529081896200922c565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620084a6565b6000806200534a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005376670c7d713b49da000062009342565b6040518263ffffffff1660e01b81526004016200539591815260200190565b600060405180830381600087803b158015620053b057600080fd5b505af1158015620053c5573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620053eb6702c68af0bb14000062009342565b6040518263ffffffff1660e01b81526004016200540a91815260200190565b600060405180830381600087803b1580156200542557600080fd5b505af11580156200543a573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200545f66071afd498d000062009342565b6040518263ffffffff1660e01b81526004016200547e91815260200190565b600060405180830381600087803b1580156200549957600080fd5b505af1158015620054ae573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620054e992506001600160a01b03909116906000906318fb0de560e11b906044016200357c565b6200551e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055355790505090506040518060400160405280600181526020016064815250816000815181106200558c576200558c6200a4d2565b6020026020010181905250600081604051602001620055ac91906200a54f565b6040516020818303038152906040529050620055d0601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620055ff92919062009f34565b600060405180830381600087803b1580156200561a57600080fd5b505af11580156200562f573d6000803e3d6000fd5b505050506200563d62009199565b604051631c1ba58760e31b815260016004820152306024820152620056bc906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa1580156200568f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620056b591906200a4a3565b846200922c565b60405163dc96ff2d60e01b815260016004820152620056ef906001600160a01b0386169063dc96ff2d9060240162005671565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa15801562005749573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576f91906200a4a3565b9050620057a26040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b6000620057b7600a6000856289544062007e25565b9050620057e76040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b620057f382826200922c565b6200580183613a986200922c565b6200580f8661afc86200922c565b6200581e8262017da26200922c565b602f54604051603260248201526200584f916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050505050565b6026546000906200592f57816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620058ba620052a1565b620058c462004c3b565b6040518563ffffffff1660e01b8152600401620058e594939291906200a935565b6020604051808303816000875af115801562005905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200592b91906200a4a3565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005a0857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620059c95790505b505050505081525050815260200190600101906200595b565b600062005a4573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505060006040518060c001604052806001815260200183815260200162005a6c620052a1565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005ac191906200a893565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005b5a91906004016200a4bd565b600060405180830381600087803b15801562005b7557600080fd5b505af115801562005b8a573d6000803e3d6000fd5b5050505062005ba1601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005bd092919062009f34565b6020604051808303816000875af115801562005bf0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c1691906200a483565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005c4b6200349e565b8160008151811062005c615762005c616200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a620052e3565b60008062005cb073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005cdc670c7d713b49da000062009342565b6040518263ffffffff1660e01b815260040162005cfb91815260200190565b600060405180830381600087803b15801562005d1657600080fd5b505af115801562005d2b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005d516702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162005d7091815260200190565b600060405180830381600087803b15801562005d8b57600080fd5b505af115801562005da0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005dc566071afd498d000062009342565b6040518263ffffffff1660e01b815260040162005de491815260200190565b600060405180830381600087803b15801562005dff57600080fd5b505af115801562005e14573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005e4c93506001600160a01b0390911691506000906318fb0de560e11b906044016200357c565b62005e816040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005e9857905050905060405180604001604052806001815260200160648152508160008151811062005eef5762005eef6200a4d2565b602002602001018190525060008160405160200162005f0f91906200a54f565b604051602081830303815290604052905062005f33601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005f6292919062009f34565b600060405180830381600087803b15801562005f7d57600080fd5b505af115801562005f92573d6000803e3d6000fd5b5050505062005fa062009199565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005fdd906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262006010906001600160a01b0386169063dc96ff2d9060240162002932565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200609991906200a4a3565b9050620060dc6040518060400160405280600c81526020017f7468726573686f6c6420257300000000000000000000000000000000000000008152508262009355565b620060ea8261afc86200922c565b620060f88161c5c16200922c565b602f546040516032602482015262001702916001600160a01b0316906000906318fb0de560e11b906044016200357c565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620084a6565b6040805160808101825260008082526020820181905291810182905260608101829052620061a1670de0a46bc207d80062009342565b6020820152620061b96702c68af0bb14000062009342565b6040820152620061d066038d7ea4c6800062009342565b6060828101919091526001600160a01b03861682526040805160028082529281018252600092909160208301908036833701905050905030816000815181106200621e576200621e6200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200625557620062556200a4d2565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908516156200628c5750835b886001600160a01b031663e1007d4a620062a6886200585a565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200631897969594939291906200a9bd565b6020604051808303816000875af115801562006338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200635e91906200a4a3565b9998505050505050505050565b6200637562009cc2565b60008360000362006386576103e893505b826000036200639557613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620063c75750602d546001600160a01b03165b620063f86040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200641c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200645e57600080fd5b505af115801562006473573d6000803e3d6000fd5b5050505060006200648c601c546001600160a01b031690565b6040516200649a9062009d29565b6001600160a01b039091168152602001604051809103906000f080158015620064c7573d6000803e3d6000fd5b50905062006508620064e1601c546001600160a01b031690565b82620064f5602f546001600160a01b031690565b601d546001600160a01b0316866200616b565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200656957600080fd5b505af11580156200657e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620065be57600080fd5b505af1158015620065d3573d6000803e3d6000fd5b50505050620065ea601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200661891815260200190565b600060405180830381865afa15801562006636573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200666091908101906200ab4f565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620066d057600080fd5b505af1158015620066e5573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200679057601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200677057600080fd5b505af115801562006785573d6000803e3d6000fd5b505050505062006914565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620067f257600080fd5b505af115801562006807573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b36200682d601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af11580156200687b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620068a191906200a3a4565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620068fa57600080fd5b505af11580156200690f573d6000803e3d6000fd5b505050505b83516200696e906200693262000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c6549440000000000000000000000000000000000000081525062009404565b6200699f6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b60006040518060c0016040528060018152602001858152602001620069c3620052a1565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006a0291906200a893565b604051602081830303815290604052905062006a26601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006a5592919062009f34565b6020604051808303816000875af115801562006a75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006a9b91906200a483565b5062006aa662009199565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462006af8906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462006b26906200a3c4565b801562006b775780601f1062006b4b5761010080835404028352916020019162006b77565b820191906000526020600020905b81548152906001019060200180831162006b5957829003601f168201915b50505050508152602001906001019062006ad6565b600754600090610100900460ff161562006baf5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006cbe5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006c40917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200ac0f565b60408051601f198184030181529082905262006c5c916200ac41565b6000604051808303816000865af19150503d806000811462006c9b576040519150601f19603f3d011682016040523d82523d6000602084013e62006ca0565b606091505b509150508080602001905181019062006cba91906200a3a4565b9150505b919050565b600062006ce773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505062006d1f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006d3757905050905060405180604001604052806001815260200160508152508160008151811062006d8e5762006d8e6200a4d2565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006dc65762006dc66200a4d2565b602002602001018190525060008160405160200162006de691906200a54f565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006e1c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006e5e57600080fd5b505af115801562006e73573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006efd57600080fd5b505af115801562006f12573d6000803e3d6000fd5b5050505062006f29601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006f5892919062009f34565b600060405180830381600087803b15801562006f7357600080fd5b505af115801562006f88573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620021fd57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200709473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620070cd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620070e45790505090506040518060400160405280600181526020016050815250816000815181106200713b576200713b6200a4d2565b60200260200101819052506000816040516020016200715b91906200a54f565b60405160208183030381529060405290506200717f601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620071ae92919062009f34565b600060405180830381600087803b158015620071c957600080fd5b505af1158015620071de573d6000803e3d6000fd5b50505050620071ec62009199565b60006064620071fe603260506200a5a0565b6200720a91906200a381565b6020860151604051631c1ba58760e31b815260016004820152306024820152919250906200724c906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b8152600160048201526200727f906001600160a01b0383169063dc96ff2d9060240162003707565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007296579050509050604051806040016040528060018152602001601481525081600081518110620072ed57620072ed6200a4d2565b6020026020010181905250806040516020016200730b91906200a54f565b60405160208183030381529060405293506200732f601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200735e92919062009f34565b600060405180830381600087803b1580156200737957600080fd5b505af11580156200738e573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620073cb92506001600160a01b038516915063e0dd2c38906044016200248f565b60405163dc96ff2d60e01b81526001600482015262001702906001600160a01b0384169063dc96ff2d906024016200248f565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200744357506001600160a01b03811631620074cc565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620074a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074c991906200a4a3565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620084a6565b6000806200753973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620075726040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200758957905050905060405180604001604052806001815260200160631981525081600081518110620075e157620075e16200a4d2565b60200260200101819052506000816040516020016200760191906200a54f565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620076a991906004016200a4bd565b600060405180830381600087803b158015620076c457600080fd5b505af1158015620076d9573d6000803e3d6000fd5b50505050620076f0601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200771f92919062009f34565b600060405180830381600087803b1580156200773a57600080fd5b505af11580156200774f573d6000803e3d6000fd5b505050506200775d62009199565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007817906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620077b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620077d991906200a4a3565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562007862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200788891906200a4a3565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620093b7565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200796f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c46200799b670c7d713b49da000062009342565b6040518263ffffffff1660e01b8152600401620079ba91815260200190565b600060405180830381600087803b158015620079d557600080fd5b505af1158015620079ea573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007a106702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162007a2f91815260200190565b600060405180830381600087803b15801562007a4a57600080fd5b505af115801562007a5f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007a8466071afd498d000062009342565b6040518263ffffffff1660e01b815260040162007aa391815260200190565b600060405180830381600087803b15801562007abe57600080fd5b505af115801562007ad3573d6000803e3d6000fd5b5050505062007b0c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007b2357905050905060405180604001604052806001815260200160508152508160008151811062007b7a5762007b7a6200a4d2565b602002602001018190525060008160405160200162007b9a91906200a54f565b604051602081830303815290604052905062007bbe601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007bed92919062009f34565b600060405180830381600087803b15801562007c0857600080fd5b505af115801562007c1d573d6000803e3d6000fd5b5050505062007c2b62009199565b6000606462007c3d603260506200a5a0565b62007c4991906200a381565b604051631c1ba58760e31b81526001600482015230602482015290915062007c85906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262007cb8906001600160a01b0386169063dc96ff2d9060240162002932565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007d0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d3591906200a4a3565b905062007d686040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b600062007d7d600a6000856289544062007e25565b905062007dad6040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b62007db982826200922c565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6000848162007e4762007e4062989680608087901b6200a381565b8362009451565b905060806f8000000000000000000000000000000062007e6b86629896806200ac5f565b62007e7b84600160801b6200ac5f565b62007e8a629896808a6200a5a0565b62007e9691906200a5a0565b62007ea291906200a381565b62007eae89856200a5a0565b62007eba91906200a5ba565b62007ec691906200a5ba565b901c979650505050505050565b60008062007ee560008060006200636b565b9150915062007f1a6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007f60918491016200a893565b604051602081830303815290604052905062007f84601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007fb392919062009f34565b6020604051808303816000875af115801562007fd3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007ff991906200a483565b506200800462009199565b620080396040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252606491600291600091816020015b60408051808201909152600080825260208201528152602001906001900390816200805657905050905060405180604001604052808381526020018481525081600081518110620080ab57620080ab6200a4d2565b6020026020010181905250620080c9601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620080eb91906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200811992919062009f34565b600060405180830381600087803b1580156200813457600080fd5b505af115801562008149573d6000803e3d6000fd5b505050506200815762009199565b60006064620081686032866200a5a0565b6200817491906200a381565b6020890151604051631c1ba58760e31b81526004810186905230602482015291925090620081b6906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b815260048101859052620081e9906001600160a01b0383169063dc96ff2d9060240162003707565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200822191815260200190565b61018060405180830381865afa15801562008240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200826691906200a5e0565b509a505099509950505097509750505050620082af6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b620082e4604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620083156040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620083566040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b6200838d60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b600089604051602001620083a391815260200190565b6040516020818303038152906040529050620083c7601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f600060405190808252806020026020018201604052801562008402578160200160208202803683370190505b50846040518463ffffffff1660e01b815260040162008424939291906200a8fc565b600060405180830381600087803b1580156200843f57600080fd5b505af115801562008454573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620084b3826200950a565b5092915050565b620084c46200963f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620084e8620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200852a57600080fd5b505af11580156200853f573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620085ad620052a1565b620085b762004c3b565b6040518563ffffffff1660e01b8152600401620085d894939291906200a935565b6020604051808303816000875af1158015620085f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200861e91906200a4a3565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200866b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200869591908101906200ac75565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620086dc6200702d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200871e57600080fd5b505af115801562008733573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620087b26200702d565b620087bc62003edb565b6040518563ffffffff1660e01b8152600401620087dd94939291906200ad4b565b6020604051808303816000875af1158015620087fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200882391906200a4a3565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008870573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200889a91908101906200ac75565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620088e162001d73565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200892357600080fd5b505af115801562008938573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620089b762001d73565b620089c162005c1c565b6040518563ffffffff1660e01b8152600401620089e294939291906200adbd565b6020604051808303816000875af115801562008a02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a2891906200a4a3565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008a9f91908101906200ac75565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ae862004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008b2a57600080fd5b505af115801562008b3f573d6000803e3d6000fd5b5050505060405162008b519062009d37565b604051809103906000f08015801562008b6e573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008b9d62004cec565b8362008ba8620078c6565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008c0e57600080fd5b505af115801562008c23573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008c8657600080fd5b505af11580156200250e573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008cf49160040190815260200190565b602060405180830381865afa15801562008d12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008d3891906200a483565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008dd957600080fd5b505af115801562008dee573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062009110905057600060405162008e1a9062009ca6565b604051809103906000f08015801562008e37573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008e599062009cb4565b604051809103906000f08015801562008e76573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008ed3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ef991906200a483565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008f7c93920416620096f0565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200900d57600080fd5b505af115801562009022573d6000803e3d6000fd5b506000925060019150620090339050565b6040519080825280602002602001820160405280156200905d578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200908457620090846200a4d2565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d90620090d890849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b158015620090f357600080fd5b505af115801562009108573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200916291906200ae0c565b60405180910390a162001404838362009752565b60295460ff1615620091965760276200919082826200ae9f565b505a6028555b50565b60295460ff16156200922a5760005a90506000606482602854620091be91906200ac5f565b620091ca91906200ac5f565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a860276040516020016200920191906200af6c565b60408051601f19818403018152908290526200921f9184906200b00f565b60405180910390a150505b565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620092ba9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620092f391906200b033565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200932c91906200b06c565b60405180910390a16200933e620098e4565b5050565b6000620074cc64174876e800836200a381565b6200933e82826040516024016200936e9291906200b00f565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052620099f7565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620093f091906200ae0c565b60405180910390a16200140483836200922c565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200943d91906200ae0c565b60405180910390a162001404838362009a18565b6000600160801b8310620094ac5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095025780600116600003620094df57620094d4828362009b18565b915060011c620094b5565b620094eb838362009b18565b9250620094fa6001826200ac5f565b9050620094b5565b505092915050565b600080826040516020016200952091906200ac41565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620095a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620095c891906200a483565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200960690859087906004016200b097565b600060405180830381600087803b1580156200962157600080fd5b505af115801562009636573d6000803e3d6000fd5b50505050915091565b6040516200964d9062009d45565b604051809103906000f0801580156200966a573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de86200969962007908565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620096db57600080fd5b505af115801562005c16573d6000803e3d6000fd5b6200933e8282604051602401620097099291906200b0bb565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620099f7565b801515821515146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097e49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009837576040518060400160405280600581526020016466616c736560d81b81525062009855565b604051806040016040528060048152602001637472756560e01b8152505b6040516200986491906200b0e8565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620098b7576040518060400160405280600581526020016466616c736560d81b815250620098d5565b604051806040016040528060048152602001637472756560e01b8152505b6040516200932c91906200b127565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620099e65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200998192916020016200ac0f565b60408051601f19818403018152908290526200999d916200ac41565b6000604051808303816000865af19150503d8060008114620099dc576040519150601f19603f3d011682016040523d82523d6000602084013e620099e1565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009aa69060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009adf91906200b033565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200932c91906200b06c565b6000600160801b83111562009b965760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620094a3565b600160801b821062009beb5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620094a3565b60806f8000000000000000000000000000000062009c0a84866200a5a0565b62009c1691906200a5ba565b901c9392505050565b610e67806200b15383390190565b612768806200bfba83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009c99604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e72283390190565b613594806200ef7483390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009d15604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201250883390190565b6135c1806201599983390190565b612eb68062018f5a83390190565b6001600160a01b03811681146200919657600080fd5b60006020828403121562009d7c57600080fd5b813562009d898162009d53565b9392505050565b600081518084526020808501945080840160005b8381101562009dcb5781516001600160a01b03168752958201959082019060010162009da4565b509495945050505050565b60208152600062009d89602083018462009d90565b60005b8381101562009e0857818101518382015260200162009dee565b50506000910152565b6000815180845262009e2b81602086016020860162009deb565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009ef557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009ede57605f1989850301835262009ecb84865162009e11565b948e01949350918d019160010162009eac565b505050978a01979450509188019160010162009e66565b50919a9950505050505050505050565b80151581146200919657600080fd5b60006020828403121562009f2757600080fd5b813562009d898162009f05565b82815260406020820152600062009f4f604083018462009e11565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009fff57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009fe95783516001600160e01b0319168252928b019260019290920191908b019062009fbd565b50978a0197955050509187019160010162009f7f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a04a576200a04a6200a00e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a07c576200a07c6200a00e565b604052919050565b600067ffffffffffffffff8211156200a0a1576200a0a16200a00e565b50601f01601f191660200190565b6000806000606084860312156200a0c557600080fd5b83356200a0d28162009d53565b925060208401359150604084013567ffffffffffffffff8111156200a0f657600080fd5b8401601f810186136200a10857600080fd5b80356200a11f6200a119826200a084565b6200a050565b8181528760208385010111156200a13557600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a1ae57603f198886030184526200a19b85835162009e11565b945092850192908501906001016200a17c565b5092979650505050505050565b600080600080600060a086880312156200a1d457600080fd5b85356200a1e18162009d53565b945060208601356200a1f38162009d53565b935060408601356200a2058162009d53565b925060608601356200a2178162009d53565b915060808601356200a2298162009d53565b809150509295509295909350565b6000806000606084860312156200a24d57600080fd5b83356200a25a8162009d53565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009f4f604085018262009e11565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a2dc6101008401826200a26f565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a30e57600080fd5b82356200a31b8162009d53565b915060208301356200a32d8162009d53565b809150509250929050565b600080600080608085870312156200a34f57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a39f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a3b757600080fd5b815162009d898162009f05565b600181811c908216806200a3d957607f821691505b6020821081036200a3fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a45d6101008501826200a26f565b90508160c08601511660e0850152809250505092915050565b805162006cbe8162009d53565b6000602082840312156200a49657600080fd5b815162009d898162009d53565b6000602082840312156200a4b657600080fd5b5051919050565b60208152600062009d89602083018462009e11565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a4fe8184018b62009d90565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a593578151805185528601518685015292840192908501906001016200a56c565b5091979650505050505050565b8082028115828204841417620074cc57620074cc6200a36b565b80820180821115620074cc57620074cc6200a36b565b80516004811062006cbe57600080fd5b6000806000806000806000806000806000806101808d8f0312156200a60457600080fd5b8c516200a6118162009d53565b60208e0151909c506200a6248162009d53565b60408e0151909b506200a6378162009d53565b809a505060608d0151985060808d0151975060a08d0151600381106200a65c57600080fd5b96506200a66c60c08e016200a5d0565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a6ce576200a6ce6200a6a5565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a6fe8285018d62009e11565b92506200a70f606085018c6200a6bb565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a75a6200a119846200a084565b90508281528383830111156200a76f57600080fd5b62009d8983602083018462009deb565b6000602082840312156200a79257600080fd5b815167ffffffffffffffff8111156200a7aa57600080fd5b8201601f810184136200a7bc57600080fd5b62009f4f848251602084016200a749565b6000806000606084860312156200a7e357600080fd5b835160ff811681146200a7f557600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8388285018d62009e11565b91506200a849606085018c6200a6bb565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a882818562009e11565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a8d8576200a8d86200a6a5565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a917606083018562009d90565b82810360408401526200a92b818562009e11565b9695505050505050565b84815260a0602082015260006200a97960a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a98d81876200a26f565b90506001600160a01b038516606084015282810360808401526200a9b2818562009d90565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a9e960e085018a62009e11565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aa20816200a3c4565b806040870152868216600081146200aa4157600181146200aa5c576200aa8c565b60ff1983168787015281151560051b8701860193506200aa8c565b846000528860002060005b838110156200aa84578154898201890152908901908a016200aa67565b880187019450505b50505087810360c08901526200aaa3818a62009d90565b9f9e505050505050505050505050505050565b600082601f8301126200aac857600080fd5b62009d89838351602085016200a749565b6000604082840312156200aaec57600080fd5b6040516040810167ffffffffffffffff82821081831117156200ab13576200ab136200a00e565b816040528293508451835260208501519150808211156200ab3357600080fd5b506200ab42858286016200aab6565b6020830152505092915050565b6000602082840312156200ab6257600080fd5b815167ffffffffffffffff808211156200ab7b57600080fd5b9083019060c082860312156200ab9057600080fd5b6200ab9a6200a024565b8251815260208301516200abae8162009d53565b602082015260408301516200abc38162009d53565b60408201526060830151828111156200abdb57600080fd5b6200abe9878286016200aad9565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200ac3381600485016020870162009deb565b919091016004019392505050565b600082516200ac5581846020870162009deb565b9190910192915050565b81810381811115620074cc57620074cc6200a36b565b6000602082840312156200ac8857600080fd5b815167ffffffffffffffff808211156200aca157600080fd5b9083019060c082860312156200acb657600080fd5b6200acc06200a024565b82518152602083015160208201526040830151828111156200ace157600080fd5b6200acef878286016200aab6565b6040830152506060830151828111156200ad0857600080fd5b6200ad16878286016200aad9565b6060830152506200ad2a608084016200a476565b60808201526200ad3d60a084016200a476565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b6001600160a01b038516606084015282810360808401526200a9b2818562009d90565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009d89608083018462009e11565b601f8211156200140457600081815260208120601f850160051c810160208610156200ae7e5750805b601f850160051c820191505b8181101562003a94578281556001016200ae8a565b815167ffffffffffffffff8111156200aebc576200aebc6200a00e565b6200aed4816200aecd84546200a3c4565b846200ae55565b602080601f8311600181146200af0c57600084156200aef35750858301515b600019600386901b1c1916600185901b17855562003a94565b600085815260208120601f198616915b828110156200af3d578886015182559484019460019091019084016200af1c565b50858210156200af5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200af7c816200a3c4565b600182811680156200af9757600181146200afad576200afde565b60ff19841687528215158302870194506200afde565b8760005260208060002060005b858110156200afd55781548a8201529084019082016200afba565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b024604083018562009e11565b90508260208301529392505050565b6040815260006200b05e60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b05e60408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009f4f604083018462009e11565b6040815260006200b0d0604083018562009e11565b90506001600160a01b03831660208301529392505050565b6040815260006200b11360408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009f4f818562009e11565b6040815260006200b11360408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a26469706673582212202f9981fbe01658b90d42cb3e80a199c38b8b01fa322d955e9577f525be5c7d6764736f6c63430008130033","sourceMap":"1525:29423:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:100:-;;;;;-1:-1:-1;;;;;269:28:100;;;4045:101:38;;;:::i;1810:42:97:-;;1850:2;1810:42;;;;;644:25:101;;;632:2;617:18;1810:42:97;498:177:101;1959:1152:97;;;:::i;:::-;;30306:640;;;:::i;226:92:38:-;306:4;226:92;;29804:496:97;;;:::i;905:138:38:-;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:100;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:99:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:99;;;;;;;;;;267:84;5385:977:97;;;:::i;2757:105:40:-;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;507:79:96;;;:::i;:::-;;;;;;;;:::i;16709:866:97:-;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:51;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;17581:3967:97:-;;;:::i;3366:113:38:-;;;:::i;1672:33:97:-;;;;;;4257:113:38;;;:::i;15181:1522:97:-;;;:::i;4152:99:38:-;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:100:-;;;;;;;;-1:-1:-1;;;;;240:23:100;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;21554:3158:97:-;;;:::i;4376:105:38:-;;;:::i;339:34:100:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;1858:47:97:-;;1901:4;1858:47;;304:29:100;;;;;-1:-1:-1;;;;;304:29:100;;;24718:2468:97;;;:::i;1537:101:38:-;;;:::i;3485:113::-;;;:::i;1711:44:97:-;;1750:5;1711:44;;11645:1898;;;:::i;799:361:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;8309:519:97:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;13549:1626:97:-;;;:::i;3938:101:38:-;;;:::i;1166:1463:96:-;;;;;;:::i;:::-;;:::i;3273:1814:97:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;12299:14:101;;12292:22;12274:41;;12262:2;12247:18;1819:584:44;12134:187:101;6368:1028:97;;;:::i;1761:43::-;;1799:5;1761:43;;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;8834:1541:97:-;;;:::i;5093:254::-;;;;;;:::i;:::-;;:::i;4571:105:38:-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;7402:901:97;;;:::i;546:124:38:-;;;:::i;324:109::-;;;:::i;10381:1258:97:-;;;:::i;2304:142:51:-;;;:::i;3483:378:96:-;;;;;;:::i;:::-;;:::i;27192:2606:97:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1644:22:97;;;;;-1:-1:-1;;;;;1644:22:97;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1959:1152:97:-;1993:21;:19;:21::i;:::-;2024:32;2044:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;2044:10:97;2024:11;:32::i;:::-;2067:13;;2081:12;:10;:12::i;:::-;2067:27;;-1:-1:-1;;;;;;2067:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;2067:27:97;;;160:74:101;133:18;;2067:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2104:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2104:6:97;:23;;;;;2125:1;2104:23;;;644:25:101;-1:-1:-1;;;;;2104:20:97;;;;;;;617:18:101;;2104:23:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2137:6:97;:26;;;;;2161:1;2137:26;;;644:25:101;-1:-1:-1;;;;;2137:23:97;;;;;;;617:18:101;;2137:26:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2173:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2198:5:97;:23;;-1:-1:-1;;;;;;2198:23:97;-1:-1:-1;;;;;2198:23:97;;;;;;;;;2231:10;306:4:38;2251:16:97;2266:1;1750:5;2251:16;:::i;:::-;2231:37;;-1:-1:-1;;;;;;2231:37:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;2231:37:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;2231:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2278:5:97;;-1:-1:-1;;;;;2278:5:97;;-1:-1:-1;2278:10:97;;-1:-1:-1;2289:12:97;:10;:12::i;:::-;2303:16;2318:1;1750:5;2303:16;:::i;:::-;2278:42;;-1:-1:-1;;;;;;2278:42:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;2278:42:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;2278:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2330:5:97;;-1:-1:-1;;;;;2330:5:97;;-1:-1:-1;2330:13:97;;-1:-1:-1;2352:6:97;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2352:6:97;2361:10;;2330:42;;-1:-1:-1;;;;;;2330:42:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;2330:42:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;2330:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2383:13:97;;2397:12;:10;:12::i;:::-;2383:27;;-1:-1:-1;;;;;;2383:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;2383:27:97;;;160:74:101;133:18;;2383:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2420:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2420:6:97;-1:-1:-1;;;;;2420:24:97;;306:4:38;2420:33:97;;-1:-1:-1;;;;;;2420:33:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;2420:33:97;;;160:74:101;133:18;;2420:33:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2463:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:31;2574:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2540:55;;2605:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2661:30:97;;2738:5;;;2701:19;;;;:44;;;;1850:2;2755:26;;;;:42;;;;2829:1;2807:19;;;:23;2840:27;;;;;;;;2859:8;2840:27;;;;;;;;;2859:8;;2840:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2840:27:97;;;;-1:-1:-1;;;2840:16:97;;;:27;2915:14;:12;:14::i;:::-;-1:-1:-1;;;;;2877:54:97;;;:19;;;:54;2975:38;;;;;:30;;;;;;:38;;2877:6;;2975:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2941:15;:73;;-1:-1:-1;;;;;;2941:73:97;-1:-1:-1;;;;;2941:73:97;;;;;;;;;3025:5;;3065:38;;;-1:-1:-1;;;3065:38:97;;;;3025:5;;;;;:13;;2941:73;;;3065:36;;:38;;;;;;;;;;;;;;2941:73;3065:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3025:79;;-1:-1:-1;;;;;;3025:79:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;3025:79:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;3025:79:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1983:1128;;1959:1152::o;30306:640::-;30358:22;30382:14;30400:33;30424:1;30428;30431;30400:15;:33::i;:::-;30487:13;;;;;30530:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30530:69:97;-1:-1:-1;;;30530:69:97;;;30514:86;;-1:-1:-1;;;30514:86:97;;30357:76;;-1:-1:-1;30357:76:97;;-1:-1:-1;30487:13:97;30514:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30610:2;-1:-1:-1;;;;;30610:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30640:2;-1:-1:-1;;;;;30640:19:97;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30747:13:97;;-1:-1:-1;30747:13:97;;-1:-1:-1;30761:12:97;;-1:-1:-1;30761:10:97;:12::i;:::-;30747:27;;-1:-1:-1;;;;;;30747:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;30747:27:97;;;160:74:101;133:18;;30747:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30784:2;-1:-1:-1;;;;;30784:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30813:2;-1:-1:-1;;;;;30813:19:97;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30844:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30347:599;;;30306:640::o;29804:496::-;29854:22;29878:14;29896:33;29920:1;29924;29927;29896:15;:33::i;:::-;29983:13;;;;;30026:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30026:69:97;-1:-1:-1;;;30026:69:97;;;30010:86;;-1:-1:-1;;;30010:86:97;;29853:76;;-1:-1:-1;29853:76:97;;-1:-1:-1;29983:13:97;30010:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30106:2;-1:-1:-1;;;;;30106:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30136:13:97;;-1:-1:-1;30136:13:97;;-1:-1:-1;30150:12:97;;-1:-1:-1;30150:10:97;:12::i;:::-;30136:27;;-1:-1:-1;;;;;;30136:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;30136:27:97;;;160:74:101;133:18;;30136:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30173:2;-1:-1:-1;;;;;30173:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30202:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30236:15:97;;30227:66;;-1:-1:-1;;;;;;30236:15:97;;-1:-1:-1;30236:24:97;30261:12;:10;:12::i;:::-;30236:38;;-1:-1:-1;;;;;;30236:38:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;30236:38:97;;;160:74:101;133:18;;30236:38:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30276:4;30227:66;;;;;;;;;;;;;;;;;:8;:66::i;380:708:100:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:100;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:100;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:100;;-1:-1:-1;;;;;;592:52:100;;;;;;;-1:-1:-1;;;;;17430:55:101;;;592:52:100;;;17412:74:101;17522:2;17502:18;;;17495:30;642:1:100;17541:18:101;;;17534:29;;;17615:18;;;17608:34;17580:19;;592:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:100;-1:-1:-1;;;;;658:45:100;;;;;;;;717:54;;;-1:-1:-1;;;717:54:100;;;;;18140:74:101;;;;18230:18;;;18223:30;18289:2;18269:18;;;18262:30;18328:17;18308:18;;;18301:45;658::100;;-1:-1:-1;717:8:100;;;;18363:19:101;;717:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:100;;;-1:-1:-1;;;785:45:100;;-1:-1:-1;;;;;18623:55:101;;785:45:100;;;18605:74:101;18695:18;;;18688:30;;;;18754:2;18734:18;;;18727:30;18793:18;18773;;;18766:46;785:8:100;;-1:-1:-1;785:8:100;;-1:-1:-1;18829:19:101;;785:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:100;;-1:-1:-1;884:1:100;;-1:-1:-1;870:16:100;;-1:-1:-1;870:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:100;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:100;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:100;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:100;;-1:-1:-1;;;;;1065:16:100;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;5385:977:97:-;5485:14;5503:29;4445:42:9;5527:1:97;5530;5503:15;:29::i;:::-;5454:78;;;5597:39;;;;;;;;;;;;;;-1:-1:-1;;;5597:39:97;;;:17;:39::i;:::-;5690:35;;;5723:1;5690:35;;;;;;;;;5646:41;;5690:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5690:35:97;;;;;;;;;;;;;;;5646:79;;5824:33;;;;;;;;5851:1;5824:33;;;;5854:2;5824:33;;;5813:5;5819:1;5813:8;;;;;;;;:::i;:::-;;;;;;:44;;;;5899:33;;;;;;;;5926:1;5899:33;;;;5929:2;5899:33;;;5888:5;5894:1;5888:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6074:17;6105:5;6094:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6094:17:97;;;;;;;;;6282:1;6212:75;;;21115:36:101;309:37:45;21167:18:101;;;;21160:45;;;;6212:75:97;;;;;;;;;;21088:18:101;;;;6212:75:97;;;;;;;-1:-1:-1;;;;;6212:75:97;6235:45;6212:75;;;6196:92;;-1:-1:-1;;;6196:92:97;;6094:17;;-1:-1:-1;6196:15:97;;;;:92;;6212:75;6196:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;6298:6:97;-1:-1:-1;;;;;6298:15:97;;6314:6;6322:4;6298:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6337:18;:16;:18::i;507:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16709:866:97:-;16780:22;16804:14;16822:29;4445:42:9;16846:1:97;16849;16822:15;:29::i;:::-;16779:72;;;;16916:39;;;;;;;;;;;;;;-1:-1:-1;;;16916:39:97;;;:17;:39::i;:::-;17009:35;;;17042:1;17009:35;;;;;;;;;16965:41;;17009:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;17009:35:97;;;;;;;;;;;;;;;16965:79;;17065:34;;;;;;;;17092:1;17065:34;;;;17095:3;17065:34;;;17054:5;17060:1;17054:8;;;;;;;;:::i;:::-;;;;;;:45;;;;17109:5;17115:1;17109:8;;;;;;;;:::i;:::-;-1:-1:-1;;17147:17:97;;17127;;17147;;17158:5;;17109:8;17147:17;;:::i;:::-;;;;;;;;;;;;;17127:37;;17280:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;17280:6:97;-1:-1:-1;;;;;17280:15:97;;17296:6;17304:4;17280:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17319:18;:16;:18::i;:::-;17391:13;;;;17427:42;;-1:-1:-1;;;17427:42:97;;17452:1;17427:42;;;21692:25:101;17463:4:97;21733:18:101;;;21726:83;17418:67:97;;-1:-1:-1;;;;;17427:24:97;;;;;21665:18:101;;17427:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1850:2;17418:8;:67::i;:::-;17523:29;;-1:-1:-1;;;17523:29:97;;17550:1;17523:29;;;644:25:101;17514:54:97;;-1:-1:-1;;;;;17523:26:97;;;;;617:18:101;;17523:29:97;498:177:101;17514:54:97;16769:806;;;;;16709:866::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;17581:3967:97:-;17662:22;17686:14;17704:50;17728:1;17732:8;17742:11;17704:15;:50::i;:::-;17808:13;;;;17661:93;;-1:-1:-1;17661:93:97;-1:-1:-1;;;;;;18084:11:97;;;18096:30;18110:15;18096:13;:30::i;:::-;18084:43;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;18084:43:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18154:2;-1:-1:-1;;;;;18154:14:97;;18169:24;18183:9;18169:13;:24::i;:::-;18154:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;18154:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18223:2;-1:-1:-1;;;;;18223:12:97;;18236:27;18250:12;18236:13;:27::i;:::-;18223:41;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;18223:41:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:39;;;;;;;;;;;;;;-1:-1:-1;;;18349:39:97;;;:17;:39::i;:::-;18476:35;;;18509:1;18476:35;;;;;;;;;18419:3;;18398:18;;18476:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;18476:35:97;;;;;;;;;;;;;;;18432:79;;18532:42;;;;;;;;18559:1;18532:42;;;;18562:11;18532:42;;;18521:5;18527:1;18521:8;;;;;;;;:::i;:::-;;;;;;:53;;;;18605:17;18636:5;18625:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;18605:37;;18652:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;18652:6:97;-1:-1:-1;;;;;18652:15:97;;18668:6;18676:4;18652:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18691:18;:16;:18::i;:::-;18720:21;18783:3;18744:36;1850:2;18752:11;18744:36;:::i;:::-;:42;;;;:::i;:::-;18805;;-1:-1:-1;;;18805:42:97;;18830:1;18805:42;;;21692:25:101;18841:4:97;21733:18:101;;;21726:83;18720:66:97;;-1:-1:-1;18796:67:97;;-1:-1:-1;;;;;18805:24:97;;;;;21665:18:101;;18805:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18849:13;18796:8;:67::i;:::-;18900:29;;-1:-1:-1;;;18900:29:97;;18927:1;18900:29;;;644:25:101;18891:54:97;;-1:-1:-1;;;;;18900:26:97;;;;;617:18:101;;18900:29:97;498:177:101;18891:54:97;19028:13;;19042:12;:10;:12::i;:::-;19028:27;;-1:-1:-1;;;;;;19028:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;19028:27:97;;;160:74:101;133:18;;19028:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19158:2;-1:-1:-1;;;;;19158:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19188:42:97;;-1:-1:-1;19266:1:97;;-1:-1:-1;19233:35:97;;-1:-1:-1;19233:35:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;19233:35:97;;;;;;;;;;;;;;;;19188:80;;19278:19;19300:3;19278:25;;19325:43;;;;;;;;19352:1;19325:43;;;;19355:12;19325:43;;;19313:6;19320:1;19313:9;;;;;;;;:::i;:::-;;;;;;:55;;;;19396:6;19385:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;19378:25;;19464:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;19464:6:97;-1:-1:-1;;;;;19464:15:97;;19480:6;19488:4;19464:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;19503:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:22;19593:3;1850:2;19561:12;19553:37;;;;:::i;:::-;:43;;;;:::i;:::-;19528:68;;19607:76;19616:2;-1:-1:-1;;;;;19616:24:97;;19641:1;19652:12;:10;:12::i;:::-;19616:50;;-1:-1:-1;;;;;;19616:50:97;;;;;;;;;;21692:25:101;;;;-1:-1:-1;;;;;21753:55:101;21733:18;;;21726:83;21665:18;;19616:50:97;21510:305:101;19607:76:97;19721:29;;-1:-1:-1;;;19721:29:97;;19748:1;19721:29;;;644:25:101;19712:71:97;;-1:-1:-1;;;;;19721:26:97;;;;;617:18:101;;19721:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19752:30;19768:14;19752:13;:30;:::i;:::-;19712:8;:71::i;:::-;19848:48;;;;;;;;;;;;;;;;;;19883:12;19848:11;:48::i;:::-;19906:34;19943:2;-1:-1:-1;;;;;19943:29:97;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19906:68;;19984:69;;;;;;;;;;;;;;;;;;20026:26;19984:11;:69::i;:::-;20063:75;;;;;;;;;;;-1:-1:-1;;;20063:75:97;;;;20090:47;;-1:-1:-1;;;20090:47:97;;;;;644:25:101;;;20063:75:97;;;-1:-1:-1;;;;;20090:19:97;;;;;617:18:101;;20090:47:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20063:11;:75::i;:::-;20148:78;;;;;;;;;;;-1:-1:-1;;;20148:78:97;;;;20195:29;;-1:-1:-1;;;20195:29:97;;20222:1;20195:29;;;644:25:101;20148:78:97;;;-1:-1:-1;;;;;20175:19:97;;;;;;;20195:26;;617:18:101;;20195:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20175:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;20148:78:97;20246:47;;-1:-1:-1;;;20246:47:97;;;;;644:25:101;;;20237:80:97;;-1:-1:-1;;;;;20246:19:97;;;;;617:18:101;;20246:47:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20295:6;20237:80;;;;;;;;;;;;;-1:-1:-1;;;20237:80:97;;;:8;:80::i;:::-;20356:29;;-1:-1:-1;;;20356:29:97;;20383:1;20356:29;;;644:25:101;20327:82:97;;-1:-1:-1;;;;;20336:19:97;;;;;;;20356:26;;617:18:101;;20356:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20336:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;20336:50:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20388:5;20327:82;;;;;;;;;;;;;-1:-1:-1;;;20327:82:97;;;:8;:82::i;:::-;20420:12;;-1:-1:-1;;;20420:12:97;;20428:3;20420:12;;;644:25:101;20420:7:97;;;;617:18:101;;20420:12:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:47;;;;;;;;;;;;;;;;;;20476:12;20442:11;:47::i;:::-;20746:30;;-1:-1:-1;;;20746:30:97;;20774:1;20746:30;;;644:25:101;-1:-1:-1;;;;;20746:27:97;;;;;617:18:101;;20746:30:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20843:23;20880:20;20956:22;21006:17;21037:22;21072:2;-1:-1:-1;;;;;21072:14:97;;21087:1;21072:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;21072:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20787:302;;;;;;;;;;;;;;;;;21100:52;;;;;;;;;;;;;;-1:-1:-1;;;21100:52:97;;;21136:15;21100:11;:52::i;:::-;21162:46;;;;;;;;;;;;;;-1:-1:-1;;;21162:46:97;;;21195:12;21162:11;:46::i;:::-;21218:39;;;;;;;;;;;;;;-1:-1:-1;;;21218:39:97;;;21247:9;21218:11;:39::i;:::-;21267:50;;;;;;;;;;;;;;-1:-1:-1;;;21267:50:97;;;21302:14;21267:11;:50::i;:::-;21327;;;;;;;;;;;;;;;;;;21362:14;21327:11;:50::i;:::-;21387:39;21396:9;21407:5;21387:39;;;;;;;;;;;;;;;;;:8;:39::i;:::-;21436:48;21445:14;21461:4;21436:48;;;;;;;;;;;;;;;;;:8;:48::i;:::-;21494:47;21503:14;21519:3;21494:47;;;;;;;;;;;;;;;;;:8;:47::i;:::-;17651:3897;;;;;;;;;;;;;;;;17581:3967::o;3366:113:38:-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;15181:1522:97:-;15235:22;15259:14;15277:29;4445:42:9;15301:1:97;15304;15277:15;:29::i;:::-;15404:15;;15425:76;;15495:5;15425:76;;;24068:38:101;15234:72:97;;-1:-1:-1;15234:72:97;;-1:-1:-1;15372:139:97;;-1:-1:-1;;;;;15404:15:97;;;;;;-1:-1:-1;;;15448:45:97;24041:18:101;;15425:76:97;;;;-1:-1:-1;;15425:76:97;;;;;;;;;;;;;;-1:-1:-1;;;;;15425:76:97;-1:-1:-1;;;;;;15425:76:97;;;;;;;;;;15372:10;:139::i;:::-;15660:35;;;15693:1;15660:35;;;;;;;;;15616:41;;15660:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;15660:35:97;;;;;;;;;;;;;;;15616:79;;15716:34;;;;;;;;15743:1;15716:34;;;;15746:3;15716:34;;;15705:5;15711:1;15705:8;;;;;;;;:::i;:::-;;;;;;:45;;;;15760:17;15791:5;15780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;15760:37;;15807:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;15807:6:97;-1:-1:-1;;;;;15807:15:97;;15823:6;15831:4;15807:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;15960:13:97;;;;15995:42;;-1:-1:-1;;;15995:42:97;;16020:1;15995:42;;;21692:25:101;16031:4:97;21733:18:101;;;21726:83;15902:5:97;;15960:13;15986:67;;-1:-1:-1;;;;;15995:24:97;;;;;21665:18:101;;15995:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16039:13;15986:8;:67::i;:::-;16072:29;;-1:-1:-1;;;16072:29:97;;16099:1;16072:29;;;644:25:101;16063:54:97;;-1:-1:-1;;;;;16072:26:97;;;;;617:18:101;;16072:29:97;498:177:101;16063:54:97;16139:35;;;;;;;;16166:1;16139:35;;;;-1:-1:-1;;16139:35:97;;;16128:5;16134:1;16128:8;;;;;;;;:::i;:::-;;;;;;:46;;;;16202:5;16191:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;16184:24;;16218:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;16218:6:97;-1:-1:-1;;;;;16218:15:97;;16234:6;16242:4;16218:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16267:42:97;;-1:-1:-1;;;16267:42:97;;16292:1;16267:42;;;21692:25:101;16303:4:97;21733:18:101;;;21726:83;16258:69:97;;-1:-1:-1;;;;;;16267:24:97;;;-1:-1:-1;16267:24:97;;21665:18:101;;16267:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16311:1;16258:69;;;;;;;;;;;;;;;;;:8;:69::i;:::-;16346:29;;-1:-1:-1;;;16346:29:97;;16373:1;16346:29;;;644:25:101;16337:58:97;;-1:-1:-1;;;;;16346:26:97;;;;;617:18:101;;16346:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16377:1;16337:58;;;;;;;;;;;;;;;;;:8;:58::i;:::-;16406:44;16415:2;-1:-1:-1;;;;;16415:14:97;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16433:1;16406:44;;;;;;;;;;;;;;;;;:8;:44::i;:::-;16557:15;;16602:84;;1850:2;16602:84;;;644:25:101;16525:171:97;;-1:-1:-1;;;;;16557:15:97;;;;-1:-1:-1;;;16625:45:97;617:18:101;;16602:84:97;498:177:101;16525:171:97;15224:1479;;;;;;15181:1522::o;4152:99:38:-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:100:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:100;-1:-1:-1;;;;;1993:33:100;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:100;-1:-1:-1;;;;;2240:17:100;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:100;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;26454:25:101;;;;26495:18;;;26488:34;;;2301:17:100;;-1:-1:-1;2301:17:100;2280:18;;;;;;2363:7;;;;26427:18:101;;2363:36:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;27114:19:101;;;27149:12;;;27142:28;;;27222:66;27208:3;27204:16;;;27200:89;27186:12;;;27179:111;2435:25:100;;;;;;;;;27306:12:101;;;2435:25:100;;;;2489:11;;:152;;;;27204:16:101;;-1:-1:-1;27114:19:101;;-1:-1:-1;27142:28:101;;-1:-1:-1;2489:11:100;;;-1:-1:-1;;;;;2489:11:100;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:100;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;21554:3158:97:-;21608:22;21632:14;21650:29;4445:42:9;21674:1:97;21677;21650:15;:29::i;:::-;21607:72;;;;21744:39;;;;;;;;;;;;;;-1:-1:-1;;;21744:39:97;;;:17;:39::i;:::-;21870:35;;;21903:1;21870:35;;;;;;;;;21814:2;;21793:18;;21870:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;21870:35:97;;;;;;;;;;;;;;;21826:79;;21926:42;;;;;;;;21953:1;21926:42;;;;21956:11;21926:42;;;21915:5;21921:1;21915:8;;;;;;;;:::i;:::-;;;;;;:53;;;;21999:17;22030:5;22019:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;21999:37;;22046:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22046:6:97;-1:-1:-1;;;;;22046:15:97;;22062:6;22070:4;22046:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22085:18;:16;:18::i;:::-;22114:21;22177:3;22138:36;1850:2;22146:11;22138:36;:::i;:::-;:42;;;;:::i;:::-;22233:13;;;;22268:42;;-1:-1:-1;;;22268:42:97;;22293:1;22268:42;;;21692:25:101;22304:4:97;21733:18:101;;;21726:83;22114:66:97;;-1:-1:-1;22233:13:97;22259:90;;-1:-1:-1;;;;;22268:24:97;;;;;21665:18:101;;22268:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22312:13;22259:90;;;;;;;;;;;;;;;;;:8;:90::i;:::-;22386:29;;-1:-1:-1;;;22386:29:97;;22413:1;22386:29;;;644:25:101;22377:54:97;;-1:-1:-1;;;;;22386:26:97;;;;;617:18:101;;22386:29:97;498:177:101;22377:54:97;22514:13;;22528:12;:10;:12::i;:::-;22514:27;;-1:-1:-1;;;;;;22514:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;22514:27:97;;;160:74:101;133:18;;22514:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22552:19;22574:1;22552:23;;22585:41;22629:149;;;;;;;;22668:11;22629:149;;;;22681:6;22629:149;;;;22689:12;:10;:12::i;:::-;-1:-1:-1;;;;;22629:149:97;;;;;22703:31;22629:149;;1901:4;22629:149;;;;;;;;22762:5;;-1:-1:-1;;;;;22762:5:97;22629:149;;;;;22809:20;;22585:193;;-1:-1:-1;;;22809:20:97;;22585:193;;22809:20;;:::i;:::-;;;;;;;;;;;;;22788:41;;22839:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22839:6:97;-1:-1:-1;;;;;22839:24:97;;22864:6;22872:5;22839:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22889:5:97;;22911:15;;22929:38;;;-1:-1:-1;;;22929:38:97;;;;-1:-1:-1;;;;;22889:5:97;;;;:13;;22911:15;;;;22929:36;;:38;;;;;;;;;;;;;;;22911:15;22929:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22889:79;;-1:-1:-1;;;;;;22889:79:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;22889:79:97;;;14681:74:101;14771:18;;;14764:34;14654:18;;22889:79:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23031:2;-1:-1:-1;;;;;23031:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23061:42:97;;-1:-1:-1;23139:1:97;;-1:-1:-1;23106:35:97;;-1:-1:-1;23106:35:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;23106:35:97;;;;;;;;;;;;;;;;23061:80;;23151:19;23173:3;23151:25;;23198:53;;;;;;;;23225:11;23198:53;;;;23238:12;23198:53;;;23186:6;23193:1;23186:9;;;;;;;;:::i;:::-;;;;;;:65;;;;23279:6;23268:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;23261:25;;23347:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;23347:6:97;-1:-1:-1;;;;;23347:15:97;;23363:6;23371:4;23347:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;23386:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23411:22;23476:3;1850:2;23444:12;23436:37;;;;:::i;:::-;:43;;;;:::i;:::-;23411:68;;23490:109;23499:2;-1:-1:-1;;;;;23499:24:97;;23524:11;23545:12;:10;:12::i;:::-;23499:60;;-1:-1:-1;;;;;;23499:60:97;;;;;;;;;;21692:25:101;;;;-1:-1:-1;;;;;21753:55:101;21733:18;;;21726:83;21665:18;;23499:60:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23561:14;23490:109;;;;;;;;;;;;;;;;;:8;:109::i;:::-;23637:39;;-1:-1:-1;;;23637:39:97;;;;;644:25:101;;;23628:81:97;;-1:-1:-1;;;;;23637:26:97;;;;;617:18:101;;23637:39:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23678:14;23628:81;;;;;;;;;;;;;;;;;:8;:81::i;:::-;23774:48;;;;;;;;;;;;;;;;;;23809:12;23774:11;:48::i;:::-;23832:65;;;;;;;;;;;;;;-1:-1:-1;;;23832:65:97;;;23859:2;-1:-1:-1;;;;;23859:19:97;;23879:2;-1:-1:-1;;;;;23879:14:97;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23832:65;23907:78;;;;;;;;;;;-1:-1:-1;;;23907:78:97;;;;23954:29;;-1:-1:-1;;;23954:29:97;;23981:1;23954:29;;;644:25:101;23907:78:97;;;-1:-1:-1;;;;;23934:19:97;;;;;;;23954:26;;617:18:101;;23954:29:97;498:177:101;23907:78:97;23995:11;;-1:-1:-1;;;23995:11:97;;24003:2;23995:11;;;644:25:101;23995:7:97;;;;617:18:101;;23995:11:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24016:47;;;;;;;;;;;;;;;;;;24050:12;24016:11;:47::i;:::-;24074:30;;-1:-1:-1;;;24074:30:97;;24102:1;24074:30;;;644:25:101;-1:-1:-1;;;;;24074:27:97;;;;;617:18:101;;24074:30:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24171:23;24208:20;24284:22;24334:17;24365:22;24400:2;-1:-1:-1;;;;;24400:14:97;;24415:1;24400:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;24400:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24115:302;;;;;;;;;;;;;;;;;24428:52;;;;;;;;;;;;;;-1:-1:-1;;;24428:52:97;;;24464:15;24428:11;:52::i;:::-;24490:46;;;;;;;;;;;;;;-1:-1:-1;;;24490:46:97;;;24523:12;24490:11;:46::i;:::-;24546:39;;;;;;;;;;;;;;-1:-1:-1;;;24546:39:97;;;24575:9;24546:11;:39::i;:::-;24595:50;;;;;;;;;;;;;;-1:-1:-1;;;24595:50:97;;;24630:14;24595:11;:50::i;:::-;24655;;;;;;;;;;;;;;;;;;24690:14;24655:11;:50::i;:::-;21597:3115;;;;;;;;;;;;;;;;;;21554:3158::o;4376:105:38:-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24718:2468:97;24776:22;24800:14;24818:29;4445:42:9;24842:1:97;24845;24818:15;:29::i;:::-;24775:72;;;;24912:39;;;;;;;;;;;;;;-1:-1:-1;;;24912:39:97;;;:17;:39::i;:::-;25039:35;;;25072:1;25039:35;;;;;;;;;24982:3;;24961:18;;25039:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;25039:35:97;;;;;;;;;;;;;;;24995:79;;25095:42;;;;;;;;25122:1;25095:42;;;;25125:11;25095:42;;;25084:5;25090:1;25084:8;;;;;;;;:::i;:::-;;;;;;:53;;;;25201:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;25201:6:97;-1:-1:-1;;;;;25201:15:97;;25217:6;25236:5;25225:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;25201:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25253:18;:16;:18::i;:::-;25282:21;25345:3;25306:36;1850:2;25314:11;25306:36;:::i;:::-;:42;;;;:::i;:::-;25401:13;;;;25436:42;;-1:-1:-1;;;25436:42:97;;25461:1;25436:42;;;21692:25:101;25472:4:97;21733:18:101;;;21726:83;25282:66:97;;-1:-1:-1;25401:13:97;25427:67;;-1:-1:-1;;;;;25436:24:97;;;;;21665:18:101;;25436:42:97;21510:305:101;25427:67:97;25531:29;;-1:-1:-1;;;25531:29:97;;25558:1;25531:29;;;644:25:101;25522:54:97;;-1:-1:-1;;;;;25531:26:97;;;;;617:18:101;;25531:29:97;498:177:101;25522:54:97;25633:19;25680:23;25717:20;25779:17;25810:22;25860:17;25929:2;-1:-1:-1;;;;;25929:14:97;;25944:1;25929:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;25929:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25605:341;;;;;;;;;;;;;;;;;;26142:52;;;;;;;;;;;;;;-1:-1:-1;;;26142:52:97;;;26178:15;26142:11;:52::i;:::-;26204:46;;;;;;;;;;;;;;-1:-1:-1;;;26204:46:97;;;26237:12;26204:11;:46::i;:::-;26260:39;;;;;;;;;;;;;;-1:-1:-1;;;26260:39:97;;;26289:9;26260:11;:39::i;:::-;26379:40;;;;;;;;;;;;;;;;;;26409:9;26379:11;:40::i;:::-;26429:50;;;;;;;;;;;;;;-1:-1:-1;;;26429:50:97;;;26464:14;26429:11;:50::i;:::-;26690:16;;;26660:27;26690:16;;;;;;;;26794:1;26783:13;;;29914:36:101;26783:13:97;;;;;;;;;29887:18:101;;;26783:13:97;;26835:10;;;;26690:16;;26783:13;26824:35;;26847:11;26824:10;:35::i;:::-;26807:52;;26936:19;26945:6;26953:1;26936:8;:19::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;-1:-1:-1;;;;;26966:17:97;;26984:6;26992:10;27004:12;26966:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27036:35;27047:4;:10;;;27059:11;27036:10;:35::i;:::-;27027:44;;27146:33;27155:6;27163:15;27146:8;:33::i;:::-;24765:2421;;;;;;;;;;;;;;;24718:2468::o;1537:101:38:-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;11645:1898:97:-;11707:22;11731:14;11749:29;4445:42:9;11773:1:97;11776;11749:15;:29::i;:::-;11832:13;;;;11706:72;;-1:-1:-1;11706:72:97;-1:-1:-1;;;;;;11859:11:97;;;11871:24;11885:9;11871:13;:24::i;:::-;11859:37;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;11859:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11923:2;-1:-1:-1;;;;;11923:14:97;;11938:24;11952:9;11938:13;:24::i;:::-;11923:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;11923:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11992:2;-1:-1:-1;;;;;11992:12:97;;12005:26;12019:11;12005:13;:26::i;:::-;11992:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;11992:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12199:15:97;;12244:84;;12087:5;12244:84;;;644:25:101;;;12087:5:97;-1:-1:-1;12167:171:97;;-1:-1:-1;;;;;;12199:15:97;;;;12063:21;;-1:-1:-1;;;12267:45:97;617:18:101;;12244:84:97;498:177:101;12167:171:97;12391:39;;;;;;;;;;;;;;-1:-1:-1;;;12391:39:97;;;:17;:39::i;:::-;12484:35;;;12517:1;12484:35;;;;;;;;;12440:41;;12484:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;12484:35:97;;;;;;;;;;;;;;;12440:79;;12540:34;;;;;;;;12567:1;12540:34;;;;12570:3;12540:34;;;12529:5;12535:1;12529:8;;;;;;;;:::i;:::-;;;;;;:45;;;;12584:17;12615:5;12604:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;12584:37;;12631:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;12631:6:97;-1:-1:-1;;;;;12631:15:97;;12647:6;12655:4;12631:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12670:18;:16;:18::i;:::-;12708:42;;-1:-1:-1;;;12708:42:97;;12733:1;12708:42;;;21692:25:101;12744:4:97;21733:18:101;;;21726:83;12699:67:97;;-1:-1:-1;;;;;12708:24:97;;;;;21665:18:101;;12708:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12752:13;12699:8;:67::i;:::-;12785:29;;-1:-1:-1;;;12785:29:97;;12812:1;12785:29;;;644:25:101;12776:54:97;;-1:-1:-1;;;;;12785:26:97;;;;;617:18:101;;12785:29:97;498:177:101;12776:54:97;12902:46;;-1:-1:-1;;;12902:46:97;;12925:2;12902:46;;;30678:25:101;12841:23:97;30719:18:101;;;30712:34;;;12867:5:97;30762:18:101;;;30755:34;;;12867:5:97;-1:-1:-1;;;;;12902:22:97;;;;;30651:18:101;;12902:46:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12882:66;;12959:39;;;;;;;;;;;;;;-1:-1:-1;;;12959:39:97;;;12988:9;12959:11;:39::i;:::-;13008:14;13025:66;13046:2;13050:1;13053:15;13070:20;13025;:66::i;:::-;13008:83;;13101:33;;;;;;;;;;;;;;-1:-1:-1;;;13101:33:97;;;13127:6;13101:11;:33::i;:::-;13145:27;13154:9;13165:6;13145:8;:27::i;:::-;13182:32;13191:15;13208:5;13182:8;:32::i;:::-;13224:30;13233:13;13248:5;13224:8;:30::i;:::-;13264:26;13273:9;13284:5;13264:8;:26::i;:::-;13397:15;;13442:84;;1850:2;13442:84;;;644:25:101;13365:171:97;;-1:-1:-1;;;;;13397:15:97;;;;-1:-1:-1;;;13465:45:97;617:18:101;;13442:84:97;498:177:101;13365:171:97;11696:1847;;;;;;;;;11645:1898::o;799:361:96:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:96;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1017:48:96;;;;;;1067:12;:10;:12::i;:::-;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:96;;;799:361::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8309:519:97;8392:14;8410:29;4445:42:9;8434:1:97;8437;8410:15;:29::i;:::-;8389:50;;;8450:41;8494:133;;;;;;;;8533:1;8494:133;;;;8536:6;8494:133;;;;8544:12;:10;:12::i;:::-;-1:-1:-1;;;;;8494:133:97;;;;;8558:33;8494:133;;;;1901:4;8494:133;;;;4445:42:9;-1:-1:-1;;;;;8494:133:97;;;;8450:177;;8637:17;8668:8;8657:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8657:20:97;;;;;;;;;8770:1;8703:69;;;;29914:36:101;;;;8703:69:97;;;;;;;;;;29887:18:101;;;;8703:69:97;;;;;;;-1:-1:-1;;;;;8703:69:97;8726:42;8703:69;;;8687:86;;-1:-1:-1;;;8687:86:97;;8657:20;;-1:-1:-1;8687:15:97;;;;:86;;8703:69;8687:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8783:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;8783:6:97;-1:-1:-1;;;;;8783:24:97;;8808:6;8816:4;8783:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8379:449;;;8309:519::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;13549:1626:97:-;13619:22;13643:14;13661:29;4445:42:9;13685:1:97;13688;13661:15;:29::i;:::-;13744:13;;;;13618:72;;-1:-1:-1;13618:72:97;-1:-1:-1;;;;;;13771:11:97;;;13783:24;13797:9;13783:13;:24::i;:::-;13771:37;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;13771:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13835:2;-1:-1:-1;;;;;13835:14:97;;13850:24;13864:9;13850:13;:24::i;:::-;13835:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;13835:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13904:2;-1:-1:-1;;;;;13904:12:97;;13917:26;13931:11;13917:13;:26::i;:::-;13904:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;13904:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14063:15:97;;14084:76;;14154:5;14084:76;;;24068:38:101;14031:139:97;;-1:-1:-1;;;;;;14063:15:97;;;;-1:-1:-1;14063:15:97;;-1:-1:-1;;;14107:45:97;24041:18:101;;14084:76:97;23911:201:101;14031:139:97;14223:39;;;;;;;;;;;;;;-1:-1:-1;;;14223:39:97;;;:17;:39::i;:::-;14316:35;;;14349:1;14316:35;;;;;;;;;14272:41;;14316:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;14316:35:97;;;;;;;;;;;;;;;14272:79;;14372:34;;;;;;;;14399:1;14372:34;;;;14402:3;14372:34;;;14361:5;14367:1;14361:8;;;;;;;;:::i;:::-;;;;;;:45;;;;14437:17;14468:5;14457:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;14437:37;;14484:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;14484:6:97;-1:-1:-1;;;;;14484:15:97;;14500:6;14508:4;14484:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14523:18;:16;:18::i;:::-;14600:42;;-1:-1:-1;;;14600:42:97;;14625:1;14600:42;;;21692:25:101;14636:4:97;21733:18:101;;;21726:83;14576:5:97;;14591:67;;-1:-1:-1;;;;;14600:24:97;;;;;21665:18:101;;14600:42:97;21510:305:101;14591:67:97;14695:29;;-1:-1:-1;;;14695:29:97;;14722:1;14695:29;;;644:25:101;14686:54:97;;-1:-1:-1;;;;;14695:26:97;;;;;617:18:101;;14695:29:97;498:177:101;14686:54:97;14783:27;;;;;14805:4;14783:27;;;644:25:101;14769:11:97;;-1:-1:-1;;;;;14783:21:97;;;;;617:18:101;;14783:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14769:41;;14820:32;;;;;;;;;;;;;;;;;;14848:3;14820:11;:32::i;:::-;14862:30;14871:13;14886:5;14862:8;:30::i;:::-;14902:20;14911:3;14916:5;14902:8;:20::i;:::-;15029:15;;15074:84;;1850:2;15074:84;;;644:25:101;14997:171:97;;-1:-1:-1;;;;;15029:15:97;;;;-1:-1:-1;;;15097:45:97;617:18:101;;15074:84:97;498:177:101;3938:101:38;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:96:-;-1:-1:-1;;;;;;;;1307:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:96;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:96;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:96;;;;;;;;;;;;-1:-1:-1;1878:16:96;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:96;;;-1:-1:-1;;;;;1904:33:96;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:96;;;2269:64;;-1:-1:-1;2317:5:96;2269:64;2351:4;-1:-1:-1;;;;;2351:33:96;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;32481:13:101;;-1:-1:-1;;;;;32477:62:101;2509:18:96;;;;32459:81:101;;;;32584:17;;32578:24;32556:20;;;32549:54;32647:17;;;32641:24;32619:20;;;;32612:54;;;;32710:17;;32704:24;32682:20;;;32675:54;2486:8:96;;32431:19:101;;2509:18:96;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:96:o;3273:1814:97:-;3393:22;;:::i;:::-;3417:14;3451:13;3468:1;3451:18;3447:81;;1901:4;3485:32;;3447:81;3542:10;3556:1;3542:15;3538:70;;1799:5;3573:24;;3538:70;4445:42:9;-1:-1:-1;;;;;3660:24:97;;3656:84;;-1:-1:-1;3723:5:97;;-1:-1:-1;;;;;3723:5:97;3656:84;3750:35;;;;;;;;;;;;;;-1:-1:-1;;;3750:35:97;;;:17;:35::i;:::-;3859:13;;3873:12;:10;:12::i;:::-;3859:27;;-1:-1:-1;;;;;;3859:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;3859:27:97;;;160:74:101;133:18;;3859:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3897:19;3942:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3942:6:97;3919:31;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;3919:31:97;;;;;;;;;;;;;;;;;;;;;;;3897:53;;3970:101;3981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3981:6:97;3997:8;4016:18;3202:15;;-1:-1:-1;;;;;3202:15:97;;3117:107;4016:18;678:10:40;;-1:-1:-1;;;;;678:10:40;4057:12:97;3970:10;:101::i;:::-;3961:110;;317:28:45;309:37;;-1:-1:-1;;;;;4082:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:8;-1:-1:-1;;;;;4107:23:97;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4150:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4150:6:97;-1:-1:-1;;;;;4150:14:97;;4165:6;4150:22;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;4150:22:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4150:22:97;;;;;;;;;;;;:::i;:::-;4183:34;;;;;4199:4;4183:34;;;14681:74:101;14771:18;;;14764:34;;;4143:29:97;;-1:-1:-1;4183:7:97;;;;14654:18:101;;4183:34:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;-1:-1:-1;;;;;4231:22:97;:12;-1:-1:-1;;;;;4231:22:97;;4227:316;;707:6:39;;-1:-1:-1;;;;;707:6:39;4269:54:97;;-1:-1:-1;;;4269:54:97;;;;;26454:25:101;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4269:15:97;;;;;;;4292:10;;26427:18:101;;4269:54:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;;;4354:55;;;;;4391:4;4354:55;;;14681:74:101;14771:18;;;14764:34;;;-1:-1:-1;;;;;4354:28:97;;;;;14654:18:101;;4354:55:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4433:12;-1:-1:-1;;;;;4423:31:97;;4463:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4463:6:97;4423:60;;-1:-1:-1;;;;;;4423:60:97;;;;;;;-1:-1:-1;;;;;14699:55:101;;;4423:60:97;;;14681:74:101;14771:18;;;14764:34;;;14654:18;;4423:60:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;4497:35:97;;-1:-1:-1;;;4497:35:97;;;;;26454:25:101;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4497:15:97;;;;;;;26427:18:101;;4497:35:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;4562:14;;4553:70;;4578:27;4594:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;4578:27:97;4553:70;;;;;;;;;;;;;;;;;:8;:70::i;:::-;4720:35;;;;;;;;;;;;;;-1:-1:-1;;;4720:35:97;;;:17;:35::i;:::-;4766:41;4810:143;;;;;;;;4849:1;4810:143;;;;4852:6;4810:143;;;;4860:12;:10;:12::i;:::-;-1:-1:-1;;;;;4810:143:97;;;;;4874:31;4810:143;;;;4907:13;4810:143;;;;4930:12;-1:-1:-1;;;;;4810:143:97;;;;4766:187;;4963:17;4994:8;4983:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;4963:40;;5013:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;5013:6:97;-1:-1:-1;;;;;5013:24:97;;5038:6;5046:4;5013:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5062:18;:16;:18::i;:::-;3437:1650;;;;3273:1814;;;;;;:::o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14681:74:101;;;-1:-1:-1;;;14771:18:101;;;14764:34;2196:43:44;;;;;;;;;14654:18:101;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;6368:1028:97:-;6465:14;6483:29;4445:42:9;6507:1:97;6510;6483:15;:29::i;:::-;6434:78;;;6577:39;;;;;;;;;;;;;;-1:-1:-1;;;6577:39:97;;;:17;:39::i;:::-;6670:35;;;6703:1;6670:35;;;;;;;;;6626:41;;6670:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6670:35:97;;;;;;;;;;;;;;;6626:79;;6804:33;;;;;;;;6831:1;6804:33;;;;6834:2;6804:33;;;6793:5;6799:1;6793:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6879:33;;;;;;;;6906:1;6879:33;;;;6909:2;6879:33;;;6868:5;6874:1;6868:8;;;;;;;;:::i;:::-;;;;;;:44;;;;7054:17;7085:5;7074:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7074:17:97;;;;;;;;;;-1:-1:-1;7101:13:97;;7115:12;:10;:12::i;:::-;7101:27;;-1:-1:-1;;;;;;7101:27:97;;;;;;;-1:-1:-1;;;;;178:55:101;;;7101:27:97;;;160:74:101;133:18;;7101:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7138:54:97;;;;;7154:37;7138:54;;;38028:98:101;7138:15:97;;-1:-1:-1;7138:15:97;;-1:-1:-1;38001:18:101;;7138:54:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7307:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7307:6:97;-1:-1:-1;;;;;7307:15:97;;7323:6;7331:4;7307:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;7347:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:113:38;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;8834:1541:97:-;8901:22;8925:14;8943:29;4445:42:9;8967:1:97;8970;8943:15;:29::i;:::-;8900:72;;;;9026:39;;;;;;;;;;;;;;-1:-1:-1;;;9026:39:97;;;:17;:39::i;:::-;9119:35;;;9152:1;9119:35;;;;;;;;;9075:41;;9119:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9119:35:97;;;;;;;;;;;;;;;9075:79;;9175:33;;;;;;;;9202:1;9175:33;;;;9205:2;9175:33;;;9164:5;9170:1;9164:8;;;;;;;;:::i;:::-;;;;;;:44;;;;9258:17;9289:5;9278:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;9258:37;;9306:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;9306:6:97;-1:-1:-1;;;;;9306:15:97;;9322:6;9330:4;9306:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:18;:16;:18::i;:::-;9374:21;9419:3;9398:18;1850:2;9398;:18;:::i;:::-;:24;;;;:::i;:::-;9475:13;;;;9510:42;;-1:-1:-1;;;9510:42:97;;9535:1;9510:42;;;21692:25:101;9546:4:97;21733:18:101;;;21726:83;9374:48:97;;-1:-1:-1;9475:13:97;9501:67;;-1:-1:-1;;;;;9510:24:97;;;;;21665:18:101;;9510:42:97;21510:305:101;9501:67:97;9605:29;;-1:-1:-1;;;9605:29:97;;9632:1;9605:29;;;644:25:101;9596:54:97;;-1:-1:-1;;;;;9605:26:97;;;;;617:18:101;;9605:29:97;498:177:101;9596:54:97;9965:35;;;9998:1;9965:35;;;;;;;;;9920:42;;9965:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9965:35:97;;;;;;;;;;;;;;;9920:80;;10022:33;;;;;;;;10049:1;10022:33;;;;10052:2;10022:33;;;10010:6;10017:1;10010:9;;;;;;;;:::i;:::-;;;;;;:45;;;;10083:6;10072:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;10065:25;;10151:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;10151:6:97;-1:-1:-1;;;;;10151:15:97;;10167:6;10175:4;10151:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10227:42:97;;-1:-1:-1;;;10227:42:97;;10252:1;10227:42;;;21692:25:101;10263:4:97;21733:18:101;;;21726:83;10218:67:97;;-1:-1:-1;;;;;;10227:24:97;;;-1:-1:-1;10227:24:97;;21665:18:101;;10227:42:97;21510:305:101;10218:67:97;10323:29;;-1:-1:-1;;;10323:29:97;;10350:1;10323:29;;;644:25:101;10314:54:97;;-1:-1:-1;;;;;10323:26:97;;;;;617:18:101;;10323:29:97;498:177:101;5093:254:97;5166:7;5189:16;-1:-1:-1;;;;;5189:16:97;;;5185:156;;-1:-1:-1;;;;;;5228:23:97;;;5221:30;;5185:156;5289:41;;;;;-1:-1:-1;;;;;178:55:101;;;5289:41:97;;;160:74:101;5289:24:97;;;;;133:18:101;;5289:41:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5282:48;;5185:156;5093:254;;;;:::o;4571:105:38:-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;7402:901:97:-;7501:22;7525:14;7543:29;4445:42:9;7567:1:97;7570;7543:15;:29::i;:::-;7500:72;;;;7637:39;;;;;;;;;;;;;;-1:-1:-1;;;7637:39:97;;;:17;:39::i;:::-;7730:35;;;7763:1;7730:35;;;;;;;;;7686:41;;7730:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;7730:35:97;;;;;;;;;;;;;;;7686:79;;7786:35;;;;;;;;7813:1;7786:35;;;;-1:-1:-1;;7786:35:97;;;7775:5;7781:1;7775:8;;;;;;;;:::i;:::-;;;;;;:46;;;;7831:17;7862:5;7851:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7851:17:97;;;;;;;;;309:37:45;7895:75:97;;;38371:36:101;-1:-1:-1;;38423:18:101;;;38416:49;;;38481:18;;;;38474:49;;;;7895:75:97;;;;;;;;;;38344:18:101;;;;7895:75:97;;;;;;;-1:-1:-1;;;;;7895:75:97;7918:36;7895:75;;;7879:92;;-1:-1:-1;;;7879:92:97;;7851:17;;-1:-1:-1;7879:15:97;;;;:92;;7895:75;7879:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7981:6:97;-1:-1:-1;;;;;7981:15:97;;7997:6;8005:4;7981:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8020:18;:16;:18::i;:::-;8092:13;;;;8128:42;;-1:-1:-1;;;8128:42:97;;8153:1;8128:42;;;21692:25:101;8164:4:97;21733:18:101;;;21726:83;8119:75:97;;-1:-1:-1;;;;;8128:24:97;;;;;21665:18:101;;8128:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8172:1;8119:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;8232:29;;-1:-1:-1;;;8232:29:97;;8259:1;8232:29;;;644:25:101;8223:73:97;;-1:-1:-1;;;;;8232:26:97;;;;;617:18:101;;8232:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8263:1;8223:73;;;;;;;;;;;;;;;;;:8;:73::i;546:124:38:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;10381:1258:97:-;10441:22;10465:14;10483:29;4445:42:9;10507:1:97;10510;10483:15;:29::i;:::-;10566:13;;;;10440:72;;-1:-1:-1;10440:72:97;-1:-1:-1;;;;;;10593:11:97;;;10605:24;10619:9;10605:13;:24::i;:::-;10593:37;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;10593:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10657:2;-1:-1:-1;;;;;10657:14:97;;10672:24;10686:9;10672:13;:24::i;:::-;10657:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;10657:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:2;-1:-1:-1;;;;;10726:12:97;;10739:26;10753:11;10739:13;:26::i;:::-;10726:40;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;10726:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:39;;;;;;;;;;;;;;-1:-1:-1;;;10841:39:97;;;:17;:39::i;:::-;10934:35;;;10967:1;10934:35;;;;;;;;;10890:41;;10934:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;10934:35:97;;;;;;;;;;;;;;;10890:79;;10990:33;;;;;;;;11017:1;10990:33;;;;11020:2;10990:33;;;10979:5;10985:1;10979:8;;;;;;;;:::i;:::-;;;;;;:44;;;;11033:17;11064:5;11053:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;11033:37;;11080:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;11080:6:97;-1:-1:-1;;;;;11080:15:97;;11096:6;11104:4;11080:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11119:18;:16;:18::i;:::-;11148:21;11193:3;11172:18;1850:2;11172;:18;:::i;:::-;:24;;;;:::i;:::-;11215:42;;-1:-1:-1;;;11215:42:97;;11240:1;11215:42;;;21692:25:101;11251:4:97;21733:18:101;;;21726:83;11148:48:97;;-1:-1:-1;11206:67:97;;-1:-1:-1;;;;;11215:24:97;;;;;21665:18:101;;11215:42:97;21510:305:101;11206:67:97;11292:29;;-1:-1:-1;;;11292:29:97;;11319:1;11292:29;;;644:25:101;11283:54:97;;-1:-1:-1;;;;;11292:26:97;;;;;617:18:101;;11292:29:97;498:177:101;11283:54:97;11368:44;;-1:-1:-1;;;11368:44:97;;11391:2;11368:44;;;30678:25:101;11348:17:97;30719:18:101;;;30712:34;;;30762:18;;;30755:34;;;11348:17:97;-1:-1:-1;;;;;11368:22:97;;;;;30651:18:101;;11368:44:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11348:64;;11422:39;;;;;;;;;;;;;;-1:-1:-1;;;11422:39:97;;;11451:9;11422:11;:39::i;:::-;11471:14;11488:64;11509:2;11513:1;11516:13;11531:20;11488;:64::i;:::-;11471:81;;11562:33;;;;;;;;;;;;;;-1:-1:-1;;;11562:33:97;;;11588:6;11562:11;:33::i;:::-;11605:27;11614:9;11625:6;11605:8;:27::i;:::-;10430:1209;;;;;;;;10381:1258::o;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:96:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:96;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:96;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:96:o;27192:2606:97:-;27256:22;27280:14;27298:33;27322:1;27326;27329;27298:15;:33::i;:::-;27255:76;;;;27342:35;;;;;;;;;;;;;;-1:-1:-1;;;27342:35:97;;;:17;:35::i;:::-;27444:98;;;;;;;;27470:1;27444:98;;;;;;;;;-1:-1:-1;27444:98:97;;;;;;;;;;;;;;;;;;;;;;;;27572:20;;27444:98;;-1:-1:-1;27572:20:97;;27444:98;;27572:20;;:::i;:::-;;;;;;;;;;;;;27552:40;;27602:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;27602:6:97;-1:-1:-1;;;;;27602:24:97;;27627:6;27635:4;27602:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27651:18;:16;:18::i;:::-;27733:39;;;;;;;;;;;;;;-1:-1:-1;;;27733:39:97;;;:17;:39::i;:::-;27893:35;;;27926:1;27893:35;;;;;;;;;27803:3;;27838:1;;27782:18;;27893:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;27893:35:97;;;;;;;;;;;;;;;27849:79;;27949:52;;;;;;;;27976:11;27949:52;;;;27989:11;27949:52;;;27938:5;27944:1;27938:8;;;;;;;;:::i;:::-;;;;;;:63;;;;28065:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;28065:6:97;-1:-1:-1;;;;;28065:15:97;;28081:6;28100:5;28089:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;28065:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28117:18;:16;:18::i;:::-;28146:21;28209:3;28170:36;1850:2;28178:11;28170:36;:::i;:::-;:42;;;;:::i;:::-;28265:13;;;;28300:52;;-1:-1:-1;;;28300:52:97;;;;;21692:25:101;;;28346:4:97;21733:18:101;;;21726:83;28146:66:97;;-1:-1:-1;28265:13:97;28291:77;;-1:-1:-1;;;;;28300:24:97;;;;;21665:18:101;;28300:52:97;21510:305:101;28291:77:97;28405:39;;-1:-1:-1;;;28405:39:97;;;;;644:25:101;;;28396:64:97;;-1:-1:-1;;;;;28405:26:97;;;;;617:18:101;;28405:39:97;498:177:101;28396:64:97;28545:23;28582:20;28644:17;28675:22;28725:17;28794:2;-1:-1:-1;;;;;28794:14:97;;28809:1;28794:17;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;28794:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28489:322;;;;;;;;;;;;;;;;;29007:52;;;;;;;;;;;;;;-1:-1:-1;;;29007:52:97;;;29043:15;29007:11;:52::i;:::-;29069:46;;;;;;;;;;;;;;-1:-1:-1;;;29069:46:97;;;29102:12;29069:11;:46::i;:::-;29125:39;;;;;;;;;;;;;;-1:-1:-1;;;29125:39:97;;;29154:9;29125:11;:39::i;:::-;29244:40;;;;;;;;;;;;;;;;;;29274:9;29244:11;:40::i;:::-;29294:50;;;;;;;;;;;;;;-1:-1:-1;;;29294:50:97;;;29329:14;29294:11;:50::i;:::-;29607:25;29646:11;29635:23;;;;;;644:25:101;;632:2;617:18;;498:177;29635:23:97;;;;;;;;;;;;;29607:51;;29669:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;29669:6:97;-1:-1:-1;;;;;29669:17:97;;29687:6;29709:1;29695:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29695:16:97;;29713:12;29669:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27245:2553;;;;;;;;;;;;;;;27192:2606::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1192:22:40;;;160:74:101;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:40;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:101;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1482:26:40;;;160:74:101;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:101;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1765:26:40;;;160:74:101;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:101;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:101;;;342:27:39;;;160:74:101;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;42811:15:101;;;409:201:39;;;42793:34:101;42863:15;;;42843:18;;;42836:43;42915:15;;;42895:18;;;42888:43;554:4:39;42947:18:101;;;42940:34;-1:-1:-1;42990:19:101;;;42983:35;42704:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1094:785:100;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:101;;;632:2;617:18;;498:177;1169:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:100;-1:-1:-1;;;;;1152:41:100;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:100;;;;;43241:74:101;;;;43331:18;;;43324:30;43390:2;43370:18;;;43363:30;43429:16;43409:18;;;43402:44;1203:8:100;;;;43463:19:101;;1203:42:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:100;;;;;-1:-1:-1;;;;;1268:11:100;;-1:-1:-1;1256:589:100;;-1:-1:-1;1256:589:100;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:100;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:100;;-1:-1:-1;;;;;;1384:52:100;;;;;;;-1:-1:-1;;;;;17430:55:101;;;1384:52:100;;;17412:74:101;17522:2;17502:18;;;17495:30;1434:1:100;17541:18:101;;;17534:29;;;17615:18;;;17608:34;17580:19;;1384:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:100;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:100;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:100;;1595:11;;;;-1:-1:-1;;;;;1595:11:100;1578:45;;;43705:74:101;43795:18;;;43788:30;43854:2;43834:18;;;43827:30;43893:13;43873:18;;;43866:41;1578:8:100;;;;43924:19:101;;1578:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:100;;-1:-1:-1;1677:1:100;;-1:-1:-1;1663:16:100;;-1:-1:-1;1663:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:100;-1:-1:-1;1713:14:100;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:100;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:100;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:100;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:100;;;;;-1:-1:-1;;;;;1861:11:100;;1094:785::o;1107:186:47:-;1196:1;1191:6;;:1;:6;;;1187:100;;1218:30;1244:3;1218:30;;;;;;:::i;:::-;;;;;;;;1262:14;1271:1;1274;1262:8;:14::i;357:192:99:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:99;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;610:335;555:396::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;47965:2:101;47947:21;;;48004:2;47984:18;;;47977:30;48043:34;48038:2;48023:18;;48016:62;48114:4;48109:2;48094:18;;48087:32;48151:3;48136:19;;47763:398;5293:41:44;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2635:114:96:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;6548:139:59:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:59;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:59;;;;;6612:15;:68::i;5476:178:44:-;5557:1;5552;:6;5548:100;;5579:30;5605:3;5579:30;;;;;;:::i;:::-;;;;;;;;5623:14;5632:1;5635;5623:8;:14::i;4377:185::-;4464:1;4459;:6;4455:101;;4486:31;4513:3;4486:31;;;;;;:::i;:::-;;;;;;;;4531:14;4540:1;4543;4531:8;:14::i;3030:447:96:-;3091:15;-1:-1:-1;;;3126:2:96;:12;3118:53;;;;-1:-1:-1;;;3118:53:96;;49402:2:101;3118:53:96;;;49384:21:101;49441:2;49421:18;;;49414:30;49480;49460:18;;;49453:58;49528:18;;3118:53:96;;;;;;;;;-1:-1:-1;;;;3193:2:96;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:96;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:96;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;558:39:40;;;160:74:101;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6994:145:59;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:59;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:59;;;;;7061:15;:71::i;789:312:47:-;859:1;854:6;;:1;:6;;;850:245;;881:41;;;;;50743:2:101;50725:21;;;50782:2;50762:18;;;50755:30;50821:34;50816:2;50801:18;;50794:62;50892:4;50887:2;50872:18;;50865:32;50929:3;50914:19;;50541:398;881:41:47;;;;;;;;941:52;972:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:47;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:47;;;;941:52;;;;;;:::i;:::-;;;;;;;;1012;1043:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:47;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:47;;;;1012:52;;;;;;:::i;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;52036:74:101;;;-1:-1:-1;;;52126:18:101;;;52119:34;;;;2712:4:44;52169:18:101;;;52162:34;2489:11:44;;1671:64;2586:43;;52009:18:101;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;181:376:59:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;4095:277:44:-;4163:1;4158;:6;4154:212;;4185:44;;;;;52409:2:101;52391:21;;;52448:2;52428:18;;;52421:30;52487:34;52482:2;52467:18;;52460:62;52558:7;52553:2;52538:18;;52531:35;52598:3;52583:19;;52207:401;4185:44:44;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;2755:269:96:-;2816:15;-1:-1:-1;;;2851:2:96;:13;;2843:66;;;;-1:-1:-1;;;2843:66:96;;53521:2:101;2843:66:96;;;53503:21:101;53560:2;53540:18;;;53533:30;53599:34;53579:18;;;53572:62;53670:10;53650:18;;;53643:38;53698:19;;2843:66:96;53319:404:101;2843:66:96;-1:-1:-1;;;2927:2:96;:12;2919:53;;;;-1:-1:-1;;;2919:53:96;;53930:2:101;2919:53:96;;;53912:21:101;53969:2;53949:18;;;53942:30;54008;53988:18;;;53981:58;54056:18;;2919:53:96;53728:352:101;2919:53:96;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:96:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:101:-;-1:-1:-1;;;;;941:5:101;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:101:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:101;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:101;;1273:484;-1:-1:-1;;;;;1273:484:101:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:101;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:101;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:101:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:101;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:101;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:101;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:101;;;;4211:6;-1:-1:-1;;4240:15:101;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:101;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:101:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:101:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:101;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:101;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:101;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:101;;;;6520:5;-1:-1:-1;;;6548:15:101;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:101;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:101:o;6639:184::-;-1:-1:-1;;;6688:1:101;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:101;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:101:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:101;7514:15;-1:-1:-1;;7510:29:101;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:101;7873:18;;7860:32;;-1:-1:-1;7943:2:101;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:101;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:101;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:101;;8684:803;-1:-1:-1;;;;;;;8684:803:101:o;9762:844::-;9888:6;9896;9904;9912;9920;9973:3;9961:9;9952:7;9948:23;9944:33;9941:53;;;9990:1;9987;9980:12;9941:53;10029:9;10016:23;10048:31;10073:5;10048:31;:::i;:::-;10098:5;-1:-1:-1;10155:2:101;10140:18;;10127:32;10168:33;10127:32;10168:33;:::i;:::-;10220:7;-1:-1:-1;10279:2:101;10264:18;;10251:32;10292:33;10251:32;10292:33;:::i;:::-;10344:7;-1:-1:-1;10403:2:101;10388:18;;10375:32;10416:33;10375:32;10416:33;:::i;:::-;10468:7;-1:-1:-1;10527:3:101;10512:19;;10499:33;10541;10499;10541;:::i;:::-;10593:7;10583:17;;;9762:844;;;;;;;;:::o;10611:383::-;10688:6;10696;10704;10757:2;10745:9;10736:7;10732:23;10728:32;10725:52;;;10773:1;10770;10763:12;10725:52;10812:9;10799:23;10831:31;10856:5;10831:31;:::i;:::-;10881:5;10933:2;10918:18;;10905:32;;-1:-1:-1;10984:2:101;10969:18;;;10956:32;;10611:383;-1:-1:-1;;;10611:383:101:o;10999:252::-;11086:5;11080:12;11075:3;11068:25;11050:3;11139:4;11132:5;11128:16;11122:23;11177:4;11170;11165:3;11161:14;11154:28;11198:47;11239:4;11234:3;11230:14;11216:12;11198:47;:::i;11256:873::-;11457:2;11446:9;11439:21;11502:6;11496:13;11491:2;11480:9;11476:18;11469:41;11420:4;11557;11549:6;11545:17;11539:24;-1:-1:-1;;;;;11678:2:101;11664:12;11660:21;11655:2;11644:9;11640:18;11633:49;11747:2;11741;11733:6;11729:15;11723:22;11719:31;11713:3;11702:9;11698:19;11691:60;;;11800:2;11792:6;11788:15;11782:22;11841:4;11835:3;11824:9;11820:19;11813:33;11869:63;11927:3;11916:9;11912:19;11896:14;11869:63;:::i;:::-;11988:3;11976:16;;11970:23;11963:4;11948:20;;11941:53;12049:3;12037:16;;;12031:23;12025:3;12010:19;;12003:52;-1:-1:-1;;12109:4:101;12094:20;12087:36;11855:77;11256:873::o;12326:388::-;12394:6;12402;12455:2;12443:9;12434:7;12430:23;12426:32;12423:52;;;12471:1;12468;12461:12;12423:52;12510:9;12497:23;12529:31;12554:5;12529:31;:::i;:::-;12579:5;-1:-1:-1;12636:2:101;12621:18;;12608:32;12649:33;12608:32;12649:33;:::i;:::-;12701:7;12691:17;;;12326:388;;;;;:::o;13210:385::-;13296:6;13304;13312;13320;13373:3;13361:9;13352:7;13348:23;13344:33;13341:53;;;13390:1;13387;13380:12;13341:53;-1:-1:-1;;13413:23:101;;;13483:2;13468:18;;13455:32;;-1:-1:-1;13534:2:101;13519:18;;13506:32;;13585:2;13570:18;13557:32;;-1:-1:-1;13210:385:101;-1:-1:-1;13210:385:101:o;14039:184::-;-1:-1:-1;;;14088:1:101;14081:88;14188:4;14185:1;14178:15;14212:4;14209:1;14202:15;14228:274;14268:1;14294;14284:189;;-1:-1:-1;;;14326:1:101;14319:88;14430:4;14427:1;14420:15;14458:4;14455:1;14448:15;14284:189;-1:-1:-1;14487:9:101;;14228:274::o;14809:245::-;14876:6;14929:2;14917:9;14908:7;14904:23;14900:32;14897:52;;;14945:1;14942;14935:12;14897:52;14977:9;14971:16;14996:28;15018:5;14996:28;:::i;15059:437::-;15138:1;15134:12;;;;15181;;;15202:61;;15256:4;15248:6;15244:17;15234:27;;15202:61;15309:2;15301:6;15298:14;15278:18;15275:38;15272:218;;-1:-1:-1;;;15343:1:101;15336:88;15447:4;15444:1;15437:15;15475:4;15472:1;15465:15;15272:218;;15059:437;;;:::o;15501:848::-;15700:2;15689:9;15682:21;15663:4;-1:-1:-1;;;;;15819:2:101;15810:6;15804:13;15800:22;15795:2;15784:9;15780:18;15773:50;15887:2;15881;15873:6;15869:15;15863:22;15859:31;15854:2;15843:9;15839:18;15832:59;15945:2;15937:6;15933:15;15927:22;15922:2;15911:9;15907:18;15900:50;16005:2;15997:6;15993:15;15987:22;15981:3;15970:9;15966:19;15959:51;16065:3;16057:6;16053:16;16047:23;16041:3;16030:9;16026:19;16019:52;16118:3;16110:6;16106:16;16100:23;16160:4;16154:3;16143:9;16139:19;16132:33;16188:61;16244:3;16233:9;16229:19;16215:12;16188:61;:::i;:::-;16174:75;;16316:2;16309:3;16301:6;16297:16;16291:23;16287:32;16280:4;16269:9;16265:20;16258:62;16337:6;16329:14;;;;15501:848;;;;:::o;16354:138::-;16433:13;;16455:31;16433:13;16455:31;:::i;16497:251::-;16567:6;16620:2;16608:9;16599:7;16595:23;16591:32;16588:52;;;16636:1;16633;16626:12;16588:52;16668:9;16662:16;16687:31;16712:5;16687:31;:::i;16753:184::-;16823:6;16876:2;16864:9;16855:7;16851:23;16847:32;16844:52;;;16892:1;16889;16882:12;16844:52;-1:-1:-1;16915:16:101;;16753:184;-1:-1:-1;16753:184:101:o;16942:218::-;17089:2;17078:9;17071:21;17052:4;17109:45;17150:2;17139:9;17135:18;17127:6;17109:45;:::i;18859:184::-;-1:-1:-1;;;18908:1:101;18901:88;19008:4;19005:1;18998:15;19032:4;19029:1;19022:15;19048:1065;19490:4;19519:3;19549:2;19538:9;19531:21;19575:56;19627:2;19616:9;19612:18;19604:6;19575:56;:::i;:::-;19662:2;19647:18;;;19640:34;;;;-1:-1:-1;;;;;19771:15:101;;;19766:2;19751:18;;19744:43;19823:22;;;19818:2;19803:18;;19796:50;-1:-1:-1;19855:17:101;;19941:15;;;19935:3;19920:19;;19913:44;-1:-1:-1;;19994:15:101;;;19988:3;19973:19;;19966:44;20041:3;20026:19;;20019:35;;;;20091:15;;;20085:3;20070:19;;;20063:44;;;;19889:15;;19048:1065;-1:-1:-1;19048:1065:101:o;20118:806::-;20357:2;20409:21;;;20479:13;;20382:18;;;20501:22;;;20328:4;;20357:2;20542;;20560:18;;;;20601:15;;;20328:4;20644:254;20658:6;20655:1;20652:13;20644:254;;;20717:13;;20755:9;;20743:22;;20805:11;;20799:18;20785:12;;;20778:40;20838:12;;;;20873:15;;;;20680:1;20673:9;20644:254;;;-1:-1:-1;20915:3:101;;20118:806;-1:-1:-1;;;;;;;20118:806:101:o;22010:168::-;22083:9;;;22114;;22131:15;;;22125:22;;22111:37;22101:71;;22152:18;;:::i;22183:125::-;22248:9;;;22269:10;;;22266:36;;;22282:18;;:::i;22505:159::-;22596:13;;22638:1;22628:12;;22618:40;;22654:1;22651;22644:12;22669:1237;22876:6;22884;22892;22900;22908;22916;22924;22932;22940;22948;22956:7;22965;23019:3;23007:9;22998:7;22994:23;22990:33;22987:53;;;23036:1;23033;23026:12;22987:53;23068:9;23062:16;23087:31;23112:5;23087:31;:::i;:::-;23187:2;23172:18;;23166:25;23137:5;;-1:-1:-1;23200:33:101;23166:25;23200:33;:::i;:::-;23304:2;23289:18;;23283:25;23252:7;;-1:-1:-1;23317:33:101;23283:25;23317:33;:::i;:::-;23369:7;23359:17;;;23416:2;23405:9;23401:18;23395:25;23385:35;;23460:3;23449:9;23445:19;23439:26;23429:36;;23510:3;23499:9;23495:19;23489:26;23546:1;23537:7;23534:14;23524:42;;23562:1;23559;23552:12;23524:42;23585:7;-1:-1:-1;23611:62:101;23668:3;23653:19;;23611:62;:::i;:::-;23601:72;;23713:3;23702:9;23698:19;23692:26;23682:36;;23758:3;23747:9;23743:19;23737:26;23727:36;;23803:3;23792:9;23788:19;23782:26;23772:36;;23849:3;23838:9;23834:19;23828:26;23817:37;;23895:3;23884:9;23880:19;23874:26;23863:37;;22669:1237;;;;;;;;;;;;;;:::o;24117:184::-;-1:-1:-1;;;24166:1:101;24159:88;24266:4;24263:1;24256:15;24290:4;24287:1;24280:15;24306:140;24387:1;24380:5;24377:12;24367:46;;24393:18;;:::i;:::-;24422;;24306:140::o;24451:1037::-;24858:4;24887:3;-1:-1:-1;;;;;24990:2:101;24982:6;24978:15;24967:9;24960:34;25030:6;25025:2;25014:9;25010:18;25003:34;25073:2;25068;25057:9;25053:18;25046:30;25093:45;25134:2;25123:9;25119:18;25111:6;25093:45;:::i;:::-;25085:53;;25147;25196:2;25185:9;25181:18;25173:6;25147:53;:::i;:::-;25231:3;25216:19;;25209:35;;;;-1:-1:-1;25275:3:101;25260:19;;25253:35;;;;25319:3;25304:19;;25297:35;;;;25369:15;;;25363:3;25348:19;;25341:44;25422:15;;;25416:3;25401:19;;25394:44;25469:3;25454:19;25447:35;;;;24451:1037;;-1:-1:-1;;;;24451:1037:101:o;25493:320::-;25568:5;25597:52;25613:35;25641:6;25613:35;:::i;25597:52::-;25588:61;;25672:6;25665:5;25658:21;25712:3;25703:6;25698:3;25694:16;25691:25;25688:45;;;25729:1;25726;25719:12;25688:45;25742:65;25800:6;25793:4;25786:5;25782:16;25777:3;25742:65;:::i;25818:457::-;25897:6;25950:2;25938:9;25929:7;25925:23;25921:32;25918:52;;;25966:1;25963;25956:12;25918:52;25999:9;25993:16;26032:18;26024:6;26021:30;26018:50;;;26064:1;26061;26054:12;26018:50;26087:22;;26140:4;26132:13;;26128:27;-1:-1:-1;26118:55:101;;26169:1;26166;26159:12;26118:55;26192:77;26261:7;26256:2;26250:9;26245:2;26241;26237:11;26192:77;:::i;26533:395::-;26619:6;26627;26635;26688:2;26676:9;26667:7;26663:23;26659:32;26656:52;;;26704:1;26701;26694:12;26656:52;26736:9;26730:16;26786:4;26779:5;26775:16;26768:5;26765:27;26755:55;;26806:1;26803;26796:12;26755:55;26874:2;26859:18;;26853:25;26918:2;26903:18;;;26897:25;26829:5;;26853:25;;-1:-1:-1;26897:25:101;26533:395;-1:-1:-1;;;26533:395:101:o;27329:1135::-;27762:4;27791:3;-1:-1:-1;;;;;27894:2:101;27886:6;27882:15;27871:9;27864:34;27934:6;27929:2;27918:9;27914:18;27907:34;27977:2;27972;27961:9;27957:18;27950:30;28003:45;28044:2;28033:9;28029:18;28021:6;28003:45;:::i;:::-;27989:59;;28057:53;28106:2;28095:9;28091:18;28083:6;28057:53;:::i;:::-;28147:6;28141:3;28130:9;28126:19;28119:35;28191:6;28185:3;28174:9;28170:19;28163:35;28235:6;28229:3;28218:9;28214:19;28207:35;28291:2;28283:6;28279:15;28273:3;28262:9;28258:19;28251:44;28344:2;28336:6;28332:15;28326:3;28315:9;28311:19;28304:44;;28397:9;28389:6;28385:22;28379:3;28368:9;28364:19;28357:51;28425:33;28451:6;28443;28425:33;:::i;:::-;28417:41;27329:1135;-1:-1:-1;;;;;;;;;;;;;27329:1135:101:o;28469:795::-;28627:4;28669:3;28658:9;28654:19;28646:27;;28706:6;28700:13;28689:9;28682:32;28770:4;28762:6;28758:17;28752:24;28745:4;28734:9;28730:20;28723:54;28824:4;28816:6;28812:17;28806:24;-1:-1:-1;;;;;28947:2:101;28933:12;28929:21;28922:4;28911:9;28907:20;28900:51;29000:4;28992:6;28988:17;28982:24;28960:46;;29044:1;29028:14;29025:21;29015:55;;29050:18;;:::i;:::-;29108:14;29101:4;29090:9;29086:20;29079:44;29179:4;29171:6;29167:17;29161:24;29154:4;29143:9;29139:20;29132:54;29254:2;29246:4;29238:6;29234:17;29228:24;29224:33;29217:4;29206:9;29202:20;29195:63;;;28469:795;;;;:::o;29961:493::-;30214:6;30203:9;30196:25;30257:2;30252;30241:9;30237:18;30230:30;30177:4;30283:56;30335:2;30324:9;30320:18;30312:6;30283:56;:::i;:::-;30387:9;30379:6;30375:22;30370:2;30359:9;30355:18;30348:50;30415:33;30441:6;30433;30415:33;:::i;:::-;30407:41;29961:493;-1:-1:-1;;;;;;29961:493:101:o;30968:887::-;31392:6;31381:9;31374:25;31435:3;31430:2;31419:9;31415:18;31408:31;31355:4;31462:50;31507:3;31496:9;31492:19;30877:2;30865:15;;30912:16;30905:4;30896:14;;30889:40;30954:2;30945:12;;30800:163;31462:50;31560:9;31552:6;31548:22;31543:2;31532:9;31528:18;31521:50;31594:42;31629:6;31621;31594:42;:::i;:::-;31580:56;;-1:-1:-1;;;;;31676:6:101;31672:55;31667:2;31656:9;31652:18;31645:83;31777:9;31769:6;31765:22;31759:3;31748:9;31744:19;31737:51;31805:44;31842:6;31834;31805:44;:::i;:::-;31797:52;30968:887;-1:-1:-1;;;;;;;30968:887:101:o;32866:1834::-;33288:6;33277:9;33270:25;33251:4;33314:2;-1:-1:-1;;;;;33425:2:101;33417:6;33413:15;33408:2;33397:9;33393:18;33386:43;33465:3;33460:2;33449:9;33445:18;33438:31;33492:46;33533:3;33522:9;33518:19;33510:6;33492:46;:::i;:::-;33557:2;33607;33599:6;33595:15;33590:2;33579:9;33575:18;33568:43;33648:6;33642:3;33631:9;33627:19;33620:35;33704:9;33696:6;33692:22;33686:3;33675:9;33671:19;33664:51;33745:6;33739:13;33731:6;33724:29;33772:4;33762:14;;33817:2;33809:6;33805:15;33853:2;33848;33840:6;33836:15;33829:27;33876:1;33909:12;33903:19;33945:36;33971:9;33945:36;:::i;:::-;34014:6;34009:2;34001:6;33997:15;33990:31;34052:2;34041:9;34037:18;34069:1;34064:152;;;;34230:1;34225:354;;;;34030:549;;34064:152;-1:-1:-1;;34109:24:101;;34092:15;;;34085:49;34184:14;;34177:22;34174:1;34170:30;34158:43;;34154:52;;;-1:-1:-1;34064:152:101;;34225:354;34256:12;34253:1;34246:23;34310:2;34307:1;34297:16;34335:1;34349:177;34363:6;34360:1;34357:13;34349:177;;;34453:14;;34432;;;34428:23;;34421:47;34496:16;;;;34378:10;;34349:177;;;34550:14;;34546:23;;;-1:-1:-1;;34030:549:101;;;;34625:9;34620:3;34616:19;34610:3;34599:9;34595:19;34588:48;34653:41;34690:3;34682:6;34653:41;:::i;:::-;34645:49;32866:1834;-1:-1:-1;;;;;;;;;;;;;;;32866:1834:101:o;34705:236::-;34759:5;34812:3;34805:4;34797:6;34793:17;34789:27;34779:55;;34830:1;34827;34820:12;34779:55;34852:83;34931:3;34922:6;34916:13;34909:4;34901:6;34897:17;34852:83;:::i;34946:618::-;35012:5;35060:4;35048:9;35043:3;35039:19;35035:30;35032:50;;;35078:1;35075;35068:12;35032:50;35111:4;35105:11;35155:4;35147:6;35143:17;35179:18;35247:6;35235:10;35232:22;35227:2;35215:10;35212:18;35209:46;35206:72;;;35258:18;;:::i;:::-;35300:10;35294:4;35287:24;35329:6;35320:15;;35365:9;35359:16;35351:6;35344:32;35420:2;35409:9;35405:18;35399:25;35385:39;;35447:2;35439:6;35436:14;35433:34;;;35463:1;35460;35453:12;35433:34;;35500:57;35553:3;35544:6;35533:9;35529:22;35500:57;:::i;:::-;35495:2;35487:6;35483:15;35476:82;;;34946:618;;;;:::o;35569:1028::-;35661:6;35714:2;35702:9;35693:7;35689:23;35685:32;35682:52;;;35730:1;35727;35720:12;35682:52;35763:9;35757:16;35792:18;35833:2;35825:6;35822:14;35819:34;;;35849:1;35846;35839:12;35819:34;35872:22;;;;35928:4;35910:16;;;35906:27;35903:47;;;35946:1;35943;35936:12;35903:47;35972:22;;:::i;:::-;36023:2;36017:9;36010:5;36003:24;36065:2;36061;36057:11;36051:18;36078:33;36103:7;36078:33;:::i;:::-;36138:2;36127:14;;36120:31;36189:2;36181:11;;36175:18;36202:33;36175:18;36202:33;:::i;:::-;36262:2;36251:14;;36244:31;36314:2;36306:11;;36300:18;36330:16;;;36327:36;;;36359:1;36356;36349:12;36327:36;36395:65;36452:7;36441:8;36437:2;36433:17;36395:65;:::i;:::-;36390:2;36383:5;36379:14;36372:89;;36508:3;36504:2;36500:12;36494:19;36488:3;36481:5;36477:15;36470:44;36561:3;36557:2;36553:12;36547:19;36541:3;36534:5;36530:15;36523:44;36586:5;36576:15;;;;;35569:1028;;;;:::o;37157:430::-;-1:-1:-1;;;;;;37346:6:101;37342:79;37337:3;37330:92;37312:3;37451:6;37445:13;37467:74;37534:6;37530:1;37525:3;37521:11;37514:4;37506:6;37502:17;37467:74;:::i;:::-;37561:16;;;;37579:1;37557:24;;37157:430;-1:-1:-1;;;37157:430:101:o;37592:287::-;37721:3;37759:6;37753:13;37775:66;37834:6;37829:3;37822:4;37814:6;37810:17;37775:66;:::i;:::-;37857:16;;;;;37592:287;-1:-1:-1;;37592:287:101:o;38534:128::-;38601:9;;;38622:11;;;38619:37;;;38636:18;;:::i;39559:1059::-;39654:6;39707:2;39695:9;39686:7;39682:23;39678:32;39675:52;;;39723:1;39720;39713:12;39675:52;39756:9;39750:16;39785:18;39826:2;39818:6;39815:14;39812:34;;;39842:1;39839;39832:12;39812:34;39865:22;;;;39921:4;39903:16;;;39899:27;39896:47;;;39939:1;39936;39929:12;39896:47;39965:22;;:::i;:::-;40016:2;40010:9;40003:5;39996:24;40066:2;40062;40058:11;40052:18;40047:2;40040:5;40036:14;40029:42;40110:2;40106;40102:11;40096:18;40139:2;40129:8;40126:16;40123:36;;;40155:1;40152;40145:12;40123:36;40191:56;40239:7;40228:8;40224:2;40220:17;40191:56;:::i;:::-;40186:2;40179:5;40175:14;40168:80;;40287:2;40283;40279:11;40273:18;40316:2;40306:8;40303:16;40300:36;;;40332:1;40329;40322:12;40300:36;40368:65;40425:7;40414:8;40410:2;40406:17;40368:65;:::i;:::-;40363:2;40356:5;40352:14;40345:89;;40467:43;40505:3;40501:2;40497:12;40467:43;:::i;:::-;40461:3;40454:5;40450:15;40443:68;40544:43;40582:3;40578:2;40574:12;40544:43;:::i;:::-;40538:3;40527:15;;40520:68;40531:5;39559:1059;-1:-1:-1;;;;;39559:1059:101:o;40623:896::-;41047:6;41036:9;41029:25;41090:3;41085:2;41074:9;41070:18;41063:31;41131:1;41125:3;41114:9;41110:19;41103:30;41170:11;41164:3;41153:9;41149:19;41142:40;41218:3;41213:2;41202:9;41198:18;41191:31;41010:4;41245:55;41295:3;41284:9;41280:19;41272:6;41245:55;:::i;:::-;-1:-1:-1;;;;;41340:6:101;41336:55;41331:2;41320:9;41316:18;41309:83;41441:9;41433:6;41429:22;41423:3;41412:9;41408:19;41401:51;41469:44;41506:6;41498;41469:44;:::i;41524:896::-;41948:6;41937:9;41930:25;41991:3;41986:2;41975:9;41971:18;41964:31;42032:1;42026:3;42015:9;42011:19;42004:30;42071:11;42065:3;42054:9;42050:19;42043:40;42119:3;42114:2;42103:9;42099:18;42092:31;41911:4;42146:55;42196:3;42185:9;42181:19;42173:6;42146:55;:::i;43954:446::-;44204:2;44193:9;44186:21;44243:1;44238:2;44227:9;44223:18;44216:29;44281:7;44276:2;44265:9;44261:18;44254:35;44327:3;44320:4;44309:9;44305:20;44298:33;44167:4;44348:46;44389:3;44378:9;44374:19;44366:6;44348:46;:::i;44405:545::-;44507:2;44502:3;44499:11;44496:448;;;44543:1;44568:5;44564:2;44557:17;44613:4;44609:2;44599:19;44683:2;44671:10;44667:19;44664:1;44660:27;44654:4;44650:38;44719:4;44707:10;44704:20;44701:47;;;-1:-1:-1;44742:4:101;44701:47;44797:2;44792:3;44788:12;44785:1;44781:20;44775:4;44771:31;44761:41;;44852:82;44870:2;44863:5;44860:13;44852:82;;;44915:17;;;44896:1;44885:13;44852:82;;45126:1352;45252:3;45246:10;45279:18;45271:6;45268:30;45265:56;;;45301:18;;:::i;:::-;45330:97;45420:6;45380:38;45412:4;45406:11;45380:38;:::i;:::-;45374:4;45330:97;:::i;:::-;45482:4;;45546:2;45535:14;;45563:1;45558:663;;;;46265:1;46282:6;46279:89;;;-1:-1:-1;46334:19:101;;;46328:26;46279:89;-1:-1:-1;;45083:1:101;45079:11;;;45075:24;45071:29;45061:40;45107:1;45103:11;;;45058:57;46381:81;;45528:944;;45558:663;32813:1;32806:14;;;32850:4;32837:18;;-1:-1:-1;;45594:20:101;;;45712:236;45726:7;45723:1;45720:14;45712:236;;;45815:19;;;45809:26;45794:42;;45907:27;;;;45875:1;45863:14;;;;45742:19;;45712:236;;;45716:3;45976:6;45967:7;45964:19;45961:201;;;46037:19;;;46031:26;-1:-1:-1;;46120:1:101;46116:14;;;46132:3;46112:24;46108:37;46104:42;46089:58;46074:74;;45961:201;-1:-1:-1;;;;;46208:1:101;46192:14;;;46188:22;46175:36;;-1:-1:-1;45126:1352:101:o;46483:979::-;46712:3;46741:1;46774:6;46768:13;46804:36;46830:9;46804:36;:::i;:::-;46859:1;46876:18;;;46903:133;;;;47050:1;47045:356;;;;46869:532;;46903:133;-1:-1:-1;;46936:24:101;;46924:37;;47009:14;;47002:22;46990:35;;46981:45;;;-1:-1:-1;46903:133:101;;47045:356;47076:6;47073:1;47066:17;47106:4;47151:2;47148:1;47138:16;47176:1;47190:165;47204:6;47201:1;47198:13;47190:165;;;47282:14;;47269:11;;;47262:35;47325:16;;;;47219:10;;47190:165;;;47194:3;;;47384:6;47379:3;47375:16;47368:23;;46869:532;-1:-1:-1;;47422:6:101;47410:19;;-1:-1:-1;;47454:1:101;47445:11;;46483:979;-1:-1:-1;;;46483:979:101:o;47467:291::-;47644:2;47633:9;47626:21;47607:4;47664:45;47705:2;47694:9;47690:18;47682:6;47664:45;:::i;:::-;47656:53;;47745:6;47740:2;47729:9;47725:18;47718:34;47467:291;;;;;:::o;48330:348::-;48560:2;48549:9;48542:21;48523:4;48580:49;48625:2;48614:9;48610:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:101;48262:14;;48255:36;48316:2;48307:12;;48166:159;48580:49;48572:57;;48665:6;48660:2;48649:9;48645:18;48638:34;48330:348;;;;:::o;48847:::-;49077:2;49066:9;49059:21;49040:4;49097:49;49142:2;49131:9;49127:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:101;48779:14;;48772:36;48833:2;48824:12;;48683:159;49851:340;-1:-1:-1;;;;;50032:6:101;50028:55;50017:9;50010:74;50120:2;50115;50104:9;50100:18;50093:30;49991:4;50140:45;50181:2;50170:9;50166:18;50158:6;50140:45;:::i;50196:340::-;50373:2;50362:9;50355:21;50336:4;50393:45;50434:2;50423:9;50419:18;50411:6;50393:45;:::i;:::-;50385:53;;-1:-1:-1;;;;;50478:6:101;50474:55;50469:2;50458:9;50454:18;50447:83;50196:340;;;;;:::o;50944:440::-;51194:2;51183:9;51176:21;51157:4;51220:49;51265:2;51254:9;51250:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:101;48262:14;;48255:36;48316:2;48307:12;;48166:159;51220:49;51317:9;51309:6;51305:22;51300:2;51289:9;51285:18;51278:50;51345:33;51371:6;51363;51345:33;:::i;51389:440::-;51639:2;51628:9;51621:21;51602:4;51665:49;51710:2;51699:9;51695:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:101;48779:14;;48772:36;48833:2;48824:12;;48683:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","POOL_AMOUNT()":"beda3db3","REQUESTED_AMOUNT()":"879ee88c","TOTAL_SUPPLY()":"902d55a5","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","_createProposal(address,uint256,uint256)":"b188bdc4","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","disabled_test_threshold_check_as_js_test()":"a6f2b82f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getBalance(address,address)":"d4fac45d","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testRevert_allocate_ProposalIdDuplicated()":"2da49647","testRevert_allocate_UserNotInRegistry()":"bc1687c0","testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW()":"d97d0578","testRevert_registerRecipient_ProposalIdAlreadyExist()":"9a45ff89","test_1_proposalSupported()":"757e122d","test_activate_points()":"136994c0","test_allocate_proposalSupport_empty_array()":"39b7e525","test_conviction_check_as_js_test()":"90ff95a4","test_conviction_check_function()":"de8a1354","test_deactivate_points()":"0ef639f6","test_distribute_native_token()":"8cf86e50","test_distribute_signaling_proposal()":"eaeb7195","test_proposalSupported_change_support()":"d25bba07","test_proposalSupported_conviction_threshold_2_users()":"503c712e","test_total_staked_amount()":"61164d4e","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTED_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"poolAmount\",\"type\":\"uint256\"}],\"name\":\"_createProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"pool\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled_test_threshold_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_ProposalIdDuplicated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_UserNotInRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_registerRecipient_ProposalIdAlreadyExist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_1_proposalSupported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_activate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_allocate_proposalSupport_empty_array\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_function\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_deactivate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_native_token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_signaling_proposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_change_support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_conviction_threshold_2_users\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_total_staked_amount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"_createProposal(address,uint256,uint256)\":{\"notice\":\"HELPERS FUNCTIONS\"},\"testRevert_allocate_ProposalIdDuplicated()\":{\"notice\":\"TESTS\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyTest.t.sol\":\"CVStrategyTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/CVStrategyTest.t.sol\":{\"keccak256\":\"0x1ef4c79f3e868f30f5dab415e11cb91a4cbe1063c94f85b181a2f143cd2ab76e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://9361a5ca3d979907d3d0ed5a225a5e4885cd3801a69b1fbff75d77b1d0bfb7f8\",\"dweb:/ipfs/QmX4TiDmKvzMAEwi1zM5vmhYNDkzCXBa3p13XP3CTqXHou\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUESTED_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_tokenPool","type":"address"},{"internalType":"uint256","name":"requestAmount","type":"uint256"},{"internalType":"uint256","name":"poolAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"_createProposal","outputs":[{"internalType":"struct IAllo.Pool","name":"pool","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]},{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disabled_test_threshold_check_as_js_test"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_ProposalIdDuplicated"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_UserNotInRegistry"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_1_proposalSupported"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_activate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_allocate_proposalSupport_empty_array"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_as_js_test"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_function"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_deactivate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_native_token"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_signaling_proposal"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_change_support"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_conviction_threshold_2_users"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_total_staked_amount"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"_createProposal(address,uint256,uint256)":{"notice":"HELPERS FUNCTIONS"},"testRevert_allocate_ProposalIdDuplicated()":{"notice":"TESTS"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyTest.t.sol":"CVStrategyTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/CVStrategyTest.t.sol":{"keccak256":"0x1ef4c79f3e868f30f5dab415e11cb91a4cbe1063c94f85b181a2f143cd2ab76e","urls":["bzz-raw://9361a5ca3d979907d3d0ed5a225a5e4885cd3801a69b1fbff75d77b1d0bfb7f8","dweb:/ipfs/QmX4TiDmKvzMAEwi1zM5vmhYNDkzCXBa3p13XP3CTqXHou"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyTest.t.sol","id":65392,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[61025],"CVStrategyHelpers":[62207],"CVStrategyTest":[65391],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[65820],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"RegistrySetupFull":[9534],"SafeSetup":[66201],"StdAssertions":[14047],"StdChains":[14811],"StdCheats":[17664],"StdInvariant":[17989],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"Test":[22442],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24293],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdError":[17730],"stdJson":[18581],"stdMath":[18723],"stdStorage":[20394]},"nodeType":"SourceUnit","src":"39:30910:97","nodes":[{"id":62209,"nodeType":"PragmaDirective","src":"39:24:97","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":62210,"nodeType":"ImportDirective","src":"65:28:97","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":22443,"symbolAliases":[],"unitAlias":""},{"id":62211,"nodeType":"ImportDirective","src":"94:31:97","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":32358,"symbolAliases":[],"unitAlias":""},{"id":62212,"nodeType":"ImportDirective","src":"126:56:97","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":62214,"nodeType":"ImportDirective","src":"184:66:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":62213,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"192:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62216,"nodeType":"ImportDirective","src":"251:74:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":62215,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"259:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62218,"nodeType":"ImportDirective","src":"344:53:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":62217,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"352:4:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62220,"nodeType":"ImportDirective","src":"398:61:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":62219,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"406:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62222,"nodeType":"ImportDirective","src":"482:67:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":62221,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"490:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62224,"nodeType":"ImportDirective","src":"550:71:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":62223,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"558:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62226,"nodeType":"ImportDirective","src":"622:67:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":62225,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"630:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62228,"nodeType":"ImportDirective","src":"708:68:97","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":62227,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"716:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62230,"nodeType":"ImportDirective","src":"777:80:97","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":62229,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"785:17:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62232,"nodeType":"ImportDirective","src":"858:65:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":62231,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"866:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62234,"nodeType":"ImportDirective","src":"924:65:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":62233,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"932:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62236,"nodeType":"ImportDirective","src":"990:59:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":62235,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"998:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62238,"nodeType":"ImportDirective","src":"1051:49:97","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":61026,"symbolAliases":[{"foreign":{"id":62237,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"1059:10:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62240,"nodeType":"ImportDirective","src":"1101:59:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":61841,"symbolAliases":[{"foreign":{"id":62239,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"1109:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62242,"nodeType":"ImportDirective","src":"1161:59:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":62241,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"1169:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62244,"nodeType":"ImportDirective","src":"1222:53:97","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":65821,"symbolAliases":[{"foreign":{"id":62243,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65820,"src":"1230:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62246,"nodeType":"ImportDirective","src":"1276:49:97","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":66202,"symbolAliases":[{"foreign":{"id":62245,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66201,"src":"1284:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62248,"nodeType":"ImportDirective","src":"1326:58:97","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":65392,"sourceUnit":62208,"symbolAliases":[{"foreign":{"id":62247,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62207,"src":"1334:17:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65391,"nodeType":"ContractDefinition","src":"1525:29423:97","nodes":[{"id":62265,"nodeType":"VariableDeclaration","src":"1644:22:97","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1661:5:97","scope":65391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":62264,"nodeType":"UserDefinedTypeName","pathNode":{"id":62263,"name":"MockERC20","nameLocations":["1644:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1644:9:97"},"referencedDeclaration":9751,"src":"1644:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":62268,"nodeType":"VariableDeclaration","src":"1672:33:97","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1687:10:97","scope":65391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62266,"name":"uint256","nodeType":"ElementaryTypeName","src":"1672:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":62267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":62271,"nodeType":"VariableDeclaration","src":"1711:44:97","nodes":[],"constant":true,"functionSelector":"902d55a5","mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1735:12:97","scope":65391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62269,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3435303030","id":62270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1750:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"visibility":"public"},{"id":62274,"nodeType":"VariableDeclaration","src":"1761:43:97","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1785:11:97","scope":65391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62272,"name":"uint256","nodeType":"ElementaryTypeName","src":"1761:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":62273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":62277,"nodeType":"VariableDeclaration","src":"1810:42:97","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1834:13:97","scope":65391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62275,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":62276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1850:2:97","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":62280,"nodeType":"VariableDeclaration","src":"1858:47:97","nodes":[],"constant":true,"functionSelector":"879ee88c","mutability":"constant","name":"REQUESTED_AMOUNT","nameLocation":"1882:16:97","scope":65391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62278,"name":"uint256","nodeType":"ElementaryTypeName","src":"1858:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":62279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1901:4:97","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":62283,"nodeType":"VariableDeclaration","src":"1912:40:97","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1937:15:97","scope":65391,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":62282,"nodeType":"UserDefinedTypeName","pathNode":{"id":62281,"name":"RegistryGardens","nameLocations":["1912:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"1912:15:97"},"referencedDeclaration":61840,"src":"1912:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":62466,"nodeType":"FunctionDefinition","src":"1959:1152:97","nodes":[],"body":{"id":62465,"nodeType":"Block","src":"1983:1128:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62286,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1993:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62288,"nodeType":"ExpressionStatement","src":"1993:21:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62292,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"2044:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":62291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2036:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62290,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:97","typeDescriptions":{}}},"id":62294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2036:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62289,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"2024:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":62295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2024:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62296,"nodeType":"ExpressionStatement","src":"2024:32:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62300,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2081:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2081:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62297,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2067:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2070:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2067:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2067:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62303,"nodeType":"ExpressionStatement","src":"2067:27:97"},{"expression":{"arguments":[{"hexValue":"30","id":62307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62304,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2104:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2111:13:97","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2104:20:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62309,"nodeType":"ExpressionStatement","src":"2104:23:97"},{"expression":{"arguments":[{"hexValue":"30","id":62313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62310,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2137:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:16:97","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2137:23:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62315,"nodeType":"ExpressionStatement","src":"2137:26:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62316,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2173:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2173:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62320,"nodeType":"ExpressionStatement","src":"2173:14:97"},{"expression":{"id":62326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62321,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"2198:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":62324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2206:13:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":62323,"nodeType":"UserDefinedTypeName","pathNode":{"id":62322,"name":"MockERC20","nameLocations":["2210:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2210:9:97"},"referencedDeclaration":9751,"src":"2210:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":62325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2206:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2198:23:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62327,"nodeType":"ExpressionStatement","src":"2198:23:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62331,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2242:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":62332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:7:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":62333,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62271,"src":"2251:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":62334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2251:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62328,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"2231:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2231:10:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62337,"nodeType":"ExpressionStatement","src":"2231:37:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62341,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2289:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":62343,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62271,"src":"2303:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":62344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2318:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2303:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62338,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"2278:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2278:10:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62347,"nodeType":"ExpressionStatement","src":"2278:42:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62353,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2352:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2344:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62351,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:97","typeDescriptions":{}}},"id":62355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62356,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62268,"src":"2361:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62348,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"2330:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2336:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2330:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2330:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62358,"nodeType":"ExpressionStatement","src":"2330:42:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62362,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2397:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2397:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62359,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2383:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2386:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2383:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2383:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62365,"nodeType":"ExpressionStatement","src":"2383:27:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62369,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2445:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":62370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:7:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62366,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2420:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2427:17:97","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2420:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":62371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62372,"nodeType":"ExpressionStatement","src":"2420:33:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62373,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2463:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2463:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2463:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62377,"nodeType":"ExpressionStatement","src":"2463:14:97"},{"assignments":[62380],"declarations":[{"constant":false,"id":62380,"mutability":"mutable","name":"registryFactory","nameLocation":"2556:15:97","nodeType":"VariableDeclaration","scope":62465,"src":"2540:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":62379,"nodeType":"UserDefinedTypeName","pathNode":{"id":62378,"name":"RegistryFactory","nameLocations":["2540:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2540:15:97"},"referencedDeclaration":61072,"src":"2540:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":62385,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":62383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2574:19:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":62382,"nodeType":"UserDefinedTypeName","pathNode":{"id":62381,"name":"RegistryFactory","nameLocations":["2578:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2578:15:97"},"referencedDeclaration":61072,"src":"2578:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":62384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2574:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2540:55:97"},{"assignments":[62390],"declarations":[{"constant":false,"id":62390,"mutability":"mutable","name":"params","nameLocation":"2645:6:97","nodeType":"VariableDeclaration","scope":62465,"src":"2605:46:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":62389,"nodeType":"UserDefinedTypeName","pathNode":{"id":62388,"name":"RegistryGardens.InitializeParams","nameLocations":["2605:15:97","2621:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"2605:32:97"},"referencedDeclaration":61245,"src":"2605:32:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":62391,"nodeType":"VariableDeclarationStatement","src":"2605:46:97"},{"expression":{"id":62400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62392,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62390,"src":"2661:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2668:5:97","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"2661:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62397,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2684:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2684:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2676:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62395,"name":"address","nodeType":"ElementaryTypeName","src":"2676:7:97","typeDescriptions":{}}},"id":62399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2676:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2661:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62401,"nodeType":"ExpressionStatement","src":"2661:30:97"},{"expression":{"id":62411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62402,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62390,"src":"2701:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2708:12:97","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"2701:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62408,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"2738:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":62407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2730:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62406,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:97","typeDescriptions":{}}},"id":62409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62405,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2723:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":62410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2723:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2701:44:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":62412,"nodeType":"ExpressionStatement","src":"2701:44:97"},{"expression":{"id":62417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62413,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62390,"src":"2755:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:19:97","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"2755:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62416,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"2784:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2755:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62418,"nodeType":"ExpressionStatement","src":"2755:42:97"},{"expression":{"id":62423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62419,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62390,"src":"2807:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2814:12:97","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"2807:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":62422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2829:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2807:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62424,"nodeType":"ExpressionStatement","src":"2807:23:97"},{"expression":{"id":62429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62425,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62390,"src":"2840:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2847:9:97","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"2840:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62428,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61865,"src":"2859:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2840:27:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":62430,"nodeType":"ExpressionStatement","src":"2840:27:97"},{"expression":{"id":62442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62431,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62390,"src":"2877:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2884:12:97","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"2877:19:97","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62438,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66102,"src":"2915:12:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":62439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":62437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2907:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62436,"name":"address","nodeType":"ElementaryTypeName","src":"2907:7:97","typeDescriptions":{}}},"id":62440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2907:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2899:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62434,"name":"address","nodeType":"ElementaryTypeName","src":"2899:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":62441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2877:54:97","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":62443,"nodeType":"ExpressionStatement","src":"2877:54:97"},{"expression":{"id":62451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62444,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"2941:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62448,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62390,"src":"3006:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":62446,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62380,"src":"2975:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":62447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:14:97","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"2975:30:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":62449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2975:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62445,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"2959:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":62450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2959:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"src":"2941:73:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":62452,"nodeType":"ExpressionStatement","src":"2941:73:97"},{"expression":{"arguments":[{"arguments":[{"id":62458,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"3047:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":62457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3039:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62456,"name":"address","nodeType":"ElementaryTypeName","src":"3039:7:97","typeDescriptions":{}}},"id":62459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3039:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62460,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"3065:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":62461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61757,"src":"3065:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62453,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"3025:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3031:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3025:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62464,"nodeType":"ExpressionStatement","src":"3025:79:97"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1968:5:97","parameters":{"id":62284,"nodeType":"ParameterList","parameters":[],"src":"1973:2:97"},"returnParameters":{"id":62285,"nodeType":"ParameterList","parameters":[],"src":"1983:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62475,"nodeType":"FunctionDefinition","src":"3117:107:97","nodes":[],"body":{"id":62474,"nodeType":"Block","src":"3185:39:97","nodes":[],"statements":[{"expression":{"id":62472,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"3202:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"functionReturnParameters":62471,"id":62473,"nodeType":"Return","src":"3195:22:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3126:16:97","parameters":{"id":62467,"nodeType":"ParameterList","parameters":[],"src":"3142:2:97"},"returnParameters":{"id":62471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62475,"src":"3168:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":62469,"nodeType":"UserDefinedTypeName","pathNode":{"id":62468,"name":"RegistryGardens","nameLocations":["3168:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"3168:15:97"},"referencedDeclaration":61840,"src":"3168:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3167:17:97"},"scope":65391,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":62699,"nodeType":"FunctionDefinition","src":"3273:1814:97","nodes":[],"body":{"id":62698,"nodeType":"Block","src":"3437:1650:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62490,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62480,"src":"3451:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3468:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3451:18:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62498,"nodeType":"IfStatement","src":"3447:81:97","trueBody":{"id":62497,"nodeType":"Block","src":"3471:57:97","statements":[{"expression":{"id":62495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62493,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62480,"src":"3485:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62494,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62280,"src":"3501:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3485:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62496,"nodeType":"ExpressionStatement","src":"3485:32:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62499,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"3542:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3556:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3542:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62507,"nodeType":"IfStatement","src":"3538:70:97","trueBody":{"id":62506,"nodeType":"Block","src":"3559:49:97","statements":[{"expression":{"id":62504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62502,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"3573:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62503,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62274,"src":"3586:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62505,"nodeType":"ExpressionStatement","src":"3573:24:97"}]}},{"assignments":[62509],"declarations":[{"constant":false,"id":62509,"mutability":"mutable","name":"useTokenPool","nameLocation":"3625:12:97","nodeType":"VariableDeclaration","scope":62698,"src":"3617:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62508,"name":"address","nodeType":"ElementaryTypeName","src":"3617:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62511,"initialValue":{"id":62510,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3640:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3617:29:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62512,"name":"_tokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62478,"src":"3660:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":62515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3682:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3674:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62513,"name":"address","nodeType":"ElementaryTypeName","src":"3674:7:97","typeDescriptions":{}}},"id":62516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3660:24:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62526,"nodeType":"IfStatement","src":"3656:84:97","trueBody":{"id":62525,"nodeType":"Block","src":"3686:54:97","statements":[{"expression":{"id":62523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62518,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62509,"src":"3700:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62521,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"3723:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":62520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3715:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62519,"name":"address","nodeType":"ElementaryTypeName","src":"3715:7:97","typeDescriptions":{}}},"id":62522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3700:29:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62524,"nodeType":"ExpressionStatement","src":"3700:29:97"}]}},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":62528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3768:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":62527,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"3750:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62530,"nodeType":"ExpressionStatement","src":"3750:35:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62534,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"3873:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62531,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3862:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"3859:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62537,"nodeType":"ExpressionStatement","src":"3859:27:97"},{"assignments":[62540],"declarations":[{"constant":false,"id":62540,"mutability":"mutable","name":"strategy","nameLocation":"3908:8:97","nodeType":"VariableDeclaration","scope":62698,"src":"3897:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":62539,"nodeType":"UserDefinedTypeName","pathNode":{"id":62538,"name":"CVStrategy","nameLocations":["3897:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"3897:10:97"},"referencedDeclaration":61025,"src":"3897:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62550,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62546,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3942:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3942:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3934:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62544,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:97","typeDescriptions":{}}},"id":62548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3919:14:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":62542,"nodeType":"UserDefinedTypeName","pathNode":{"id":62541,"name":"CVStrategy","nameLocations":["3923:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"3923:10:97"},"referencedDeclaration":61025,"src":"3923:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":62549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3919:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"3897:53:97"},{"expression":{"id":62571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62551,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62488,"src":"3961:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62553,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3981:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3981:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":62557,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62540,"src":"3997:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":62556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3989:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62555,"name":"address","nodeType":"ElementaryTypeName","src":"3989:7:97","typeDescriptions":{}}},"id":62558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62561,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62475,"src":"4016:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$61840_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":62562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4016:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":62560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4008:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62559,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:97","typeDescriptions":{}}},"id":62563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62564,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4037:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},{"arguments":[{"id":62568,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62509,"src":"4057:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62566,"name":"address","nodeType":"ElementaryTypeName","src":"4049:7:97","typeDescriptions":{}}},"id":62569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4049:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":62552,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62038,"src":"3970:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":62570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3970:101:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3961:110:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62572,"nodeType":"ExpressionStatement","src":"3961:110:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62573,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4082:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4085:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"4082:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4082:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62577,"nodeType":"ExpressionStatement","src":"4082:14:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62578,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62540,"src":"4107:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":62580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4116:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"4107:23:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62582,"nodeType":"ExpressionStatement","src":"4107:25:97"},{"expression":{"id":62589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62486,"src":"4143:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62587,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62488,"src":"4165:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62584,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4150:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4157:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":1389,"src":"4150:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":62588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"4143:29:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62590,"nodeType":"ExpressionStatement","src":"4143:29:97"},{"expression":{"arguments":[{"arguments":[{"id":62596,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4199:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":62595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4191:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62594,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:97","typeDescriptions":{}}},"id":62597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62598,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"4206:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62591,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4183:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4186:4:97","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":23866,"src":"4183:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62600,"nodeType":"ExpressionStatement","src":"4183:34:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62601,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62509,"src":"4231:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":62602,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4247:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4231:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62644,"nodeType":"Block","src":"4340:203:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":62620,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4391:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":62619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4383:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62618,"name":"address","nodeType":"ElementaryTypeName","src":"4383:7:97","typeDescriptions":{}}},"id":62621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62622,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"4398:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":62615,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62509,"src":"4364:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62614,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4354:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":62616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4378:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"4354:28:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62624,"nodeType":"ExpressionStatement","src":"4354:55:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62631,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4463:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4463:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4455:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62629,"name":"address","nodeType":"ElementaryTypeName","src":"4455:7:97","typeDescriptions":{}}},"id":62633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4455:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62634,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"4472:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":62626,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62509,"src":"4433:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62625,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4423:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":62627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4447:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4423:31:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62636,"nodeType":"ExpressionStatement","src":"4423:60:97"},{"expression":{"arguments":[{"id":62640,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62488,"src":"4513:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62641,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"4521:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62637,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4497:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:8:97","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4497:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":62642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62643,"nodeType":"ExpressionStatement","src":"4497:35:97"}]},"id":62645,"nodeType":"IfStatement","src":"4227:316:97","trueBody":{"id":62613,"nodeType":"Block","src":"4255:79:97","statements":[{"expression":{"arguments":[{"id":62609,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62488,"src":"4304:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62610,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"4312:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62604,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4269:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4276:8:97","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4269:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":62608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":62607,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62482,"src":"4292:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4269:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":62611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62612,"nodeType":"ExpressionStatement","src":"4269:54:97"}]}},{"expression":{"arguments":[{"expression":{"id":62647,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62486,"src":"4562:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4567:9:97","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"4562:14:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62650,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4594:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":62649,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61917,"src":"4578:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":62652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"706f6f6c50726f66696c654944","id":62653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4607:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""},"value":"poolProfileID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""}],"id":62646,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10624,"src":"4553:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":62654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:70:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62655,"nodeType":"ExpressionStatement","src":"4553:70:97"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":62657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4738:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":62656,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"4720:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62659,"nodeType":"ExpressionStatement","src":"4720:35:97"},{"assignments":[62664],"declarations":[{"constant":false,"id":62664,"mutability":"mutable","name":"proposal","nameLocation":"4799:8:97","nodeType":"VariableDeclaration","scope":62698,"src":"4766:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":62663,"nodeType":"UserDefinedTypeName","pathNode":{"id":62662,"name":"CVStrategy.CreateProposal","nameLocations":["4766:10:97","4777:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4766:25:97"},"referencedDeclaration":59158,"src":"4766:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":62680,"initialValue":{"arguments":[{"hexValue":"31","id":62667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4849:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62668,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62488,"src":"4852:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62669,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"4860:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":62671,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4874:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4885:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4874:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":62673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4898:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4874:31:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"id":62674,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62480,"src":"4907:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":62677,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62509,"src":"4930:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4922:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62675,"name":"address","nodeType":"ElementaryTypeName","src":"4922:7:97","typeDescriptions":{}}},"id":62678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62665,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4810:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4810:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":62679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:143:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4766:187:97"},{"assignments":[62682],"declarations":[{"constant":false,"id":62682,"mutability":"mutable","name":"data","nameLocation":"4976:4:97","nodeType":"VariableDeclaration","scope":62698,"src":"4963:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62681,"name":"bytes","nodeType":"ElementaryTypeName","src":"4963:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62687,"initialValue":{"arguments":[{"id":62685,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62664,"src":"4994:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":62683,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4983:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4987:6:97","memberName":"encode","nodeType":"MemberAccess","src":"4983:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4983:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4963:40:97"},{"expression":{"arguments":[{"id":62691,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62488,"src":"5038:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62692,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62682,"src":"5046:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62688,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"5013:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5020:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5013:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":62693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62694,"nodeType":"ExpressionStatement","src":"5013:38:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62695,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"5062:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5062:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62697,"nodeType":"ExpressionStatement","src":"5062:18:97"}]},"documentation":{"id":62476,"nodeType":"StructuredDocumentation","src":"3230:38:97","text":" HELPERS FUNCTIONS"},"functionSelector":"b188bdc4","implemented":true,"kind":"function","modifiers":[],"name":"_createProposal","nameLocation":"3282:15:97","parameters":{"id":62483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62478,"mutability":"mutable","name":"_tokenPool","nameLocation":"3306:10:97","nodeType":"VariableDeclaration","scope":62699,"src":"3298:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62477,"name":"address","nodeType":"ElementaryTypeName","src":"3298:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62480,"mutability":"mutable","name":"requestAmount","nameLocation":"3326:13:97","nodeType":"VariableDeclaration","scope":62699,"src":"3318:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62479,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62482,"mutability":"mutable","name":"poolAmount","nameLocation":"3349:10:97","nodeType":"VariableDeclaration","scope":62699,"src":"3341:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62481,"name":"uint256","nodeType":"ElementaryTypeName","src":"3341:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3297:63:97"},"returnParameters":{"id":62489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62486,"mutability":"mutable","name":"pool","nameLocation":"3411:4:97","nodeType":"VariableDeclaration","scope":62699,"src":"3393:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62485,"nodeType":"UserDefinedTypeName","pathNode":{"id":62484,"name":"IAllo.Pool","nameLocations":["3393:5:97","3399:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"3393:10:97"},"referencedDeclaration":2319,"src":"3393:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62488,"mutability":"mutable","name":"poolId","nameLocation":"3425:6:97","nodeType":"VariableDeclaration","scope":62699,"src":"3417:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62487,"name":"uint256","nodeType":"ElementaryTypeName","src":"3417:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3392:40:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62731,"nodeType":"FunctionDefinition","src":"5093:254:97","nodes":[],"body":{"id":62730,"nodeType":"Block","src":"5175:172:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62708,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62701,"src":"5189:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":62709,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5199:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5189:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62728,"nodeType":"Block","src":"5268:73:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":62724,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62703,"src":"5322:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5314:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62722,"name":"address","nodeType":"ElementaryTypeName","src":"5314:7:97","typeDescriptions":{}}},"id":62725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5314:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":62719,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62701,"src":"5296:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62718,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"5289:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":62720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":62721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5304:9:97","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":6860,"src":"5289:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":62726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62707,"id":62727,"nodeType":"Return","src":"5282:48:97"}]},"id":62729,"nodeType":"IfStatement","src":"5185:156:97","trueBody":{"id":62717,"nodeType":"Block","src":"5207:55:97","statements":[{"expression":{"expression":{"arguments":[{"id":62713,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62703,"src":"5236:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5228:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62711,"name":"address","nodeType":"ElementaryTypeName","src":"5228:7:97","typeDescriptions":{}}},"id":62714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5228:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5244:7:97","memberName":"balance","nodeType":"MemberAccess","src":"5228:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62707,"id":62716,"nodeType":"Return","src":"5221:30:97"}]}}]},"functionSelector":"d4fac45d","implemented":true,"kind":"function","modifiers":[],"name":"getBalance","nameLocation":"5102:10:97","parameters":{"id":62704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62701,"mutability":"mutable","name":"_token","nameLocation":"5121:6:97","nodeType":"VariableDeclaration","scope":62731,"src":"5113:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62700,"name":"address","nodeType":"ElementaryTypeName","src":"5113:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62703,"mutability":"mutable","name":"holder","nameLocation":"5137:6:97","nodeType":"VariableDeclaration","scope":62731,"src":"5129:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62702,"name":"address","nodeType":"ElementaryTypeName","src":"5129:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5112:32:97"},"returnParameters":{"id":62707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62706,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62731,"src":"5166:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62705,"name":"uint256","nodeType":"ElementaryTypeName","src":"5166:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5165:9:97"},"scope":65391,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":62811,"nodeType":"FunctionDefinition","src":"5385:977:97","nodes":[],"body":{"id":62810,"nodeType":"Block","src":"5444:918:97","nodes":[],"statements":[{"assignments":[null,62736],"declarations":[null,{"constant":false,"id":62736,"mutability":"mutable","name":"poolId","nameLocation":"5493:6:97","nodeType":"VariableDeclaration","scope":62810,"src":"5485:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62735,"name":"uint256","nodeType":"ElementaryTypeName","src":"5485:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62742,"initialValue":{"arguments":[{"id":62738,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5519:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5527:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62737,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"5503:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5454:78:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5615:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62743,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"5597:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5597:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62746,"nodeType":"ExpressionStatement","src":"5597:39:97"},{"assignments":[62752],"declarations":[{"constant":false,"id":62752,"mutability":"mutable","name":"votes","nameLocation":"5682:5:97","nodeType":"VariableDeclaration","scope":62810,"src":"5646:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62750,"nodeType":"UserDefinedTypeName","pathNode":{"id":62749,"name":"CVStrategy.ProposalSupport","nameLocations":["5646:10:97","5657:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"5646:26:97"},"referencedDeclaration":59201,"src":"5646:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62751,"nodeType":"ArrayTypeName","src":"5646:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62759,"initialValue":{"arguments":[{"hexValue":"32","id":62757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5723:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5690:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62754,"nodeType":"UserDefinedTypeName","pathNode":{"id":62753,"name":"CVStrategy.ProposalSupport","nameLocations":["5694:10:97","5705:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"5694:26:97"},"referencedDeclaration":59201,"src":"5694:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62755,"nodeType":"ArrayTypeName","src":"5694:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5646:79:97"},{"expression":{"id":62768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62760,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62752,"src":"5813:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62762,"indexExpression":{"hexValue":"30","id":62761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5819:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5813:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5851:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":62766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5854:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":62763,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"5824:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"5824:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5813:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62769,"nodeType":"ExpressionStatement","src":"5813:44:97"},{"expression":{"id":62778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62770,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62752,"src":"5888:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62772,"indexExpression":{"hexValue":"31","id":62771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5894:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5888:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5926:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":62776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5929:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":62773,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"5899:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"5899:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5888:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62779,"nodeType":"ExpressionStatement","src":"5888:44:97"},{"assignments":[62781],"declarations":[{"constant":false,"id":62781,"mutability":"mutable","name":"data","nameLocation":"6087:4:97","nodeType":"VariableDeclaration","scope":62810,"src":"6074:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62780,"name":"bytes","nodeType":"ElementaryTypeName","src":"6074:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62786,"initialValue":{"arguments":[{"id":62784,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62752,"src":"6105:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6094:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6098:6:97","memberName":"encode","nodeType":"MemberAccess","src":"6094:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6094:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6074:37:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62792,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"6235:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6246:25:97","memberName":"ProposalSupportDuplicated","nodeType":"MemberAccess","referencedDeclaration":59118,"src":"6235:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6272:8:97","memberName":"selector","nodeType":"MemberAccess","src":"6235:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":62795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":62796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6285:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":62790,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6212:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6216:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6212:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6212:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62787,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"6196:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6199:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"6196:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62799,"nodeType":"ExpressionStatement","src":"6196:92:97"},{"expression":{"arguments":[{"id":62803,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62736,"src":"6314:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62804,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62781,"src":"6322:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62800,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"6298:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"6298:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62806,"nodeType":"ExpressionStatement","src":"6298:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62807,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"6337:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62809,"nodeType":"ExpressionStatement","src":"6337:18:97"}]},"documentation":{"id":62732,"nodeType":"StructuredDocumentation","src":"5352:27:97","text":" TESTS"},"functionSelector":"2da49647","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_ProposalIdDuplicated","nameLocation":"5394:40:97","parameters":{"id":62733,"nodeType":"ParameterList","parameters":[],"src":"5434:2:97"},"returnParameters":{"id":62734,"nodeType":"ParameterList","parameters":[],"src":"5444:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62897,"nodeType":"FunctionDefinition","src":"6368:1028:97","nodes":[],"body":{"id":62896,"nodeType":"Block","src":"6424:972:97","nodes":[],"statements":[{"assignments":[null,62815],"declarations":[null,{"constant":false,"id":62815,"mutability":"mutable","name":"poolId","nameLocation":"6473:6:97","nodeType":"VariableDeclaration","scope":62896,"src":"6465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62814,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62821,"initialValue":{"arguments":[{"id":62817,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"6499:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6507:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62816,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"6483:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6434:78:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62822,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"6577:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62825,"nodeType":"ExpressionStatement","src":"6577:39:97"},{"assignments":[62831],"declarations":[{"constant":false,"id":62831,"mutability":"mutable","name":"votes","nameLocation":"6662:5:97","nodeType":"VariableDeclaration","scope":62896,"src":"6626:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62829,"nodeType":"UserDefinedTypeName","pathNode":{"id":62828,"name":"CVStrategy.ProposalSupport","nameLocations":["6626:10:97","6637:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"6626:26:97"},"referencedDeclaration":59201,"src":"6626:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62830,"nodeType":"ArrayTypeName","src":"6626:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62838,"initialValue":{"arguments":[{"hexValue":"32","id":62836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6703:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6670:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62833,"nodeType":"UserDefinedTypeName","pathNode":{"id":62832,"name":"CVStrategy.ProposalSupport","nameLocations":["6674:10:97","6685:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"6674:26:97"},"referencedDeclaration":59201,"src":"6674:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62834,"nodeType":"ArrayTypeName","src":"6674:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6626:79:97"},{"expression":{"id":62847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62839,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62831,"src":"6793:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62841,"indexExpression":{"hexValue":"30","id":62840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6799:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6793:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6831:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":62845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6834:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":62842,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"6804:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"6804:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6793:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62848,"nodeType":"ExpressionStatement","src":"6793:44:97"},{"expression":{"id":62857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62849,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62831,"src":"6868:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62851,"indexExpression":{"hexValue":"31","id":62850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6874:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6868:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6906:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":62855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6909:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":62852,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"6879:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"6879:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6879:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6868:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62858,"nodeType":"ExpressionStatement","src":"6868:44:97"},{"assignments":[62860],"declarations":[{"constant":false,"id":62860,"mutability":"mutable","name":"data","nameLocation":"7067:4:97","nodeType":"VariableDeclaration","scope":62896,"src":"7054:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62859,"name":"bytes","nodeType":"ElementaryTypeName","src":"7054:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62865,"initialValue":{"arguments":[{"id":62863,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62831,"src":"7085:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7074:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7078:6:97","memberName":"encode","nodeType":"MemberAccess","src":"7074:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7054:37:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62869,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"7115:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7115:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62866,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7101:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7104:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"7101:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62872,"nodeType":"ExpressionStatement","src":"7101:27:97"},{"expression":{"arguments":[{"expression":{"expression":{"id":62876,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"7154:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7165:17:97","memberName":"UserNotInRegistry","nodeType":"MemberAccess","referencedDeclaration":59066,"src":"7154:28:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":62878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7183:8:97","memberName":"selector","nodeType":"MemberAccess","src":"7154:37:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":62873,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7138:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7141:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24270,"src":"7138:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":62879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7138:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62880,"nodeType":"ExpressionStatement","src":"7138:54:97"},{"expression":{"arguments":[{"id":62884,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62815,"src":"7323:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62885,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62860,"src":"7331:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62881,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7307:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7314:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7307:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62887,"nodeType":"ExpressionStatement","src":"7307:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62888,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7347:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7350:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"7347:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62892,"nodeType":"ExpressionStatement","src":"7347:14:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62893,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"7371:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7371:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62895,"nodeType":"ExpressionStatement","src":"7371:18:97"}]},"functionSelector":"bc1687c0","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_UserNotInRegistry","nameLocation":"6377:37:97","parameters":{"id":62812,"nodeType":"ParameterList","parameters":[],"src":"6414:2:97"},"returnParameters":{"id":62813,"nodeType":"ParameterList","parameters":[],"src":"6424:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63011,"nodeType":"FunctionDefinition","src":"7402:901:97","nodes":[],"body":{"id":63010,"nodeType":"Block","src":"7490:813:97","nodes":[],"statements":[{"assignments":[62904,62906],"declarations":[{"constant":false,"id":62904,"mutability":"mutable","name":"pool","nameLocation":"7519:4:97","nodeType":"VariableDeclaration","scope":63010,"src":"7501:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62903,"nodeType":"UserDefinedTypeName","pathNode":{"id":62902,"name":"IAllo.Pool","nameLocations":["7501:5:97","7507:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"7501:10:97"},"referencedDeclaration":2319,"src":"7501:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62906,"mutability":"mutable","name":"poolId","nameLocation":"7533:6:97","nodeType":"VariableDeclaration","scope":63010,"src":"7525:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62905,"name":"uint256","nodeType":"ElementaryTypeName","src":"7525:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62912,"initialValue":{"arguments":[{"id":62908,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"7559:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7567:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7570:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62907,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"7543:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7543:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7500:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7655:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62913,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"7637:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7637:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62916,"nodeType":"ExpressionStatement","src":"7637:39:97"},{"assignments":[62922],"declarations":[{"constant":false,"id":62922,"mutability":"mutable","name":"votes","nameLocation":"7722:5:97","nodeType":"VariableDeclaration","scope":63010,"src":"7686:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62920,"nodeType":"UserDefinedTypeName","pathNode":{"id":62919,"name":"CVStrategy.ProposalSupport","nameLocations":["7686:10:97","7697:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"7686:26:97"},"referencedDeclaration":59201,"src":"7686:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62921,"nodeType":"ArrayTypeName","src":"7686:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62929,"initialValue":{"arguments":[{"hexValue":"31","id":62927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7763:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7730:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62924,"nodeType":"UserDefinedTypeName","pathNode":{"id":62923,"name":"CVStrategy.ProposalSupport","nameLocations":["7734:10:97","7745:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"7734:26:97"},"referencedDeclaration":59201,"src":"7734:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62925,"nodeType":"ArrayTypeName","src":"7734:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7730:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7686:79:97"},{"expression":{"id":62939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62930,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62922,"src":"7775:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62932,"indexExpression":{"hexValue":"30","id":62931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7781:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7813:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7816:4:97","subExpression":{"hexValue":"313030","id":62936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7817:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62933,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"7786:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7797:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"7786:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7786:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"7775:46:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62940,"nodeType":"ExpressionStatement","src":"7775:46:97"},{"assignments":[62942],"declarations":[{"constant":false,"id":62942,"mutability":"mutable","name":"data","nameLocation":"7844:4:97","nodeType":"VariableDeclaration","scope":63010,"src":"7831:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62941,"name":"bytes","nodeType":"ElementaryTypeName","src":"7831:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62947,"initialValue":{"arguments":[{"id":62945,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62922,"src":"7862:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7851:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7855:6:97","memberName":"encode","nodeType":"MemberAccess","src":"7851:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:37:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62953,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"7918:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7929:16:97","memberName":"SupportUnderflow","nodeType":"MemberAccess","referencedDeclaration":59090,"src":"7918:27:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":62955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7946:8:97","memberName":"selector","nodeType":"MemberAccess","src":"7918:36:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":62956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7956:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7959:4:97","subExpression":{"hexValue":"313030","id":62957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7960:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"id":62960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7965:4:97","subExpression":{"hexValue":"313030","id":62959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7966:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7895:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7899:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7895:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62948,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7879:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7882:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"7879:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7879:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62963,"nodeType":"ExpressionStatement","src":"7879:92:97"},{"expression":{"arguments":[{"id":62967,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62906,"src":"7997:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62968,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62942,"src":"8005:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62964,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7981:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7988:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7981:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62970,"nodeType":"ExpressionStatement","src":"7981:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62971,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"8020:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8020:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62973,"nodeType":"ExpressionStatement","src":"8020:18:97"},{"assignments":[62976],"declarations":[{"constant":false,"id":62976,"mutability":"mutable","name":"cv","nameLocation":"8060:2:97","nodeType":"VariableDeclaration","scope":63010,"src":"8049:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":62975,"nodeType":"UserDefinedTypeName","pathNode":{"id":62974,"name":"CVStrategy","nameLocations":["8049:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"8049:10:97"},"referencedDeclaration":61025,"src":"8049:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62987,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62982,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62904,"src":"8092:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8097:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"8092:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8084:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62980,"name":"address","nodeType":"ElementaryTypeName","src":"8084:7:97","typeDescriptions":{}}},"id":62984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8084:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8076:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62978,"name":"address","nodeType":"ElementaryTypeName","src":"8076:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":62985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62977,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8065:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"8049:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8153:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62994,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8164:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":62993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8156:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62992,"name":"address","nodeType":"ElementaryTypeName","src":"8156:7:97","typeDescriptions":{}}},"id":62995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62989,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62976,"src":"8128:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":62990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8131:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"8128:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8128:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8172:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65416d6f756e74","id":62998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8175:18:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""},"value":"VoterStakeAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""}],"id":62988,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8119:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":62999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63000,"nodeType":"ExpressionStatement","src":"8119:75:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63002,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62976,"src":"8232:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8235:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"8232:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8232:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8263:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564416d6f756e74496e50726f706f73616c","id":63007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8266:29:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""},"value":"TotalStakedAmountInProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""}],"id":63001,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8223:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8223:73:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63009,"nodeType":"ExpressionStatement","src":"8223:73:97"}]},"functionSelector":"d97d0578","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","nameLocation":"7411:69:97","parameters":{"id":62898,"nodeType":"ParameterList","parameters":[],"src":"7480:2:97"},"returnParameters":{"id":62899,"nodeType":"ParameterList","parameters":[],"src":"7490:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63067,"nodeType":"FunctionDefinition","src":"8309:519:97","nodes":[],"body":{"id":63066,"nodeType":"Block","src":"8379:449:97","nodes":[],"statements":[{"assignments":[null,63015],"declarations":[null,{"constant":false,"id":63015,"mutability":"mutable","name":"poolId","nameLocation":"8400:6:97","nodeType":"VariableDeclaration","scope":63066,"src":"8392:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63014,"name":"uint256","nodeType":"ElementaryTypeName","src":"8392:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63021,"initialValue":{"arguments":[{"id":63017,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8426:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8434:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8437:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63016,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"8410:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8389:50:97"},{"assignments":[63026],"declarations":[{"constant":false,"id":63026,"mutability":"mutable","name":"proposal","nameLocation":"8483:8:97","nodeType":"VariableDeclaration","scope":63066,"src":"8450:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63025,"nodeType":"UserDefinedTypeName","pathNode":{"id":63024,"name":"CVStrategy.CreateProposal","nameLocations":["8450:10:97","8461:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"8450:25:97"},"referencedDeclaration":59158,"src":"8450:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63039,"initialValue":{"arguments":[{"hexValue":"31","id":63029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8533:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63030,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63015,"src":"8536:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63031,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"8544:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63033,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8558:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8569:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"8558:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8582:9:97","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"8558:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"id":63036,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62280,"src":"8593:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63037,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8611:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63027,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8494:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8505:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"8494:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:133:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"8450:177:97"},{"assignments":[63041],"declarations":[{"constant":false,"id":63041,"mutability":"mutable","name":"data","nameLocation":"8650:4:97","nodeType":"VariableDeclaration","scope":63066,"src":"8637:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63040,"name":"bytes","nodeType":"ElementaryTypeName","src":"8637:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63046,"initialValue":{"arguments":[{"id":63044,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63026,"src":"8668:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8657:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8661:6:97","memberName":"encode","nodeType":"MemberAccess","src":"8657:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8637:40:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63052,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8726:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8737:22:97","memberName":"ProposalIdAlreadyExist","nodeType":"MemberAccess","referencedDeclaration":59112,"src":"8726:33:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":63054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8760:8:97","memberName":"selector","nodeType":"MemberAccess","src":"8726:42:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":63055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8770:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8703:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8707:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8703:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8703:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"8687:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":63049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8690:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"8687:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8687:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63058,"nodeType":"ExpressionStatement","src":"8687:86:97"},{"expression":{"arguments":[{"id":63062,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63015,"src":"8808:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63063,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63041,"src":"8816:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63059,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"8783:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"8783:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63065,"nodeType":"ExpressionStatement","src":"8783:38:97"}]},"functionSelector":"9a45ff89","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_registerRecipient_ProposalIdAlreadyExist","nameLocation":"8318:51:97","parameters":{"id":63012,"nodeType":"ParameterList","parameters":[],"src":"8369:2:97"},"returnParameters":{"id":63013,"nodeType":"ParameterList","parameters":[],"src":"8379:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63227,"nodeType":"FunctionDefinition","src":"8834:1541:97","nodes":[],"body":{"id":63226,"nodeType":"Block","src":"8890:1485:97","nodes":[],"statements":[{"assignments":[63074,63076],"declarations":[{"constant":false,"id":63074,"mutability":"mutable","name":"pool","nameLocation":"8919:4:97","nodeType":"VariableDeclaration","scope":63226,"src":"8901:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63073,"nodeType":"UserDefinedTypeName","pathNode":{"id":63072,"name":"IAllo.Pool","nameLocations":["8901:5:97","8907:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"8901:10:97"},"referencedDeclaration":2319,"src":"8901:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63076,"mutability":"mutable","name":"poolId","nameLocation":"8933:6:97","nodeType":"VariableDeclaration","scope":63226,"src":"8925:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63075,"name":"uint256","nodeType":"ElementaryTypeName","src":"8925:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63082,"initialValue":{"arguments":[{"id":63078,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8959:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8967:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8970:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63077,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"8943:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8943:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8900:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9044:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63083,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"9026:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9026:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63086,"nodeType":"ExpressionStatement","src":"9026:39:97"},{"assignments":[63092],"declarations":[{"constant":false,"id":63092,"mutability":"mutable","name":"votes","nameLocation":"9111:5:97","nodeType":"VariableDeclaration","scope":63226,"src":"9075:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63090,"nodeType":"UserDefinedTypeName","pathNode":{"id":63089,"name":"CVStrategy.ProposalSupport","nameLocations":["9075:10:97","9086:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9075:26:97"},"referencedDeclaration":59201,"src":"9075:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63091,"nodeType":"ArrayTypeName","src":"9075:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63099,"initialValue":{"arguments":[{"hexValue":"31","id":63097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9152:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9119:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63094,"nodeType":"UserDefinedTypeName","pathNode":{"id":63093,"name":"CVStrategy.ProposalSupport","nameLocations":["9123:10:97","9134:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9123:26:97"},"referencedDeclaration":59201,"src":"9123:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63095,"nodeType":"ArrayTypeName","src":"9123:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9075:79:97"},{"expression":{"id":63108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63100,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"9164:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63102,"indexExpression":{"hexValue":"30","id":63101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9170:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9164:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9202:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":63106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9205:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":63103,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"9175:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9186:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"9175:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"9164:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63109,"nodeType":"ExpressionStatement","src":"9164:44:97"},{"assignments":[63111],"declarations":[{"constant":false,"id":63111,"mutability":"mutable","name":"data","nameLocation":"9271:4:97","nodeType":"VariableDeclaration","scope":63226,"src":"9258:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63110,"name":"bytes","nodeType":"ElementaryTypeName","src":"9258:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63116,"initialValue":{"arguments":[{"id":63114,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63092,"src":"9289:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63112,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9278:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9282:6:97","memberName":"encode","nodeType":"MemberAccess","src":"9278:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9278:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9258:37:97"},{"expression":{"arguments":[{"id":63120,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63076,"src":"9322:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63121,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63111,"src":"9330:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63117,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"9306:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9313:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"9306:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63123,"nodeType":"ExpressionStatement","src":"9306:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63124,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"9346:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63126,"nodeType":"ExpressionStatement","src":"9346:18:97"},{"assignments":[63128],"declarations":[{"constant":false,"id":63128,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"9382:13:97","nodeType":"VariableDeclaration","scope":63226,"src":"9374:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63127,"name":"uint256","nodeType":"ElementaryTypeName","src":"9374:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63134,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":63129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9398:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63130,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"9403:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9398:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9419:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9398:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9374:48:97"},{"assignments":[63137],"declarations":[{"constant":false,"id":63137,"mutability":"mutable","name":"cv","nameLocation":"9443:2:97","nodeType":"VariableDeclaration","scope":63226,"src":"9432:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63136,"nodeType":"UserDefinedTypeName","pathNode":{"id":63135,"name":"CVStrategy","nameLocations":["9432:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"9432:10:97"},"referencedDeclaration":61025,"src":"9432:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63148,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63143,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63074,"src":"9475:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9480:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"9475:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9467:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63141,"name":"address","nodeType":"ElementaryTypeName","src":"9467:7:97","typeDescriptions":{}}},"id":63145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9467:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9459:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63139,"name":"address","nodeType":"ElementaryTypeName","src":"9459:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9459:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63138,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"9448:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"9432:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9535:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63155,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9546:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":63154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9538:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63153,"name":"address","nodeType":"ElementaryTypeName","src":"9538:7:97","typeDescriptions":{}}},"id":63156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9538:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63150,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63137,"src":"9510:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9513:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"9510:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9510:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63158,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63128,"src":"9554:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63149,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9501:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63160,"nodeType":"ExpressionStatement","src":"9501:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9632:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63162,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63137,"src":"9605:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9608:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"9605:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9605:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63166,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63128,"src":"9636:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63161,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9596:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63168,"nodeType":"ExpressionStatement","src":"9596:54:97"},{"assignments":[63174],"declarations":[{"constant":false,"id":63174,"mutability":"mutable","name":"votes2","nameLocation":"9956:6:97","nodeType":"VariableDeclaration","scope":63226,"src":"9920:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63172,"nodeType":"UserDefinedTypeName","pathNode":{"id":63171,"name":"CVStrategy.ProposalSupport","nameLocations":["9920:10:97","9931:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9920:26:97"},"referencedDeclaration":59201,"src":"9920:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63173,"nodeType":"ArrayTypeName","src":"9920:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":63181,"initialValue":{"arguments":[{"hexValue":"31","id":63179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9998:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9965:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63176,"nodeType":"UserDefinedTypeName","pathNode":{"id":63175,"name":"CVStrategy.ProposalSupport","nameLocations":["9969:10:97","9980:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9969:26:97"},"referencedDeclaration":59201,"src":"9969:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63177,"nodeType":"ArrayTypeName","src":"9969:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9965:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9920:80:97"},{"expression":{"id":63190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63182,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63174,"src":"10010:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63184,"indexExpression":{"hexValue":"30","id":63183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10017:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10010:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10049:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":63188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":63185,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"10022:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10033:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"10022:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10022:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10010:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63191,"nodeType":"ExpressionStatement","src":"10010:45:97"},{"expression":{"id":63197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63192,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63111,"src":"10065:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63195,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63174,"src":"10083:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63193,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10072:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10076:6:97","memberName":"encode","nodeType":"MemberAccess","src":"10072:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10072:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"10065:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63198,"nodeType":"ExpressionStatement","src":"10065:25:97"},{"expression":{"arguments":[{"id":63202,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63076,"src":"10167:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63203,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63111,"src":"10175:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63199,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"10151:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10158:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"10151:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63205,"nodeType":"ExpressionStatement","src":"10151:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10252:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63212,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10263:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":63211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10255:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63210,"name":"address","nodeType":"ElementaryTypeName","src":"10255:7:97","typeDescriptions":{}}},"id":63213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63207,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63137,"src":"10227:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10230:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"10227:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63215,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"10271:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63206,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10218:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10218:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63217,"nodeType":"ExpressionStatement","src":"10218:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10350:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63219,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63137,"src":"10323:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10326:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"10323:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10323:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63223,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"10354:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63218,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10314:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10314:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63225,"nodeType":"ExpressionStatement","src":"10314:54:97"}]},"functionSelector":"d25bba07","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_change_support","nameLocation":"8843:37:97","parameters":{"id":63068,"nodeType":"ParameterList","parameters":[],"src":"8880:2:97"},"returnParameters":{"id":63069,"nodeType":"ParameterList","parameters":[],"src":"8890:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63395,"nodeType":"FunctionDefinition","src":"10381:1258:97","nodes":[],"body":{"id":63394,"nodeType":"Block","src":"10430:1209:97","nodes":[],"statements":[{"assignments":[63234,63236],"declarations":[{"constant":false,"id":63234,"mutability":"mutable","name":"pool","nameLocation":"10459:4:97","nodeType":"VariableDeclaration","scope":63394,"src":"10441:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63233,"nodeType":"UserDefinedTypeName","pathNode":{"id":63232,"name":"IAllo.Pool","nameLocations":["10441:5:97","10447:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"10441:10:97"},"referencedDeclaration":2319,"src":"10441:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63236,"mutability":"mutable","name":"poolId","nameLocation":"10473:6:97","nodeType":"VariableDeclaration","scope":63394,"src":"10465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63235,"name":"uint256","nodeType":"ElementaryTypeName","src":"10465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63242,"initialValue":{"arguments":[{"id":63238,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"10499:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10507:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63237,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"10483:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10440:72:97"},{"assignments":[63245],"declarations":[{"constant":false,"id":63245,"mutability":"mutable","name":"cv","nameLocation":"10534:2:97","nodeType":"VariableDeclaration","scope":63394,"src":"10523:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63244,"nodeType":"UserDefinedTypeName","pathNode":{"id":63243,"name":"CVStrategy","nameLocations":["10523:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"10523:10:97"},"referencedDeclaration":61025,"src":"10523:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63256,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63251,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63234,"src":"10566:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"10566:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10558:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63249,"name":"address","nodeType":"ElementaryTypeName","src":"10558:7:97","typeDescriptions":{}}},"id":63253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10550:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63247,"name":"address","nodeType":"ElementaryTypeName","src":"10550:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63246,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"10539:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"10523:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10619:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63260,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"10605:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63257,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63245,"src":"10593:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10596:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"10593:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63264,"nodeType":"ExpressionStatement","src":"10593:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10686:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63268,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"10672:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10672:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63265,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63245,"src":"10657:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10660:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"10657:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63272,"nodeType":"ExpressionStatement","src":"10657:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10753:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63276,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"10739:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63273,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63245,"src":"10726:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10729:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"10726:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63280,"nodeType":"ExpressionStatement","src":"10726:40:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10859:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63281,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"10841:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63284,"nodeType":"ExpressionStatement","src":"10841:39:97"},{"assignments":[63290],"declarations":[{"constant":false,"id":63290,"mutability":"mutable","name":"votes","nameLocation":"10926:5:97","nodeType":"VariableDeclaration","scope":63394,"src":"10890:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63288,"nodeType":"UserDefinedTypeName","pathNode":{"id":63287,"name":"CVStrategy.ProposalSupport","nameLocations":["10890:10:97","10901:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"10890:26:97"},"referencedDeclaration":59201,"src":"10890:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63289,"nodeType":"ArrayTypeName","src":"10890:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63297,"initialValue":{"arguments":[{"hexValue":"31","id":63295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10967:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10934:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63292,"nodeType":"UserDefinedTypeName","pathNode":{"id":63291,"name":"CVStrategy.ProposalSupport","nameLocations":["10938:10:97","10949:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"10938:26:97"},"referencedDeclaration":59201,"src":"10938:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63293,"nodeType":"ArrayTypeName","src":"10938:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10890:79:97"},{"expression":{"id":63306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63298,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63290,"src":"10979:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63300,"indexExpression":{"hexValue":"30","id":63299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10985:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10979:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11017:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":63304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":63301,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"10990:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11001:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"10990:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10979:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63307,"nodeType":"ExpressionStatement","src":"10979:44:97"},{"assignments":[63309],"declarations":[{"constant":false,"id":63309,"mutability":"mutable","name":"data","nameLocation":"11046:4:97","nodeType":"VariableDeclaration","scope":63394,"src":"11033:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63308,"name":"bytes","nodeType":"ElementaryTypeName","src":"11033:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63314,"initialValue":{"arguments":[{"id":63312,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63290,"src":"11064:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11053:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11057:6:97","memberName":"encode","nodeType":"MemberAccess","src":"11053:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11033:37:97"},{"expression":{"arguments":[{"id":63318,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63236,"src":"11096:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63319,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63309,"src":"11104:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63315,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"11080:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11087:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"11080:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63321,"nodeType":"ExpressionStatement","src":"11080:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63322,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"11119:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11119:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63324,"nodeType":"ExpressionStatement","src":"11119:18:97"},{"assignments":[63326],"declarations":[{"constant":false,"id":63326,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"11156:13:97","nodeType":"VariableDeclaration","scope":63394,"src":"11148:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63325,"name":"uint256","nodeType":"ElementaryTypeName","src":"11148:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63332,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":63327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63328,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"11177:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11172:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11193:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"11172:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11148:48:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11240:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63339,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11251:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":63338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11243:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63337,"name":"address","nodeType":"ElementaryTypeName","src":"11243:7:97","typeDescriptions":{}}},"id":63340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11243:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63334,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63245,"src":"11215:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"11215:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11215:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63342,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63326,"src":"11259:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63333,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11206:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11206:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63344,"nodeType":"ExpressionStatement","src":"11206:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11319:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63346,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63245,"src":"11292:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11295:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"11292:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63350,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63326,"src":"11323:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63345,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11283:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63352,"nodeType":"ExpressionStatement","src":"11283:54:97"},{"assignments":[63354],"declarations":[{"constant":false,"id":63354,"mutability":"mutable","name":"cv_amount","nameLocation":"11356:9:97","nodeType":"VariableDeclaration","scope":63394,"src":"11348:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63353,"name":"uint256","nodeType":"ElementaryTypeName","src":"11348:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63361,"initialValue":{"arguments":[{"hexValue":"3130","id":63357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11391:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11395:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63359,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63326,"src":"11398:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63355,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63245,"src":"11368:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11371:19:97","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":60618,"src":"11368:22:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":63360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11368:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11348:64:97"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":63365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11434:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":63366,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63354,"src":"11451:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63362,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"11422:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"11422:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11422:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63368,"nodeType":"ExpressionStatement","src":"11422:39:97"},{"assignments":[63370],"declarations":[{"constant":false,"id":63370,"mutability":"mutable","name":"cv_cmp","nameLocation":"11479:6:97","nodeType":"VariableDeclaration","scope":63394,"src":"11471:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63369,"name":"uint256","nodeType":"ElementaryTypeName","src":"11471:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63381,"initialValue":{"arguments":[{"hexValue":"3130","id":63372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11509:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63374,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63326,"src":"11516:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":63379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":63375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11531:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":63378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":63376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11543:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":63377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:2:97","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"11543:8:97","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"11531:20:97","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":63371,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62206,"src":"11488:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":63380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11488:64:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11471:81:97"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":63385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11574:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":63386,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63370,"src":"11588:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63382,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"11562:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11570:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"11562:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63388,"nodeType":"ExpressionStatement","src":"11562:33:97"},{"expression":{"arguments":[{"id":63390,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63354,"src":"11614:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63391,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63370,"src":"11625:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63389,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11605:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11605:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63393,"nodeType":"ExpressionStatement","src":"11605:27:97"}]},"functionSelector":"de8a1354","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_function","nameLocation":"10390:30:97","parameters":{"id":63228,"nodeType":"ParameterList","parameters":[],"src":"10420:2:97"},"returnParameters":{"id":63229,"nodeType":"ParameterList","parameters":[],"src":"10430:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63608,"nodeType":"FunctionDefinition","src":"11645:1898:97","nodes":[],"body":{"id":63607,"nodeType":"Block","src":"11696:1847:97","nodes":[],"statements":[{"assignments":[63402,63404],"declarations":[{"constant":false,"id":63402,"mutability":"mutable","name":"pool","nameLocation":"11725:4:97","nodeType":"VariableDeclaration","scope":63607,"src":"11707:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63401,"nodeType":"UserDefinedTypeName","pathNode":{"id":63400,"name":"IAllo.Pool","nameLocations":["11707:5:97","11713:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"11707:10:97"},"referencedDeclaration":2319,"src":"11707:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63404,"mutability":"mutable","name":"poolId","nameLocation":"11739:6:97","nodeType":"VariableDeclaration","scope":63607,"src":"11731:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63403,"name":"uint256","nodeType":"ElementaryTypeName","src":"11731:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63410,"initialValue":{"arguments":[{"id":63406,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"11765:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11773:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11776:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63405,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"11749:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11749:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11706:72:97"},{"assignments":[63413],"declarations":[{"constant":false,"id":63413,"mutability":"mutable","name":"cv","nameLocation":"11800:2:97","nodeType":"VariableDeclaration","scope":63607,"src":"11789:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63412,"nodeType":"UserDefinedTypeName","pathNode":{"id":63411,"name":"CVStrategy","nameLocations":["11789:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"11789:10:97"},"referencedDeclaration":61025,"src":"11789:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63424,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63419,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63402,"src":"11832:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"11832:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11824:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63417,"name":"address","nodeType":"ElementaryTypeName","src":"11824:7:97","typeDescriptions":{}}},"id":63421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11816:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63415,"name":"address","nodeType":"ElementaryTypeName","src":"11816:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11816:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63414,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"11805:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11805:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"11789:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11885:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63428,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"11871:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11871:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63425,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"11859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11862:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"11859:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63432,"nodeType":"ExpressionStatement","src":"11859:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63436,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"11938:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11938:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63433,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"11923:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11926:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"11923:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11923:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63440,"nodeType":"ExpressionStatement","src":"11923:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12019:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63444,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"12005:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63441,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"11992:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11995:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"11992:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63448,"nodeType":"ExpressionStatement","src":"11992:40:97"},{"assignments":[63450],"declarations":[{"constant":false,"id":63450,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"12071:13:97","nodeType":"VariableDeclaration","scope":63607,"src":"12063:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63449,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63452,"initialValue":{"hexValue":"3435303030","id":63451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12087:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"12063:29:97"},{"expression":{"arguments":[{"arguments":[{"id":63456,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"12199:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12191:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63454,"name":"address","nodeType":"ElementaryTypeName","src":"12191:7:97","typeDescriptions":{}}},"id":63457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12229:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63461,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"12267:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12283:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"12267:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12304:8:97","memberName":"selector","nodeType":"MemberAccess","src":"12267:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63464,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63450,"src":"12314:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63459,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12244:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12248:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12244:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12244:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63453,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66200,"src":"12167:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12167:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63467,"nodeType":"ExpressionStatement","src":"12167:171:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12409:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63468,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"12391:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12391:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63471,"nodeType":"ExpressionStatement","src":"12391:39:97"},{"assignments":[63477],"declarations":[{"constant":false,"id":63477,"mutability":"mutable","name":"votes","nameLocation":"12476:5:97","nodeType":"VariableDeclaration","scope":63607,"src":"12440:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63475,"nodeType":"UserDefinedTypeName","pathNode":{"id":63474,"name":"CVStrategy.ProposalSupport","nameLocations":["12440:10:97","12451:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"12440:26:97"},"referencedDeclaration":59201,"src":"12440:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63476,"nodeType":"ArrayTypeName","src":"12440:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63484,"initialValue":{"arguments":[{"hexValue":"31","id":63482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12517:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12484:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63479,"nodeType":"UserDefinedTypeName","pathNode":{"id":63478,"name":"CVStrategy.ProposalSupport","nameLocations":["12488:10:97","12499:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"12488:26:97"},"referencedDeclaration":59201,"src":"12488:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63480,"nodeType":"ArrayTypeName","src":"12488:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12484:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12440:79:97"},{"expression":{"id":63493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63485,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63477,"src":"12529:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63487,"indexExpression":{"hexValue":"30","id":63486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12535:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12529:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12567:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12570:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63488,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"12540:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12551:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"12540:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12540:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"12529:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63494,"nodeType":"ExpressionStatement","src":"12529:45:97"},{"assignments":[63496],"declarations":[{"constant":false,"id":63496,"mutability":"mutable","name":"data","nameLocation":"12597:4:97","nodeType":"VariableDeclaration","scope":63607,"src":"12584:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63495,"name":"bytes","nodeType":"ElementaryTypeName","src":"12584:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63501,"initialValue":{"arguments":[{"id":63499,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63477,"src":"12615:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63497,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12604:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12608:6:97","memberName":"encode","nodeType":"MemberAccess","src":"12604:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12604:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12584:37:97"},{"expression":{"arguments":[{"id":63505,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63404,"src":"12647:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63506,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63496,"src":"12655:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63502,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"12631:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12638:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"12631:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63508,"nodeType":"ExpressionStatement","src":"12631:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63509,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"12670:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12670:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63511,"nodeType":"ExpressionStatement","src":"12670:18:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12733:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63518,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12744:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":63517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12736:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63516,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:97","typeDescriptions":{}}},"id":63519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12736:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63513,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"12708:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12711:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"12708:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63521,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63450,"src":"12752:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63512,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12699:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63523,"nodeType":"ExpressionStatement","src":"12699:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12812:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63525,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"12785:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12788:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"12785:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12785:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63529,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63450,"src":"12816:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63524,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12776:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12776:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63531,"nodeType":"ExpressionStatement","src":"12776:54:97"},{"assignments":[63533],"declarations":[{"constant":false,"id":63533,"mutability":"mutable","name":"AMOUNT_STAKED_1","nameLocation":"12849:15:97","nodeType":"VariableDeclaration","scope":63607,"src":"12841:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63532,"name":"uint256","nodeType":"ElementaryTypeName","src":"12841:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63535,"initialValue":{"hexValue":"3135303030","id":63534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12867:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"nodeType":"VariableDeclarationStatement","src":"12841:31:97"},{"assignments":[63537],"declarations":[{"constant":false,"id":63537,"mutability":"mutable","name":"cv_amount","nameLocation":"12890:9:97","nodeType":"VariableDeclaration","scope":63607,"src":"12882:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63536,"name":"uint256","nodeType":"ElementaryTypeName","src":"12882:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63544,"initialValue":{"arguments":[{"hexValue":"3130","id":63540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12929:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63542,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63533,"src":"12932:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63538,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63413,"src":"12902:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12905:19:97","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":60618,"src":"12902:22:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":63543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12902:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12882:66:97"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":63548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12971:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":63549,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63537,"src":"12988:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63545,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"12959:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12967:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"12959:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63551,"nodeType":"ExpressionStatement","src":"12959:39:97"},{"assignments":[63553],"declarations":[{"constant":false,"id":63553,"mutability":"mutable","name":"cv_cmp","nameLocation":"13016:6:97","nodeType":"VariableDeclaration","scope":63607,"src":"13008:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63552,"name":"uint256","nodeType":"ElementaryTypeName","src":"13008:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63564,"initialValue":{"arguments":[{"hexValue":"3130","id":63555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13046:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13050:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63557,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63533,"src":"13053:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":63562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":63558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13070:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":63561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":63559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13082:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":63560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13088:2:97","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"13082:8:97","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"13070:20:97","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":63554,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62206,"src":"13025:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":63563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13025:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13008:83:97"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":63568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13113:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":63569,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63553,"src":"13127:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63565,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"13101:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13109:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"13101:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13101:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63571,"nodeType":"ExpressionStatement","src":"13101:33:97"},{"expression":{"arguments":[{"id":63573,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63537,"src":"13154:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63574,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63553,"src":"13165:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63572,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13145:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13145:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63576,"nodeType":"ExpressionStatement","src":"13145:27:97"},{"expression":{"arguments":[{"id":63578,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63533,"src":"13191:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3135303030","id":63579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13208:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"}],"id":63577,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13182:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63581,"nodeType":"ExpressionStatement","src":"13182:32:97"},{"expression":{"arguments":[{"id":63583,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63450,"src":"13233:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":63584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13248:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":63582,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13224:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13224:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63586,"nodeType":"ExpressionStatement","src":"13224:30:97"},{"expression":{"arguments":[{"id":63588,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63537,"src":"13273:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3937363938","id":63589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13284:5:97","typeDescriptions":{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"},"value":"97698"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"}],"id":63587,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13264:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13264:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63591,"nodeType":"ExpressionStatement","src":"13264:26:97"},{"expression":{"arguments":[{"arguments":[{"id":63595,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"13397:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13389:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63593,"name":"address","nodeType":"ElementaryTypeName","src":"13389:7:97","typeDescriptions":{}}},"id":63596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13389:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13427:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63600,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"13465:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13481:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"13465:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13502:8:97","memberName":"selector","nodeType":"MemberAccess","src":"13465:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63603,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"13512:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13442:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13446:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13442:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63592,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66200,"src":"13365:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63606,"nodeType":"ExpressionStatement","src":"13365:171:97"}]},"functionSelector":"90ff95a4","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_as_js_test","nameLocation":"11654:32:97","parameters":{"id":63396,"nodeType":"ParameterList","parameters":[],"src":"11686:2:97"},"returnParameters":{"id":63397,"nodeType":"ParameterList","parameters":[],"src":"11696:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63785,"nodeType":"FunctionDefinition","src":"13549:1626:97","nodes":[],"body":{"id":63784,"nodeType":"Block","src":"13608:1567:97","nodes":[],"statements":[{"assignments":[63615,63617],"declarations":[{"constant":false,"id":63615,"mutability":"mutable","name":"pool","nameLocation":"13637:4:97","nodeType":"VariableDeclaration","scope":63784,"src":"13619:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63614,"nodeType":"UserDefinedTypeName","pathNode":{"id":63613,"name":"IAllo.Pool","nameLocations":["13619:5:97","13625:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13619:10:97"},"referencedDeclaration":2319,"src":"13619:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63617,"mutability":"mutable","name":"poolId","nameLocation":"13651:6:97","nodeType":"VariableDeclaration","scope":63784,"src":"13643:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63616,"name":"uint256","nodeType":"ElementaryTypeName","src":"13643:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63623,"initialValue":{"arguments":[{"id":63619,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"13677:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13685:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13688:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63618,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"13661:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13661:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13618:72:97"},{"assignments":[63626],"declarations":[{"constant":false,"id":63626,"mutability":"mutable","name":"cv","nameLocation":"13712:2:97","nodeType":"VariableDeclaration","scope":63784,"src":"13701:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63625,"nodeType":"UserDefinedTypeName","pathNode":{"id":63624,"name":"CVStrategy","nameLocations":["13701:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"13701:10:97"},"referencedDeclaration":61025,"src":"13701:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63637,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63632,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63615,"src":"13744:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63633,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"13744:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13736:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63630,"name":"address","nodeType":"ElementaryTypeName","src":"13736:7:97","typeDescriptions":{}}},"id":63634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13736:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13728:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63628,"name":"address","nodeType":"ElementaryTypeName","src":"13728:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13728:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63627,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"13717:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"13701:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13797:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63641,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"13783:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13783:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63638,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63626,"src":"13771:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13774:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"13771:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13771:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63645,"nodeType":"ExpressionStatement","src":"13771:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13864:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63649,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"13850:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13850:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63646,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63626,"src":"13835:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13838:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"13835:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13835:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63653,"nodeType":"ExpressionStatement","src":"13835:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13931:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63657,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"13917:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63654,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63626,"src":"13904:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13907:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"13904:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13904:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63661,"nodeType":"ExpressionStatement","src":"13904:40:97"},{"expression":{"arguments":[{"arguments":[{"id":63665,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"14063:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14055:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63663,"name":"address","nodeType":"ElementaryTypeName","src":"14055:7:97","typeDescriptions":{}}},"id":63666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14055:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14081:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63670,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"14107:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14123:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"14107:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14144:8:97","memberName":"selector","nodeType":"MemberAccess","src":"14107:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":63673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14154:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":63668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14084:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14088:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14084:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14084:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63662,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66200,"src":"14031:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14031:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63676,"nodeType":"ExpressionStatement","src":"14031:139:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14241:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63677,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"14223:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63680,"nodeType":"ExpressionStatement","src":"14223:39:97"},{"assignments":[63686],"declarations":[{"constant":false,"id":63686,"mutability":"mutable","name":"votes","nameLocation":"14308:5:97","nodeType":"VariableDeclaration","scope":63784,"src":"14272:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63684,"nodeType":"UserDefinedTypeName","pathNode":{"id":63683,"name":"CVStrategy.ProposalSupport","nameLocations":["14272:10:97","14283:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"14272:26:97"},"referencedDeclaration":59201,"src":"14272:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63685,"nodeType":"ArrayTypeName","src":"14272:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63693,"initialValue":{"arguments":[{"hexValue":"31","id":63691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14349:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14316:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63688,"nodeType":"UserDefinedTypeName","pathNode":{"id":63687,"name":"CVStrategy.ProposalSupport","nameLocations":["14320:10:97","14331:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"14320:26:97"},"referencedDeclaration":59201,"src":"14320:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63689,"nodeType":"ArrayTypeName","src":"14320:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14316:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14272:79:97"},{"expression":{"id":63702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63694,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63686,"src":"14361:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63696,"indexExpression":{"hexValue":"30","id":63695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14367:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14361:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14399:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14402:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63697,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"14372:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14383:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"14372:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14372:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"14361:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63703,"nodeType":"ExpressionStatement","src":"14361:45:97"},{"assignments":[63705],"declarations":[{"constant":false,"id":63705,"mutability":"mutable","name":"data","nameLocation":"14450:4:97","nodeType":"VariableDeclaration","scope":63784,"src":"14437:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63704,"name":"bytes","nodeType":"ElementaryTypeName","src":"14437:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63710,"initialValue":{"arguments":[{"id":63708,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63686,"src":"14468:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63706,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:6:97","memberName":"encode","nodeType":"MemberAccess","src":"14457:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14437:37:97"},{"expression":{"arguments":[{"id":63714,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63617,"src":"14500:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63715,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63705,"src":"14508:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63711,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"14484:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14491:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"14484:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63717,"nodeType":"ExpressionStatement","src":"14484:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63718,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"14523:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63720,"nodeType":"ExpressionStatement","src":"14523:18:97"},{"assignments":[63722],"declarations":[{"constant":false,"id":63722,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"14560:13:97","nodeType":"VariableDeclaration","scope":63784,"src":"14552:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63721,"name":"uint256","nodeType":"ElementaryTypeName","src":"14552:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63724,"initialValue":{"hexValue":"3435303030","id":63723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14576:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"14552:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14625:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63731,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14636:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":63730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14628:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63729,"name":"address","nodeType":"ElementaryTypeName","src":"14628:7:97","typeDescriptions":{}}},"id":63732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14628:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63726,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63626,"src":"14600:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14603:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"14600:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14600:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63734,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63722,"src":"14644:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63725,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14591:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14591:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63736,"nodeType":"ExpressionStatement","src":"14591:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14722:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63738,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63626,"src":"14695:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14698:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"14695:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63742,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63722,"src":"14726:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63737,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14686:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14686:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63744,"nodeType":"ExpressionStatement","src":"14686:54:97"},{"assignments":[63746],"declarations":[{"constant":false,"id":63746,"mutability":"mutable","name":"ct1","nameLocation":"14777:3:97","nodeType":"VariableDeclaration","scope":63784,"src":"14769:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63745,"name":"uint256","nodeType":"ElementaryTypeName","src":"14769:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63751,"initialValue":{"arguments":[{"hexValue":"31303030","id":63749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:4:97","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":63747,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63626,"src":"14783:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14786:18:97","memberName":"calculateThreshold","nodeType":"MemberAccess","referencedDeclaration":60713,"src":"14783:21:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14783:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14769:41:97"},{"expression":{"arguments":[{"hexValue":"7468726573686f6c64202573","id":63755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14832:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},"value":"threshold %s"},{"id":63756,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63746,"src":"14848:3:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63752,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"14820:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14828:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"14820:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14820:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63758,"nodeType":"ExpressionStatement","src":"14820:32:97"},{"expression":{"arguments":[{"id":63760,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63722,"src":"14871:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":63761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14886:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":63759,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14862:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14862:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63763,"nodeType":"ExpressionStatement","src":"14862:30:97"},{"expression":{"arguments":[{"id":63765,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63746,"src":"14911:3:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3530363235","id":63766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14916:5:97","typeDescriptions":{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"},"value":"50625"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"}],"id":63764,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14902:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63768,"nodeType":"ExpressionStatement","src":"14902:20:97"},{"expression":{"arguments":[{"arguments":[{"id":63772,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"15029:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63770,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:97","typeDescriptions":{}}},"id":63773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15059:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63777,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"15097:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15113:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"15097:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15134:8:97","memberName":"selector","nodeType":"MemberAccess","src":"15097:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63780,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"15144:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63775,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15074:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15078:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15074:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15074:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63769,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66200,"src":"14997:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14997:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63783,"nodeType":"ExpressionStatement","src":"14997:171:97"}]},"functionSelector":"a6f2b82f","implemented":true,"kind":"function","modifiers":[],"name":"disabled_test_threshold_check_as_js_test","nameLocation":"13558:40:97","parameters":{"id":63609,"nodeType":"ParameterList","parameters":[],"src":"13598:2:97"},"returnParameters":{"id":63610,"nodeType":"ParameterList","parameters":[],"src":"13608:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63962,"nodeType":"FunctionDefinition","src":"15181:1522:97","nodes":[],"body":{"id":63961,"nodeType":"Block","src":"15224:1479:97","nodes":[],"statements":[{"assignments":[63792,63794],"declarations":[{"constant":false,"id":63792,"mutability":"mutable","name":"pool","nameLocation":"15253:4:97","nodeType":"VariableDeclaration","scope":63961,"src":"15235:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63791,"nodeType":"UserDefinedTypeName","pathNode":{"id":63790,"name":"IAllo.Pool","nameLocations":["15235:5:97","15241:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"15235:10:97"},"referencedDeclaration":2319,"src":"15235:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63794,"mutability":"mutable","name":"poolId","nameLocation":"15267:6:97","nodeType":"VariableDeclaration","scope":63961,"src":"15259:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63793,"name":"uint256","nodeType":"ElementaryTypeName","src":"15259:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63800,"initialValue":{"arguments":[{"id":63796,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"15293:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15301:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15304:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63795,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"15277:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15277:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"15234:72:97"},{"expression":{"arguments":[{"arguments":[{"id":63804,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"15404:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15396:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63802,"name":"address","nodeType":"ElementaryTypeName","src":"15396:7:97","typeDescriptions":{}}},"id":63805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15396:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15422:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63809,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"15448:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15464:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"15448:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15485:8:97","memberName":"selector","nodeType":"MemberAccess","src":"15448:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":63812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15495:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":63807,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15425:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15429:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15425:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15425:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63801,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66200,"src":"15372:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15372:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63815,"nodeType":"ExpressionStatement","src":"15372:139:97"},{"assignments":[63821],"declarations":[{"constant":false,"id":63821,"mutability":"mutable","name":"votes","nameLocation":"15652:5:97","nodeType":"VariableDeclaration","scope":63961,"src":"15616:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63819,"nodeType":"UserDefinedTypeName","pathNode":{"id":63818,"name":"CVStrategy.ProposalSupport","nameLocations":["15616:10:97","15627:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"15616:26:97"},"referencedDeclaration":59201,"src":"15616:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63820,"nodeType":"ArrayTypeName","src":"15616:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":63828,"initialValue":{"arguments":[{"hexValue":"31","id":63826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15693:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15660:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63823,"nodeType":"UserDefinedTypeName","pathNode":{"id":63822,"name":"CVStrategy.ProposalSupport","nameLocations":["15664:10:97","15675:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"15664:26:97"},"referencedDeclaration":59201,"src":"15664:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63824,"nodeType":"ArrayTypeName","src":"15664:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15660:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15616:79:97"},{"expression":{"id":63837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63829,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63821,"src":"15705:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63831,"indexExpression":{"hexValue":"30","id":63830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15711:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15705:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15743:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15746:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63832,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"15716:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15727:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"15716:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15716:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"15705:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63838,"nodeType":"ExpressionStatement","src":"15705:45:97"},{"assignments":[63840],"declarations":[{"constant":false,"id":63840,"mutability":"mutable","name":"data","nameLocation":"15773:4:97","nodeType":"VariableDeclaration","scope":63961,"src":"15760:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63839,"name":"bytes","nodeType":"ElementaryTypeName","src":"15760:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63845,"initialValue":{"arguments":[{"id":63843,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63821,"src":"15791:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63841,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15780:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15784:6:97","memberName":"encode","nodeType":"MemberAccess","src":"15780:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15780:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15760:37:97"},{"expression":{"arguments":[{"id":63849,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63794,"src":"15823:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63850,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63840,"src":"15831:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63846,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"15807:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15814:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"15807:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63852,"nodeType":"ExpressionStatement","src":"15807:29:97"},{"assignments":[63854],"declarations":[{"constant":false,"id":63854,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"15886:13:97","nodeType":"VariableDeclaration","scope":63961,"src":"15878:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63853,"name":"uint256","nodeType":"ElementaryTypeName","src":"15878:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63856,"initialValue":{"hexValue":"3435303030","id":63855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"15878:29:97"},{"assignments":[63859],"declarations":[{"constant":false,"id":63859,"mutability":"mutable","name":"cv","nameLocation":"15928:2:97","nodeType":"VariableDeclaration","scope":63961,"src":"15917:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63858,"nodeType":"UserDefinedTypeName","pathNode":{"id":63857,"name":"CVStrategy","nameLocations":["15917:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"15917:10:97"},"referencedDeclaration":61025,"src":"15917:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63870,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63865,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63792,"src":"15960:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"15960:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15952:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63863,"name":"address","nodeType":"ElementaryTypeName","src":"15952:7:97","typeDescriptions":{}}},"id":63867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15952:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15944:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63861,"name":"address","nodeType":"ElementaryTypeName","src":"15944:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15944:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63860,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"15933:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"15917:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63877,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16031:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":63876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16023:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63875,"name":"address","nodeType":"ElementaryTypeName","src":"16023:7:97","typeDescriptions":{}}},"id":63878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16023:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63872,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63859,"src":"15995:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15998:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"15995:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15995:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63880,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63854,"src":"16039:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63871,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"15986:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15986:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63882,"nodeType":"ExpressionStatement","src":"15986:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16099:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63884,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63859,"src":"16072:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16075:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"16072:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16072:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63888,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63854,"src":"16103:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63883,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"16063:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16063:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63890,"nodeType":"ExpressionStatement","src":"16063:54:97"},{"expression":{"id":63900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63891,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63821,"src":"16128:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63893,"indexExpression":{"hexValue":"30","id":63892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16128:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16166:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"16169:4:97","subExpression":{"hexValue":"313030","id":63897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16170:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":63894,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"16139:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16150:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"16139:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"16128:46:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63901,"nodeType":"ExpressionStatement","src":"16128:46:97"},{"expression":{"id":63907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63902,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63840,"src":"16184:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63905,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63821,"src":"16202:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63903,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16191:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16195:6:97","memberName":"encode","nodeType":"MemberAccess","src":"16191:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"16184:24:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63908,"nodeType":"ExpressionStatement","src":"16184:24:97"},{"expression":{"arguments":[{"id":63912,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63794,"src":"16234:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63913,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63840,"src":"16242:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63909,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"16218:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"16218:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63915,"nodeType":"ExpressionStatement","src":"16218:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16292:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63922,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16303:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":63921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16295:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63920,"name":"address","nodeType":"ElementaryTypeName","src":"16295:7:97","typeDescriptions":{}}},"id":63923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16295:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63917,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63859,"src":"16267:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16270:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"16267:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16267:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16311:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65","id":63926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16314:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""},"value":"VoterStake"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""}],"id":63916,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16258:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16258:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63928,"nodeType":"ExpressionStatement","src":"16258:69:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16373:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63930,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63859,"src":"16346:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"16346:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16346:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16377:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"5374616b6564416d6f756e74","id":63935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16380:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""},"value":"StakedAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""}],"id":63929,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16337:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16337:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63937,"nodeType":"ExpressionStatement","src":"16337:58:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63939,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63859,"src":"16415:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16418:11:97","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":59239,"src":"16415:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16415:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16433:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564","id":63943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16436:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""},"value":"TotalStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""}],"id":63938,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16406:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63945,"nodeType":"ExpressionStatement","src":"16406:44:97"},{"expression":{"arguments":[{"arguments":[{"id":63949,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"16557:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16549:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63947,"name":"address","nodeType":"ElementaryTypeName","src":"16549:7:97","typeDescriptions":{}}},"id":63950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16549:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16587:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63954,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"16625:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16641:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"16625:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16662:8:97","memberName":"selector","nodeType":"MemberAccess","src":"16625:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63957,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"16672:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63952,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16602:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16606:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16602:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63946,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66200,"src":"16525:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16525:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63960,"nodeType":"ExpressionStatement","src":"16525:171:97"}]},"functionSelector":"61164d4e","implemented":true,"kind":"function","modifiers":[],"name":"test_total_staked_amount","nameLocation":"15190:24:97","parameters":{"id":63786,"nodeType":"ParameterList","parameters":[],"src":"15214:2:97"},"returnParameters":{"id":63787,"nodeType":"ParameterList","parameters":[],"src":"15224:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64061,"nodeType":"FunctionDefinition","src":"16709:866:97","nodes":[],"body":{"id":64060,"nodeType":"Block","src":"16769:806:97","nodes":[],"statements":[{"assignments":[63969,63971],"declarations":[{"constant":false,"id":63969,"mutability":"mutable","name":"pool","nameLocation":"16798:4:97","nodeType":"VariableDeclaration","scope":64060,"src":"16780:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63968,"nodeType":"UserDefinedTypeName","pathNode":{"id":63967,"name":"IAllo.Pool","nameLocations":["16780:5:97","16786:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"16780:10:97"},"referencedDeclaration":2319,"src":"16780:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63971,"mutability":"mutable","name":"poolId","nameLocation":"16812:6:97","nodeType":"VariableDeclaration","scope":64060,"src":"16804:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63970,"name":"uint256","nodeType":"ElementaryTypeName","src":"16804:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63977,"initialValue":{"arguments":[{"id":63973,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16838:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16846:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16849:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63972,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"16822:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16779:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16934:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63978,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"16916:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63981,"nodeType":"ExpressionStatement","src":"16916:39:97"},{"assignments":[63987],"declarations":[{"constant":false,"id":63987,"mutability":"mutable","name":"votes","nameLocation":"17001:5:97","nodeType":"VariableDeclaration","scope":64060,"src":"16965:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63985,"nodeType":"UserDefinedTypeName","pathNode":{"id":63984,"name":"CVStrategy.ProposalSupport","nameLocations":["16965:10:97","16976:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"16965:26:97"},"referencedDeclaration":59201,"src":"16965:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63986,"nodeType":"ArrayTypeName","src":"16965:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63994,"initialValue":{"arguments":[{"hexValue":"32","id":63992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17042:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":63991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17009:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63989,"nodeType":"UserDefinedTypeName","pathNode":{"id":63988,"name":"CVStrategy.ProposalSupport","nameLocations":["17013:10:97","17024:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"17013:26:97"},"referencedDeclaration":59201,"src":"17013:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63990,"nodeType":"ArrayTypeName","src":"17013:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17009:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16965:79:97"},{"expression":{"id":64003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63995,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63987,"src":"17054:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63997,"indexExpression":{"hexValue":"30","id":63996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17060:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17054:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17092:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":64001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17095:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63998,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"17065:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17076:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"17065:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"17054:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64004,"nodeType":"ExpressionStatement","src":"17054:45:97"},{"expression":{"baseExpression":{"id":64005,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63987,"src":"17109:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64007,"indexExpression":{"hexValue":"31","id":64006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17115:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17109:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64008,"nodeType":"ExpressionStatement","src":"17109:8:97"},{"assignments":[64010],"declarations":[{"constant":false,"id":64010,"mutability":"mutable","name":"data","nameLocation":"17140:4:97","nodeType":"VariableDeclaration","scope":64060,"src":"17127:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64009,"name":"bytes","nodeType":"ElementaryTypeName","src":"17127:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64015,"initialValue":{"arguments":[{"id":64013,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63987,"src":"17158:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64011,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17147:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17151:6:97","memberName":"encode","nodeType":"MemberAccess","src":"17147:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17127:37:97"},{"expression":{"arguments":[{"id":64019,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63971,"src":"17296:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64020,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64010,"src":"17304:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64016,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"17280:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17287:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"17280:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64022,"nodeType":"ExpressionStatement","src":"17280:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64023,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"17319:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17319:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64025,"nodeType":"ExpressionStatement","src":"17319:18:97"},{"assignments":[64028],"declarations":[{"constant":false,"id":64028,"mutability":"mutable","name":"cv","nameLocation":"17359:2:97","nodeType":"VariableDeclaration","scope":64060,"src":"17348:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64027,"nodeType":"UserDefinedTypeName","pathNode":{"id":64026,"name":"CVStrategy","nameLocations":["17348:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"17348:10:97"},"referencedDeclaration":61025,"src":"17348:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64039,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64034,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63969,"src":"17391:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17396:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17391:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64033,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17383:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64032,"name":"address","nodeType":"ElementaryTypeName","src":"17383:7:97","typeDescriptions":{}}},"id":64036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17383:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17375:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64030,"name":"address","nodeType":"ElementaryTypeName","src":"17375:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17375:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64029,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"17364:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17364:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17348:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17452:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64046,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17463:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":64045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17455:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64044,"name":"address","nodeType":"ElementaryTypeName","src":"17455:7:97","typeDescriptions":{}}},"id":64047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64041,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64028,"src":"17427:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17430:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"17427:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17427:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64049,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"17471:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64040,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17418:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64051,"nodeType":"ExpressionStatement","src":"17418:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17550:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64053,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64028,"src":"17523:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17526:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"17523:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64057,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"17554:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64052,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17514:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17514:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64059,"nodeType":"ExpressionStatement","src":"17514:54:97"}]},"functionSelector":"39b7e525","implemented":true,"kind":"function","modifiers":[],"name":"test_allocate_proposalSupport_empty_array","nameLocation":"16718:41:97","parameters":{"id":63963,"nodeType":"ParameterList","parameters":[],"src":"16759:2:97"},"returnParameters":{"id":63964,"nodeType":"ParameterList","parameters":[],"src":"16769:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64443,"nodeType":"FunctionDefinition","src":"17581:3967:97","nodes":[],"body":{"id":64442,"nodeType":"Block","src":"17651:3897:97","nodes":[],"statements":[{"assignments":[64068,64070],"declarations":[{"constant":false,"id":64068,"mutability":"mutable","name":"pool","nameLocation":"17680:4:97","nodeType":"VariableDeclaration","scope":64442,"src":"17662:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64067,"nodeType":"UserDefinedTypeName","pathNode":{"id":64066,"name":"IAllo.Pool","nameLocations":["17662:5:97","17668:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"17662:10:97"},"referencedDeclaration":2319,"src":"17662:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64070,"mutability":"mutable","name":"poolId","nameLocation":"17694:6:97","nodeType":"VariableDeclaration","scope":64442,"src":"17686:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64069,"name":"uint256","nodeType":"ElementaryTypeName","src":"17686:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64079,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":64074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17728:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17720:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64072,"name":"address","nodeType":"ElementaryTypeName","src":"17720:7:97","typeDescriptions":{}}},"id":64075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3530","id":64076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17732:8:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50"},{"hexValue":"315f303030","id":64077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17742:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":64071,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"17704:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17704:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"17661:93:97"},{"assignments":[64082],"declarations":[{"constant":false,"id":64082,"mutability":"mutable","name":"cv","nameLocation":"17776:2:97","nodeType":"VariableDeclaration","scope":64442,"src":"17765:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64081,"nodeType":"UserDefinedTypeName","pathNode":{"id":64080,"name":"CVStrategy","nameLocations":["17765:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"17765:10:97"},"referencedDeclaration":61025,"src":"17765:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64093,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64088,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64068,"src":"17808:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17813:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17808:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17800:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64086,"name":"address","nodeType":"ElementaryTypeName","src":"17800:7:97","typeDescriptions":{}}},"id":64090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17800:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17792:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64084,"name":"address","nodeType":"ElementaryTypeName","src":"17792:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17792:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64083,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"17781:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17781:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17765:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":64098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18110:15:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":64097,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"18096:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18096:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64094,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"18084:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18087:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"18084:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18084:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64101,"nodeType":"ExpressionStatement","src":"18084:43:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":64106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18183:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":64105,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"18169:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18169:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64102,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"18154:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18157:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"18154:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18154:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64109,"nodeType":"ExpressionStatement","src":"18154:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":64114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18250:12:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":64113,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"18236:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18236:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64110,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"18223:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18226:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"18223:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18223:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64117,"nodeType":"ExpressionStatement","src":"18223:41:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18367:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64118,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"18349:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18349:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64121,"nodeType":"ExpressionStatement","src":"18349:39:97"},{"assignments":[64123],"declarations":[{"constant":false,"id":64123,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"18405:11:97","nodeType":"VariableDeclaration","scope":64442,"src":"18398:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64122,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64125,"initialValue":{"hexValue":"313030","id":64124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18419:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"18398:24:97"},{"assignments":[64131],"declarations":[{"constant":false,"id":64131,"mutability":"mutable","name":"votes","nameLocation":"18468:5:97","nodeType":"VariableDeclaration","scope":64442,"src":"18432:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64129,"nodeType":"UserDefinedTypeName","pathNode":{"id":64128,"name":"CVStrategy.ProposalSupport","nameLocations":["18432:10:97","18443:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"18432:26:97"},"referencedDeclaration":59201,"src":"18432:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64130,"nodeType":"ArrayTypeName","src":"18432:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64138,"initialValue":{"arguments":[{"hexValue":"31","id":64136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18509:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18476:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64133,"nodeType":"UserDefinedTypeName","pathNode":{"id":64132,"name":"CVStrategy.ProposalSupport","nameLocations":["18480:10:97","18491:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"18480:26:97"},"referencedDeclaration":59201,"src":"18480:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64134,"nodeType":"ArrayTypeName","src":"18480:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18476:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18432:79:97"},{"expression":{"id":64147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64139,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64131,"src":"18521:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64141,"indexExpression":{"hexValue":"30","id":64140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18527:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18521:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18559:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64145,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64123,"src":"18562:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64142,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"18532:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18543:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"18532:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18532:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"18521:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64148,"nodeType":"ExpressionStatement","src":"18521:53:97"},{"assignments":[64150],"declarations":[{"constant":false,"id":64150,"mutability":"mutable","name":"data","nameLocation":"18618:4:97","nodeType":"VariableDeclaration","scope":64442,"src":"18605:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64149,"name":"bytes","nodeType":"ElementaryTypeName","src":"18605:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64155,"initialValue":{"arguments":[{"id":64153,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64131,"src":"18636:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64151,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18625:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18629:6:97","memberName":"encode","nodeType":"MemberAccess","src":"18625:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18625:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18605:37:97"},{"expression":{"arguments":[{"id":64159,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64070,"src":"18668:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64160,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64150,"src":"18676:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64156,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"18652:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18659:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"18652:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64162,"nodeType":"ExpressionStatement","src":"18652:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64163,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"18691:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64165,"nodeType":"ExpressionStatement","src":"18691:18:97"},{"assignments":[64167],"declarations":[{"constant":false,"id":64167,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"18728:13:97","nodeType":"VariableDeclaration","scope":64442,"src":"18720:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64166,"name":"uint256","nodeType":"ElementaryTypeName","src":"18720:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64176,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64170,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64123,"src":"18752:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18744:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64168,"name":"uint256","nodeType":"ElementaryTypeName","src":"18744:7:97","typeDescriptions":{}}},"id":64171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18744:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64172,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"18767:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18744:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18783:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"18744:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18720:66:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18830:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64183,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18841:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":64182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18833:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64181,"name":"address","nodeType":"ElementaryTypeName","src":"18833:7:97","typeDescriptions":{}}},"id":64184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64178,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"18805:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18808:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"18805:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18805:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64186,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64167,"src":"18849:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64177,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18796:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18796:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64188,"nodeType":"ExpressionStatement","src":"18796:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18927:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64190,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"18900:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18903:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"18900:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18900:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64194,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64167,"src":"18931:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64189,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18891:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18891:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64196,"nodeType":"ExpressionStatement","src":"18891:54:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64200,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19042:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19042:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64197,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19028:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19031:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"19028:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19028:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64203,"nodeType":"ExpressionStatement","src":"19028:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64204,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"19158:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19161:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"19158:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19158:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64208,"nodeType":"ExpressionStatement","src":"19158:19:97"},{"assignments":[64214],"declarations":[{"constant":false,"id":64214,"mutability":"mutable","name":"votes2","nameLocation":"19224:6:97","nodeType":"VariableDeclaration","scope":64442,"src":"19188:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64212,"nodeType":"UserDefinedTypeName","pathNode":{"id":64211,"name":"CVStrategy.ProposalSupport","nameLocations":["19188:10:97","19199:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"19188:26:97"},"referencedDeclaration":59201,"src":"19188:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64213,"nodeType":"ArrayTypeName","src":"19188:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64221,"initialValue":{"arguments":[{"hexValue":"31","id":64219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19266:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19233:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64216,"nodeType":"UserDefinedTypeName","pathNode":{"id":64215,"name":"CVStrategy.ProposalSupport","nameLocations":["19237:10:97","19248:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"19237:26:97"},"referencedDeclaration":59201,"src":"19237:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64217,"nodeType":"ArrayTypeName","src":"19237:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19233:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19188:80:97"},{"assignments":[64223],"declarations":[{"constant":false,"id":64223,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"19285:12:97","nodeType":"VariableDeclaration","scope":64442,"src":"19278:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64222,"name":"int256","nodeType":"ElementaryTypeName","src":"19278:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64225,"initialValue":{"hexValue":"313030","id":64224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19300:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"19278:25:97"},{"expression":{"id":64234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64226,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64214,"src":"19313:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64228,"indexExpression":{"hexValue":"30","id":64227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19320:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19313:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19352:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64232,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64223,"src":"19355:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64229,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"19325:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19336:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"19325:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19325:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"19313:55:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64235,"nodeType":"ExpressionStatement","src":"19313:55:97"},{"expression":{"id":64241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64236,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64150,"src":"19378:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64239,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64214,"src":"19396:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64237,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19385:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19389:6:97","memberName":"encode","nodeType":"MemberAccess","src":"19385:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19385:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19378:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":64242,"nodeType":"ExpressionStatement","src":"19378:25:97"},{"expression":{"arguments":[{"id":64246,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64070,"src":"19480:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64247,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64150,"src":"19488:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64243,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"19464:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19471:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"19464:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64249,"nodeType":"ExpressionStatement","src":"19464:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64250,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19503:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19506:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"19503:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19503:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64254,"nodeType":"ExpressionStatement","src":"19503:14:97"},{"assignments":[64256],"declarations":[{"constant":false,"id":64256,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"19536:14:97","nodeType":"VariableDeclaration","scope":64442,"src":"19528:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64255,"name":"uint256","nodeType":"ElementaryTypeName","src":"19528:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64265,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64259,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64223,"src":"19561:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19553:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64257,"name":"uint256","nodeType":"ElementaryTypeName","src":"19553:7:97","typeDescriptions":{}}},"id":64260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19553:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64261,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"19577:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19553:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19593:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"19553:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19528:68:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19641:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64272,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19652:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19652:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19644:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64270,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:97","typeDescriptions":{}}},"id":64274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19644:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64267,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"19616:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19619:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"19616:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64276,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64256,"src":"19668:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64266,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19607:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19607:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64278,"nodeType":"ExpressionStatement","src":"19607:76:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19748:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64280,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"19721:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19724:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"19721:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19721:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64284,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64167,"src":"19752:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":64285,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64256,"src":"19768:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19752:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64279,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19712:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19712:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64288,"nodeType":"ExpressionStatement","src":"19712:71:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":64292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19860:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":64293,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"19883:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19889:6:97","memberName":"number","nodeType":"MemberAccess","src":"19883:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64289,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"19848:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19856:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"19848:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19848:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64296,"nodeType":"ExpressionStatement","src":"19848:48:97"},{"assignments":[64298],"declarations":[{"constant":false,"id":64298,"mutability":"mutable","name":"totalEffectiveActivePoints","nameLocation":"19914:26:97","nodeType":"VariableDeclaration","scope":64442,"src":"19906:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64297,"name":"uint256","nodeType":"ElementaryTypeName","src":"19906:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64302,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64299,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"19943:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19946:26:97","memberName":"totalEffectiveActivePoints","nodeType":"MemberAccess","referencedDeclaration":60850,"src":"19943:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19943:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19906:68:97"},{"expression":{"arguments":[{"hexValue":"746f74616c456666656374697665416374697665506f696e7473","id":64306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19996:28:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},"value":"totalEffectiveActivePoints"},{"id":64307,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64298,"src":"20026:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64303,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"19984:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19992:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"19984:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64309,"nodeType":"ExpressionStatement","src":"19984:69:97"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":64313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20075:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"id":64316,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64298,"src":"20110:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64314,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"20090:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20093:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20090:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20090:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64310,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20063:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20071:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20063:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64319,"nodeType":"ExpressionStatement","src":"20063:75:97"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":64323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20160:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":64328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20222:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64326,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"20195:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20198:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"20195:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20195:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64324,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"20175:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20178:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20175:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20175:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64320,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20148:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20156:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20148:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20148:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64332,"nodeType":"ExpressionStatement","src":"20148:78:97"},{"expression":{"arguments":[{"arguments":[{"id":64336,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64298,"src":"20266:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64334,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"20246:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20249:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20246:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"323839303334","id":64338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20295:6:97","typeDescriptions":{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},"value":"289034"},{"hexValue":"6d61784356537570706c79","id":64339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20303:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""}],"id":64333,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20237:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20237:80:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64341,"nodeType":"ExpressionStatement","src":"20237:80:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"31","id":64347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20383:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64345,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"20356:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20359:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"20356:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64343,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"20336:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20339:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20336:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20336:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3238393033","id":64350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20388:5:97","typeDescriptions":{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},"value":"28903"},{"hexValue":"6d617843565374616b6564","id":64351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20395:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""}],"id":64342,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20327:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20327:82:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64353,"nodeType":"ExpressionStatement","src":"20327:82:97"},{"expression":{"arguments":[{"hexValue":"313130","id":64357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20428:3:97","typeDescriptions":{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"},"value":"110"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"}],"expression":{"id":64354,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"20420:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20423:4:97","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23849,"src":"20420:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20420:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64359,"nodeType":"ExpressionStatement","src":"20420:12:97"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":64363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20454:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":64364,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20476:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20482:6:97","memberName":"number","nodeType":"MemberAccess","src":"20476:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64360,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20442:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20450:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20442:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20442:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64367,"nodeType":"ExpressionStatement","src":"20442:47:97"},{"expression":{"arguments":[{"hexValue":"31","id":64371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20774:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64368,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"20746:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20749:24:97","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":60948,"src":"20746:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":64372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20746:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64373,"nodeType":"ExpressionStatement","src":"20746:30:97"},{"assignments":[null,null,null,64375,64377,null,null,null,64379,null,64381,64383],"declarations":[null,null,null,{"constant":false,"id":64375,"mutability":"mutable","name":"requestedAmount","nameLocation":"20851:15:97","nodeType":"VariableDeclaration","scope":64442,"src":"20843:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64374,"name":"uint256","nodeType":"ElementaryTypeName","src":"20843:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64377,"mutability":"mutable","name":"stakedTokens","nameLocation":"20888:12:97","nodeType":"VariableDeclaration","scope":64442,"src":"20880:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64376,"name":"uint256","nodeType":"ElementaryTypeName","src":"20880:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":64379,"mutability":"mutable","name":"convictionLast","nameLocation":"20964:14:97","nodeType":"VariableDeclaration","scope":64442,"src":"20956:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64378,"name":"uint256","nodeType":"ElementaryTypeName","src":"20956:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64381,"mutability":"mutable","name":"threshold","nameLocation":"21014:9:97","nodeType":"VariableDeclaration","scope":64442,"src":"21006:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64380,"name":"uint256","nodeType":"ElementaryTypeName","src":"21006:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64383,"mutability":"mutable","name":"voterPointsPct","nameLocation":"21045:14:97","nodeType":"VariableDeclaration","scope":64442,"src":"21037:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64382,"name":"uint256","nodeType":"ElementaryTypeName","src":"21037:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64388,"initialValue":{"arguments":[{"hexValue":"31","id":64386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21087:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64384,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64082,"src":"21072:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21075:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"21072:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20787:302:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21112:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64393,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64375,"src":"21136:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64389,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21100:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21108:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21100:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21100:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64395,"nodeType":"ExpressionStatement","src":"21100:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21174:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64400,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64377,"src":"21195:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64396,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21162:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21170:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21162:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21162:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64402,"nodeType":"ExpressionStatement","src":"21162:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21230:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64407,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64381,"src":"21247:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64403,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21218:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21226:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21218:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21218:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64409,"nodeType":"ExpressionStatement","src":"21218:39:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21279:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64414,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64379,"src":"21302:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64410,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21267:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21275:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21267:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21267:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64416,"nodeType":"ExpressionStatement","src":"21267:50:97"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":64420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21339:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":64421,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64383,"src":"21362:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64417,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21327:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21335:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21327:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64423,"nodeType":"ExpressionStatement","src":"21327:50:97"},{"expression":{"arguments":[{"id":64425,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64381,"src":"21396:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3537383036","id":64426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21407:5:97","typeDescriptions":{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},"value":"57806"},{"hexValue":"7468726573686f6c64","id":64427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21414:11:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""},"value":"threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""}],"id":64424,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21387:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21387:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64429,"nodeType":"ExpressionStatement","src":"21387:39:97"},{"expression":{"arguments":[{"id":64431,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64379,"src":"21445:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"39303933","id":64432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21461:4:97","typeDescriptions":{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},"value":"9093"},{"hexValue":"636f6e76696374696f6e4c617374","id":64433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21467:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""},"value":"convictionLast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""}],"id":64430,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21436:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21436:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64435,"nodeType":"ExpressionStatement","src":"21436:48:97"},{"expression":{"arguments":[{"id":64437,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64383,"src":"21503:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313030","id":64438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21519:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"766f746572506f696e7473506374","id":64439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21524:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""},"value":"voterPointsPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""}],"id":64436,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21494:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21494:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64441,"nodeType":"ExpressionStatement","src":"21494:47:97"}]},"functionSelector":"503c712e","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_conviction_threshold_2_users","nameLocation":"17590:51:97","parameters":{"id":64062,"nodeType":"ParameterList","parameters":[],"src":"17641:2:97"},"returnParameters":{"id":64063,"nodeType":"ParameterList","parameters":[],"src":"17651:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64800,"nodeType":"FunctionDefinition","src":"21554:3158:97","nodes":[],"body":{"id":64799,"nodeType":"Block","src":"21597:3115:97","nodes":[],"statements":[{"assignments":[64450,64452],"declarations":[{"constant":false,"id":64450,"mutability":"mutable","name":"pool","nameLocation":"21626:4:97","nodeType":"VariableDeclaration","scope":64799,"src":"21608:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64449,"nodeType":"UserDefinedTypeName","pathNode":{"id":64448,"name":"IAllo.Pool","nameLocations":["21608:5:97","21614:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21608:10:97"},"referencedDeclaration":2319,"src":"21608:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64452,"mutability":"mutable","name":"poolId","nameLocation":"21640:6:97","nodeType":"VariableDeclaration","scope":64799,"src":"21632:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64451,"name":"uint256","nodeType":"ElementaryTypeName","src":"21632:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64458,"initialValue":{"arguments":[{"id":64454,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21666:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":64455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21674:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":64456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21677:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64453,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"21650:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21650:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21607:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21762:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64459,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"21744:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21744:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64462,"nodeType":"ExpressionStatement","src":"21744:39:97"},{"assignments":[64464],"declarations":[{"constant":false,"id":64464,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"21800:11:97","nodeType":"VariableDeclaration","scope":64799,"src":"21793:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64463,"name":"int256","nodeType":"ElementaryTypeName","src":"21793:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64466,"initialValue":{"hexValue":"3830","id":64465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21814:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"VariableDeclarationStatement","src":"21793:23:97"},{"assignments":[64472],"declarations":[{"constant":false,"id":64472,"mutability":"mutable","name":"votes","nameLocation":"21862:5:97","nodeType":"VariableDeclaration","scope":64799,"src":"21826:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64470,"nodeType":"UserDefinedTypeName","pathNode":{"id":64469,"name":"CVStrategy.ProposalSupport","nameLocations":["21826:10:97","21837:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"21826:26:97"},"referencedDeclaration":59201,"src":"21826:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64471,"nodeType":"ArrayTypeName","src":"21826:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64479,"initialValue":{"arguments":[{"hexValue":"31","id":64477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21903:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"21870:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64474,"nodeType":"UserDefinedTypeName","pathNode":{"id":64473,"name":"CVStrategy.ProposalSupport","nameLocations":["21874:10:97","21885:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"21874:26:97"},"referencedDeclaration":59201,"src":"21874:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64475,"nodeType":"ArrayTypeName","src":"21874:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21870:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"21826:79:97"},{"expression":{"id":64488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64480,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64472,"src":"21915:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64482,"indexExpression":{"hexValue":"30","id":64481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21921:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21915:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21953:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64486,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64464,"src":"21956:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64483,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"21926:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21937:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"21926:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21926:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"21915:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64489,"nodeType":"ExpressionStatement","src":"21915:53:97"},{"assignments":[64491],"declarations":[{"constant":false,"id":64491,"mutability":"mutable","name":"data","nameLocation":"22012:4:97","nodeType":"VariableDeclaration","scope":64799,"src":"21999:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64490,"name":"bytes","nodeType":"ElementaryTypeName","src":"21999:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64496,"initialValue":{"arguments":[{"id":64494,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64472,"src":"22030:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64492,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22019:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22023:6:97","memberName":"encode","nodeType":"MemberAccess","src":"22019:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22019:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21999:37:97"},{"expression":{"arguments":[{"id":64500,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64452,"src":"22062:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64501,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64491,"src":"22070:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64497,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22046:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22053:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"22046:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64503,"nodeType":"ExpressionStatement","src":"22046:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64504,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"22085:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22085:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64506,"nodeType":"ExpressionStatement","src":"22085:18:97"},{"assignments":[64508],"declarations":[{"constant":false,"id":64508,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"22122:13:97","nodeType":"VariableDeclaration","scope":64799,"src":"22114:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64507,"name":"uint256","nodeType":"ElementaryTypeName","src":"22114:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64517,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64511,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64464,"src":"22146:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22138:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64509,"name":"uint256","nodeType":"ElementaryTypeName","src":"22138:7:97","typeDescriptions":{}}},"id":64512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22138:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64513,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"22161:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22138:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22177:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"22138:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22114:66:97"},{"assignments":[64520],"declarations":[{"constant":false,"id":64520,"mutability":"mutable","name":"cv","nameLocation":"22201:2:97","nodeType":"VariableDeclaration","scope":64799,"src":"22190:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64519,"nodeType":"UserDefinedTypeName","pathNode":{"id":64518,"name":"CVStrategy","nameLocations":["22190:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"22190:10:97"},"referencedDeclaration":61025,"src":"22190:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64531,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64526,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64450,"src":"22233:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22238:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"22233:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22225:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64524,"name":"address","nodeType":"ElementaryTypeName","src":"22225:7:97","typeDescriptions":{}}},"id":64528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22225:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22217:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64522,"name":"address","nodeType":"ElementaryTypeName","src":"22217:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64521,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"22206:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22206:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"22190:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22293:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64538,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22304:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":64537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22296:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64536,"name":"address","nodeType":"ElementaryTypeName","src":"22296:7:97","typeDescriptions":{}}},"id":64539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22296:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64533,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"22268:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22271:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"22268:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22268:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64541,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64508,"src":"22312:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6531","id":64542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22327:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""},"value":"ProposalVoterStake1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""}],"id":64532,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"22259:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22259:90:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64544,"nodeType":"ExpressionStatement","src":"22259:90:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22413:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64546,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"22386:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"22386:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64550,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64508,"src":"22417:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64545,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"22377:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22377:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64552,"nodeType":"ExpressionStatement","src":"22377:54:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64556,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22528:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64553,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"22514:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22517:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"22514:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22514:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64559,"nodeType":"ExpressionStatement","src":"22514:27:97"},{"assignments":[64561],"declarations":[{"constant":false,"id":64561,"mutability":"mutable","name":"proposalID2","nameLocation":"22560:11:97","nodeType":"VariableDeclaration","scope":64799,"src":"22552:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64560,"name":"uint256","nodeType":"ElementaryTypeName","src":"22552:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64563,"initialValue":{"hexValue":"32","id":64562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22574:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"22552:23:97"},{"assignments":[64568],"declarations":[{"constant":false,"id":64568,"mutability":"mutable","name":"proposal","nameLocation":"22618:8:97","nodeType":"VariableDeclaration","scope":64799,"src":"22585:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":64567,"nodeType":"UserDefinedTypeName","pathNode":{"id":64566,"name":"CVStrategy.CreateProposal","nameLocations":["22585:10:97","22596:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"22585:25:97"},"referencedDeclaration":59158,"src":"22585:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":64584,"initialValue":{"arguments":[{"id":64571,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64561,"src":"22668:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64572,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64452,"src":"22681:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":64573,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22689:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22689:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":64575,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"22703:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22714:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"22703:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":64577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22727:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"22703:31:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"id":64578,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62280,"src":"22736:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":64581,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"22762:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":64580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22754:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64579,"name":"address","nodeType":"ElementaryTypeName","src":"22754:7:97","typeDescriptions":{}}},"id":64582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22754:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64569,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"22629:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22640:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"22629:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":64583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22629:149:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"22585:193:97"},{"assignments":[64586],"declarations":[{"constant":false,"id":64586,"mutability":"mutable","name":"data2","nameLocation":"22801:5:97","nodeType":"VariableDeclaration","scope":64799,"src":"22788:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64585,"name":"bytes","nodeType":"ElementaryTypeName","src":"22788:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64591,"initialValue":{"arguments":[{"id":64589,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64568,"src":"22820:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":64587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22809:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22813:6:97","memberName":"encode","nodeType":"MemberAccess","src":"22809:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22809:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22788:41:97"},{"expression":{"arguments":[{"id":64595,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64452,"src":"22864:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64596,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64586,"src":"22872:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64592,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22839:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22846:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"22839:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":64597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64598,"nodeType":"ExpressionStatement","src":"22839:39:97"},{"expression":{"arguments":[{"arguments":[{"id":64604,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"22911:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":64603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22903:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64602,"name":"address","nodeType":"ElementaryTypeName","src":"22903:7:97","typeDescriptions":{}}},"id":64605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22903:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64606,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"22929:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":64607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22945:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61757,"src":"22929:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22929:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64599,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62265,"src":"22889:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":64601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22895:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"22889:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64610,"nodeType":"ExpressionStatement","src":"22889:79:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64611,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"23031:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"23031:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23031:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64615,"nodeType":"ExpressionStatement","src":"23031:19:97"},{"assignments":[64621],"declarations":[{"constant":false,"id":64621,"mutability":"mutable","name":"votes2","nameLocation":"23097:6:97","nodeType":"VariableDeclaration","scope":64799,"src":"23061:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64619,"nodeType":"UserDefinedTypeName","pathNode":{"id":64618,"name":"CVStrategy.ProposalSupport","nameLocations":["23061:10:97","23072:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"23061:26:97"},"referencedDeclaration":59201,"src":"23061:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64620,"nodeType":"ArrayTypeName","src":"23061:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64628,"initialValue":{"arguments":[{"hexValue":"31","id":64626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23139:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"23106:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64623,"nodeType":"UserDefinedTypeName","pathNode":{"id":64622,"name":"CVStrategy.ProposalSupport","nameLocations":["23110:10:97","23121:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"23110:26:97"},"referencedDeclaration":59201,"src":"23110:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64624,"nodeType":"ArrayTypeName","src":"23110:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23106:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23061:80:97"},{"assignments":[64630],"declarations":[{"constant":false,"id":64630,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"23158:12:97","nodeType":"VariableDeclaration","scope":64799,"src":"23151:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64629,"name":"int256","nodeType":"ElementaryTypeName","src":"23151:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64632,"initialValue":{"hexValue":"313030","id":64631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23173:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"23151:25:97"},{"expression":{"id":64641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64633,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64621,"src":"23186:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64635,"indexExpression":{"hexValue":"30","id":64634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23193:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23186:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64638,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64561,"src":"23225:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64639,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"23238:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64636,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"23198:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23209:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"23198:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"23186:65:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64642,"nodeType":"ExpressionStatement","src":"23186:65:97"},{"expression":{"id":64648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64643,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64491,"src":"23261:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64646,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64621,"src":"23279:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64644,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23268:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23272:6:97","memberName":"encode","nodeType":"MemberAccess","src":"23268:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23268:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"23261:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":64649,"nodeType":"ExpressionStatement","src":"23261:25:97"},{"expression":{"arguments":[{"id":64653,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64452,"src":"23363:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64654,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64491,"src":"23371:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64650,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"23347:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23354:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"23347:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64656,"nodeType":"ExpressionStatement","src":"23347:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64657,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23386:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23389:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"23386:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23386:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64661,"nodeType":"ExpressionStatement","src":"23386:14:97"},{"assignments":[64663],"declarations":[{"constant":false,"id":64663,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"23419:14:97","nodeType":"VariableDeclaration","scope":64799,"src":"23411:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64662,"name":"uint256","nodeType":"ElementaryTypeName","src":"23411:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64672,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64666,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64630,"src":"23444:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64664,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:97","typeDescriptions":{}}},"id":64667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23436:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64668,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"23460:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23436:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23476:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"23436:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23411:68:97"},{"expression":{"arguments":[{"arguments":[{"id":64676,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64561,"src":"23524:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64679,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"23545:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23545:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23537:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64677,"name":"address","nodeType":"ElementaryTypeName","src":"23537:7:97","typeDescriptions":{}}},"id":64681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23537:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64674,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"23499:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23502:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"23499:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23499:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64683,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64663,"src":"23561:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6532","id":64684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23577:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""},"value":"ProposalVoterStake2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""}],"id":64673,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23490:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:109:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64686,"nodeType":"ExpressionStatement","src":"23490:109:97"},{"expression":{"arguments":[{"arguments":[{"id":64690,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64561,"src":"23664:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64688,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"23637:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23640:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"23637:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23637:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64692,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64663,"src":"23678:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5374616b65644d6f756e7432","id":64693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23694:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""},"value":"StakedMount2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""}],"id":64687,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23628:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23628:81:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64695,"nodeType":"ExpressionStatement","src":"23628:81:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":64699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23786:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":64700,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23809:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23815:6:97","memberName":"number","nodeType":"MemberAccess","src":"23809:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64696,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23774:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23782:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23774:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23774:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64703,"nodeType":"ExpressionStatement","src":"23774:48:97"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":64707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23844:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64710,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"23879:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23882:11:97","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":59239,"src":"23879:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23879:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64708,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"23859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23862:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"23859:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23859:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64704,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23832:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23840:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23832:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23832:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64715,"nodeType":"ExpressionStatement","src":"23832:65:97"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":64719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23919:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":64724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23981:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64722,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"23954:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23957:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"23954:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23954:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64720,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"23934:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23937:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"23934:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23934:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64716,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23907:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23915:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23907:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23907:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64728,"nodeType":"ExpressionStatement","src":"23907:78:97"},{"expression":{"arguments":[{"hexValue":"3130","id":64732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24003:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"expression":{"id":64729,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23995:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23998:4:97","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23849,"src":"23995:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23995:11:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64734,"nodeType":"ExpressionStatement","src":"23995:11:97"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":64738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24028:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":64739,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24050:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24056:6:97","memberName":"number","nodeType":"MemberAccess","src":"24050:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64735,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24016:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24024:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24016:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24016:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64742,"nodeType":"ExpressionStatement","src":"24016:47:97"},{"expression":{"arguments":[{"hexValue":"31","id":64746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24102:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64743,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"24074:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24077:24:97","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":60948,"src":"24074:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":64747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24074:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64748,"nodeType":"ExpressionStatement","src":"24074:30:97"},{"assignments":[null,null,null,64750,64752,null,null,null,64754,null,64756,64758],"declarations":[null,null,null,{"constant":false,"id":64750,"mutability":"mutable","name":"requestedAmount","nameLocation":"24179:15:97","nodeType":"VariableDeclaration","scope":64799,"src":"24171:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64749,"name":"uint256","nodeType":"ElementaryTypeName","src":"24171:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64752,"mutability":"mutable","name":"stakedTokens","nameLocation":"24216:12:97","nodeType":"VariableDeclaration","scope":64799,"src":"24208:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64751,"name":"uint256","nodeType":"ElementaryTypeName","src":"24208:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":64754,"mutability":"mutable","name":"convictionLast","nameLocation":"24292:14:97","nodeType":"VariableDeclaration","scope":64799,"src":"24284:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64753,"name":"uint256","nodeType":"ElementaryTypeName","src":"24284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64756,"mutability":"mutable","name":"threshold","nameLocation":"24342:9:97","nodeType":"VariableDeclaration","scope":64799,"src":"24334:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64755,"name":"uint256","nodeType":"ElementaryTypeName","src":"24334:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64758,"mutability":"mutable","name":"voterPointsPct","nameLocation":"24373:14:97","nodeType":"VariableDeclaration","scope":64799,"src":"24365:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64757,"name":"uint256","nodeType":"ElementaryTypeName","src":"24365:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64763,"initialValue":{"arguments":[{"hexValue":"31","id":64761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24415:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64759,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64520,"src":"24400:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24403:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"24400:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24400:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24115:302:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24440:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64768,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64750,"src":"24464:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64764,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24428:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24436:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24428:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24428:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64770,"nodeType":"ExpressionStatement","src":"24428:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24502:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64775,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64752,"src":"24523:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64771,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24490:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24498:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24490:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64777,"nodeType":"ExpressionStatement","src":"24490:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24558:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64782,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64756,"src":"24575:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64778,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24546:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24554:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24546:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24546:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64784,"nodeType":"ExpressionStatement","src":"24546:39:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24607:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64789,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64754,"src":"24630:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64785,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24595:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24603:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24595:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24595:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64791,"nodeType":"ExpressionStatement","src":"24595:50:97"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":64795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24667:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":64796,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64758,"src":"24690:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64792,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24655:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24663:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24655:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24655:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64798,"nodeType":"ExpressionStatement","src":"24655:50:97"}]},"functionSelector":"757e122d","implemented":true,"kind":"function","modifiers":[],"name":"test_1_proposalSupported","nameLocation":"21563:24:97","parameters":{"id":64444,"nodeType":"ParameterList","parameters":[],"src":"21587:2:97"},"returnParameters":{"id":64445,"nodeType":"ParameterList","parameters":[],"src":"21597:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65010,"nodeType":"FunctionDefinition","src":"24718:2468:97","nodes":[],"body":{"id":65009,"nodeType":"Block","src":"24765:2421:97","nodes":[],"statements":[{"assignments":[64807,64809],"declarations":[{"constant":false,"id":64807,"mutability":"mutable","name":"pool","nameLocation":"24794:4:97","nodeType":"VariableDeclaration","scope":65009,"src":"24776:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64806,"nodeType":"UserDefinedTypeName","pathNode":{"id":64805,"name":"IAllo.Pool","nameLocations":["24776:5:97","24782:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24776:10:97"},"referencedDeclaration":2319,"src":"24776:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64809,"mutability":"mutable","name":"poolId","nameLocation":"24808:6:97","nodeType":"VariableDeclaration","scope":65009,"src":"24800:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64808,"name":"uint256","nodeType":"ElementaryTypeName","src":"24800:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64815,"initialValue":{"arguments":[{"id":64811,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"24834:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":64812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24842:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":64813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24845:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64810,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"24818:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24818:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24775:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64816,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"24912:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24912:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64819,"nodeType":"ExpressionStatement","src":"24912:39:97"},{"assignments":[64821],"declarations":[{"constant":false,"id":64821,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"24968:11:97","nodeType":"VariableDeclaration","scope":65009,"src":"24961:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64820,"name":"int256","nodeType":"ElementaryTypeName","src":"24961:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64823,"initialValue":{"hexValue":"313030","id":64822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24982:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"24961:24:97"},{"assignments":[64829],"declarations":[{"constant":false,"id":64829,"mutability":"mutable","name":"votes","nameLocation":"25031:5:97","nodeType":"VariableDeclaration","scope":65009,"src":"24995:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64827,"nodeType":"UserDefinedTypeName","pathNode":{"id":64826,"name":"CVStrategy.ProposalSupport","nameLocations":["24995:10:97","25006:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"24995:26:97"},"referencedDeclaration":59201,"src":"24995:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64828,"nodeType":"ArrayTypeName","src":"24995:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64836,"initialValue":{"arguments":[{"hexValue":"31","id":64834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25072:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"25039:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64831,"nodeType":"UserDefinedTypeName","pathNode":{"id":64830,"name":"CVStrategy.ProposalSupport","nameLocations":["25043:10:97","25054:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"25043:26:97"},"referencedDeclaration":59201,"src":"25043:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64832,"nodeType":"ArrayTypeName","src":"25043:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25039:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"24995:79:97"},{"expression":{"id":64845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64837,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64829,"src":"25084:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64839,"indexExpression":{"hexValue":"30","id":64838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25090:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25084:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25122:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64843,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64821,"src":"25125:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64840,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"25095:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25106:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"25095:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25095:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"25084:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64846,"nodeType":"ExpressionStatement","src":"25084:53:97"},{"expression":{"arguments":[{"id":64850,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64809,"src":"25217:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":64853,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64829,"src":"25236:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25225:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25229:6:97","memberName":"encode","nodeType":"MemberAccess","src":"25225:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25225:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64847,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"25201:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25208:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"25201:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64856,"nodeType":"ExpressionStatement","src":"25201:42:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64857,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"25253:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64859,"nodeType":"ExpressionStatement","src":"25253:18:97"},{"assignments":[64861],"declarations":[{"constant":false,"id":64861,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"25290:13:97","nodeType":"VariableDeclaration","scope":65009,"src":"25282:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64860,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64870,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64864,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64821,"src":"25314:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25306:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64862,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:97","typeDescriptions":{}}},"id":64865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25306:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64866,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"25329:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25306:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25345:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"25306:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25282:66:97"},{"assignments":[64873],"declarations":[{"constant":false,"id":64873,"mutability":"mutable","name":"cv","nameLocation":"25369:2:97","nodeType":"VariableDeclaration","scope":65009,"src":"25358:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64872,"nodeType":"UserDefinedTypeName","pathNode":{"id":64871,"name":"CVStrategy","nameLocations":["25358:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"25358:10:97"},"referencedDeclaration":61025,"src":"25358:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64884,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64879,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64807,"src":"25401:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25406:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"25401:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25393:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64877,"name":"address","nodeType":"ElementaryTypeName","src":"25393:7:97","typeDescriptions":{}}},"id":64881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25393:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25385:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64875,"name":"address","nodeType":"ElementaryTypeName","src":"25385:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25385:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64874,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"25374:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25374:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"25358:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25461:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64891,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"25472:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":64890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25464:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64889,"name":"address","nodeType":"ElementaryTypeName","src":"25464:7:97","typeDescriptions":{}}},"id":64892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25464:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64886,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"25436:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25439:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"25436:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25436:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64894,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64861,"src":"25480:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64885,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25427:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25427:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64896,"nodeType":"ExpressionStatement","src":"25427:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25558:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64898,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"25531:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25534:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"25531:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64902,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64861,"src":"25562:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64897,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25522:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25522:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64904,"nodeType":"ExpressionStatement","src":"25522:54:97"},{"assignments":[null,64906,null,64908,64910,null,null,64912,64914,null,64916,null],"declarations":[null,{"constant":false,"id":64906,"mutability":"mutable","name":"beneficiary","nameLocation":"25641:11:97","nodeType":"VariableDeclaration","scope":65009,"src":"25633:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64905,"name":"address","nodeType":"ElementaryTypeName","src":"25633:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null,{"constant":false,"id":64908,"mutability":"mutable","name":"requestedAmount","nameLocation":"25688:15:97","nodeType":"VariableDeclaration","scope":65009,"src":"25680:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64907,"name":"uint256","nodeType":"ElementaryTypeName","src":"25680:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64910,"mutability":"mutable","name":"stakedTokens","nameLocation":"25725:12:97","nodeType":"VariableDeclaration","scope":65009,"src":"25717:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64909,"name":"uint256","nodeType":"ElementaryTypeName","src":"25717:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":64912,"mutability":"mutable","name":"blockLast","nameLocation":"25787:9:97","nodeType":"VariableDeclaration","scope":65009,"src":"25779:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64911,"name":"uint256","nodeType":"ElementaryTypeName","src":"25779:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64914,"mutability":"mutable","name":"convictionLast","nameLocation":"25818:14:97","nodeType":"VariableDeclaration","scope":65009,"src":"25810:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64913,"name":"uint256","nodeType":"ElementaryTypeName","src":"25810:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64916,"mutability":"mutable","name":"threshold","nameLocation":"25868:9:97","nodeType":"VariableDeclaration","scope":65009,"src":"25860:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64915,"name":"uint256","nodeType":"ElementaryTypeName","src":"25860:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":64921,"initialValue":{"arguments":[{"hexValue":"31","id":64919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25944:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64917,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64873,"src":"25929:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25932:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"25929:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25929:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25605:341:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26154:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64926,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64908,"src":"26178:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64922,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26142:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26150:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26142:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26142:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64928,"nodeType":"ExpressionStatement","src":"26142:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26216:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64933,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64910,"src":"26237:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64929,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26204:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26212:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26204:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26204:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64935,"nodeType":"ExpressionStatement","src":"26204:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26272:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64940,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64916,"src":"26289:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64936,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26260:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26268:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26260:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26260:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64942,"nodeType":"ExpressionStatement","src":"26260:39:97"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":64946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26391:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":64947,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64912,"src":"26409:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64943,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26379:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26387:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26379:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26379:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64949,"nodeType":"ExpressionStatement","src":"26379:40:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26441:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64954,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64914,"src":"26464:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64950,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26429:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26437:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26429:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64956,"nodeType":"ExpressionStatement","src":"26429:50:97"},{"assignments":[64961],"declarations":[{"constant":false,"id":64961,"mutability":"mutable","name":"recipients","nameLocation":"26677:10:97","nodeType":"VariableDeclaration","scope":65009,"src":"26660:27:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64959,"name":"address","nodeType":"ElementaryTypeName","src":"26660:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64960,"nodeType":"ArrayTypeName","src":"26660:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":64967,"initialValue":{"arguments":[{"hexValue":"30","id":64965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26704:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26690:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":64962,"name":"address","nodeType":"ElementaryTypeName","src":"26694:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64963,"nodeType":"ArrayTypeName","src":"26694:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":64966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26690:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26660:46:97"},{"assignments":[64969],"declarations":[{"constant":false,"id":64969,"mutability":"mutable","name":"dataProposal","nameLocation":"26768:12:97","nodeType":"VariableDeclaration","scope":65009,"src":"26755:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64968,"name":"bytes","nodeType":"ElementaryTypeName","src":"26755:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64974,"initialValue":{"arguments":[{"hexValue":"31","id":64972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26794:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64970,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26783:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26787:6:97","memberName":"encode","nodeType":"MemberAccess","src":"26783:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26783:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"26755:41:97"},{"assignments":[64976],"declarations":[{"constant":false,"id":64976,"mutability":"mutable","name":"amount","nameLocation":"26815:6:97","nodeType":"VariableDeclaration","scope":65009,"src":"26807:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64975,"name":"uint256","nodeType":"ElementaryTypeName","src":"26807:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64982,"initialValue":{"arguments":[{"expression":{"id":64978,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64807,"src":"26835:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26840:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26835:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64980,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64906,"src":"26847:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":64977,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62731,"src":"26824:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":64981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26824:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26807:52:97"},{"expression":{"arguments":[{"id":64984,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64976,"src":"26945:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":64985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26953:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64983,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"26936:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26936:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64987,"nodeType":"ExpressionStatement","src":"26936:19:97"},{"expression":{"arguments":[{"id":64991,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64809,"src":"26984:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64992,"name":"recipients","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64961,"src":"26992:10:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":64993,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64969,"src":"27004:12:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64988,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"26966:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26973:10:97","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"26966:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":64994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:51:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64995,"nodeType":"ExpressionStatement","src":"26966:51:97"},{"expression":{"id":65002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64996,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64976,"src":"27027:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":64998,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64807,"src":"27047:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27052:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"27047:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65000,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64906,"src":"27059:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":64997,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62731,"src":"27036:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":65001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27036:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27027:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65003,"nodeType":"ExpressionStatement","src":"27027:44:97"},{"expression":{"arguments":[{"id":65005,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64976,"src":"27155:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65006,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64908,"src":"27163:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65004,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"27146:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27146:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65008,"nodeType":"ExpressionStatement","src":"27146:33:97"}]},"functionSelector":"8cf86e50","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_native_token","nameLocation":"24727:28:97","parameters":{"id":64801,"nodeType":"ParameterList","parameters":[],"src":"24755:2:97"},"returnParameters":{"id":64802,"nodeType":"ParameterList","parameters":[],"src":"24765:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65236,"nodeType":"FunctionDefinition","src":"27192:2606:97","nodes":[],"body":{"id":65235,"nodeType":"Block","src":"27245:2553:97","nodes":[],"statements":[{"assignments":[65017,65019],"declarations":[{"constant":false,"id":65017,"mutability":"mutable","name":"pool","nameLocation":"27274:4:97","nodeType":"VariableDeclaration","scope":65235,"src":"27256:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65016,"nodeType":"UserDefinedTypeName","pathNode":{"id":65015,"name":"IAllo.Pool","nameLocations":["27256:5:97","27262:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"27256:10:97"},"referencedDeclaration":2319,"src":"27256:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65019,"mutability":"mutable","name":"poolId","nameLocation":"27288:6:97","nodeType":"VariableDeclaration","scope":65235,"src":"27280:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65018,"name":"uint256","nodeType":"ElementaryTypeName","src":"27280:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65028,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27322:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27314:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65021,"name":"address","nodeType":"ElementaryTypeName","src":"27314:7:97","typeDescriptions":{}}},"id":65024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27314:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27326:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27329:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65020,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"27298:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27298:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27255:76:97"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":65030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27360:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":65029,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"27342:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27342:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65032,"nodeType":"ExpressionStatement","src":"27342:35:97"},{"assignments":[65037],"declarations":[{"constant":false,"id":65037,"mutability":"mutable","name":"proposal","nameLocation":"27421:8:97","nodeType":"VariableDeclaration","scope":65235,"src":"27388:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":65036,"nodeType":"UserDefinedTypeName","pathNode":{"id":65035,"name":"CVStrategy.CreateProposal","nameLocations":["27388:10:97","27399:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"27388:25:97"},"referencedDeclaration":59158,"src":"27388:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":65055,"initialValue":{"arguments":[{"hexValue":"32","id":65040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27470:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":65041,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65019,"src":"27473:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":65044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27489:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27481:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65042,"name":"address","nodeType":"ElementaryTypeName","src":"27481:7:97","typeDescriptions":{}}},"id":65045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27481:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":65046,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"27493:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27504:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"27493:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":65048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27517:9:97","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"27493:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":65049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27528:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27539:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27531:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65050,"name":"address","nodeType":"ElementaryTypeName","src":"27531:7:97","typeDescriptions":{}}},"id":65053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27531:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65038,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"27444:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27455:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"27444:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":65054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27444:98:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"27388:154:97"},{"assignments":[65057],"declarations":[{"constant":false,"id":65057,"mutability":"mutable","name":"data","nameLocation":"27565:4:97","nodeType":"VariableDeclaration","scope":65235,"src":"27552:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65056,"name":"bytes","nodeType":"ElementaryTypeName","src":"27552:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65062,"initialValue":{"arguments":[{"id":65060,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65037,"src":"27583:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":65058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27572:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27576:6:97","memberName":"encode","nodeType":"MemberAccess","src":"27572:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27572:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"27552:40:97"},{"expression":{"arguments":[{"id":65066,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65019,"src":"27627:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65067,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65057,"src":"27635:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65063,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"27602:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27609:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"27602:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":65068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65069,"nodeType":"ExpressionStatement","src":"27602:38:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65070,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"27651:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27651:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65072,"nodeType":"ExpressionStatement","src":"27651:18:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":65074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27751:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":65073,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"27733:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65076,"nodeType":"ExpressionStatement","src":"27733:39:97"},{"assignments":[65078],"declarations":[{"constant":false,"id":65078,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"27789:11:97","nodeType":"VariableDeclaration","scope":65235,"src":"27782:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65077,"name":"int256","nodeType":"ElementaryTypeName","src":"27782:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":65080,"initialValue":{"hexValue":"313030","id":65079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27803:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"27782:24:97"},{"assignments":[65082],"declarations":[{"constant":false,"id":65082,"mutability":"mutable","name":"PROPOSAL_ID","nameLocation":"27824:11:97","nodeType":"VariableDeclaration","scope":65235,"src":"27816:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65081,"name":"uint256","nodeType":"ElementaryTypeName","src":"27816:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65084,"initialValue":{"hexValue":"32","id":65083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27838:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"27816:23:97"},{"assignments":[65090],"declarations":[{"constant":false,"id":65090,"mutability":"mutable","name":"votes","nameLocation":"27885:5:97","nodeType":"VariableDeclaration","scope":65235,"src":"27849:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":65088,"nodeType":"UserDefinedTypeName","pathNode":{"id":65087,"name":"CVStrategy.ProposalSupport","nameLocations":["27849:10:97","27860:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"27849:26:97"},"referencedDeclaration":59201,"src":"27849:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":65089,"nodeType":"ArrayTypeName","src":"27849:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":65097,"initialValue":{"arguments":[{"hexValue":"31","id":65095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27926:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27893:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":65092,"nodeType":"UserDefinedTypeName","pathNode":{"id":65091,"name":"CVStrategy.ProposalSupport","nameLocations":["27897:10:97","27908:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"27897:26:97"},"referencedDeclaration":59201,"src":"27897:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":65093,"nodeType":"ArrayTypeName","src":"27897:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":65096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27893:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"27849:79:97"},{"expression":{"id":65106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65098,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65090,"src":"27938:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":65100,"indexExpression":{"hexValue":"30","id":65099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27944:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27938:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65103,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65082,"src":"27976:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65104,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65078,"src":"27989:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":65101,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"27949:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27960:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"27949:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":65105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27949:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"27938:63:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":65107,"nodeType":"ExpressionStatement","src":"27938:63:97"},{"expression":{"arguments":[{"id":65111,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65019,"src":"28081:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":65114,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65090,"src":"28100:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":65112,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28089:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28093:6:97","memberName":"encode","nodeType":"MemberAccess","src":"28089:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28089:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65108,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"28065:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28072:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"28065:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":65116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65117,"nodeType":"ExpressionStatement","src":"28065:42:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65118,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"28117:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28117:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65120,"nodeType":"ExpressionStatement","src":"28117:18:97"},{"assignments":[65122],"declarations":[{"constant":false,"id":65122,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"28154:13:97","nodeType":"VariableDeclaration","scope":65235,"src":"28146:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65121,"name":"uint256","nodeType":"ElementaryTypeName","src":"28146:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65131,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":65125,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65078,"src":"28178:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":65124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":65123,"name":"uint256","nodeType":"ElementaryTypeName","src":"28170:7:97","typeDescriptions":{}}},"id":65126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":65127,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62277,"src":"28193:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28170:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":65129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28209:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"28170:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28146:66:97"},{"assignments":[65134],"declarations":[{"constant":false,"id":65134,"mutability":"mutable","name":"cv","nameLocation":"28233:2:97","nodeType":"VariableDeclaration","scope":65235,"src":"28222:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65133,"nodeType":"UserDefinedTypeName","pathNode":{"id":65132,"name":"CVStrategy","nameLocations":["28222:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"28222:10:97"},"referencedDeclaration":61025,"src":"28222:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65140,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65017,"src":"28265:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28270:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"28265:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28257:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65138,"name":"address","nodeType":"ElementaryTypeName","src":"28257:7:97","typeDescriptions":{}}},"id":65142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28257:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28249:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65136,"name":"address","nodeType":"ElementaryTypeName","src":"28249:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28249:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65135,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"28238:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"28222:59:97"},{"expression":{"arguments":[{"arguments":[{"id":65149,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65082,"src":"28325:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":65152,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28346:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65391","typeString":"contract CVStrategyTest"}],"id":65151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28338:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65150,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:97","typeDescriptions":{}}},"id":65153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28338:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65147,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65134,"src":"28300:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28303:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"28300:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":65154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28300:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65155,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65122,"src":"28354:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65146,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28291:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28291:77:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65157,"nodeType":"ExpressionStatement","src":"28291:77:97"},{"expression":{"arguments":[{"arguments":[{"id":65161,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65082,"src":"28432:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65159,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65134,"src":"28405:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28408:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"28405:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":65162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28405:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65163,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65122,"src":"28446:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65158,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28396:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28396:64:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65165,"nodeType":"ExpressionStatement","src":"28396:64:97"},{"assignments":[null,null,null,65167,65169,null,null,65171,65173,null,65175,null],"declarations":[null,null,null,{"constant":false,"id":65167,"mutability":"mutable","name":"requestedAmount","nameLocation":"28553:15:97","nodeType":"VariableDeclaration","scope":65235,"src":"28545:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65166,"name":"uint256","nodeType":"ElementaryTypeName","src":"28545:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65169,"mutability":"mutable","name":"stakedTokens","nameLocation":"28590:12:97","nodeType":"VariableDeclaration","scope":65235,"src":"28582:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65168,"name":"uint256","nodeType":"ElementaryTypeName","src":"28582:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":65171,"mutability":"mutable","name":"blockLast","nameLocation":"28652:9:97","nodeType":"VariableDeclaration","scope":65235,"src":"28644:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65170,"name":"uint256","nodeType":"ElementaryTypeName","src":"28644:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65173,"mutability":"mutable","name":"convictionLast","nameLocation":"28683:14:97","nodeType":"VariableDeclaration","scope":65235,"src":"28675:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65172,"name":"uint256","nodeType":"ElementaryTypeName","src":"28675:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":65175,"mutability":"mutable","name":"threshold","nameLocation":"28733:9:97","nodeType":"VariableDeclaration","scope":65235,"src":"28725:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65174,"name":"uint256","nodeType":"ElementaryTypeName","src":"28725:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":65180,"initialValue":{"arguments":[{"hexValue":"31","id":65178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28809:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":65176,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65134,"src":"28794:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28797:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"28794:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":65179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28794:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28489:322:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":65184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29019:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":65185,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65167,"src":"29043:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65181,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29007:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29015:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29007:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29007:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65187,"nodeType":"ExpressionStatement","src":"29007:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":65191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29081:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":65192,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65169,"src":"29102:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65188,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29069:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29077:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29069:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65194,"nodeType":"ExpressionStatement","src":"29069:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":65198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29137:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":65199,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65175,"src":"29154:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65195,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29125:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29133:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29125:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29125:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65201,"nodeType":"ExpressionStatement","src":"29125:39:97"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":65205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29256:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":65206,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65171,"src":"29274:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65202,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29244:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29252:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29244:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29244:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65208,"nodeType":"ExpressionStatement","src":"29244:40:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":65212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29306:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":65213,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65173,"src":"29329:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65209,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29294:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29302:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29294:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29294:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65215,"nodeType":"ExpressionStatement","src":"29294:50:97"},{"assignments":[65217],"declarations":[{"constant":false,"id":65217,"mutability":"mutable","name":"dataProposal","nameLocation":"29620:12:97","nodeType":"VariableDeclaration","scope":65235,"src":"29607:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65216,"name":"bytes","nodeType":"ElementaryTypeName","src":"29607:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65222,"initialValue":{"arguments":[{"id":65220,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65082,"src":"29646:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29635:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29639:6:97","memberName":"encode","nodeType":"MemberAccess","src":"29635:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29635:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"29607:51:97"},{"expression":{"arguments":[{"id":65226,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65019,"src":"29687:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":65230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29709:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29695:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":65227,"name":"address","nodeType":"ElementaryTypeName","src":"29699:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65228,"nodeType":"ArrayTypeName","src":"29699:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":65231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29695:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":65232,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65217,"src":"29713:12:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65223,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"29669:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29676:10:97","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"29669:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":65233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65234,"nodeType":"ExpressionStatement","src":"29669:57:97"}]},"functionSelector":"eaeb7195","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_signaling_proposal","nameLocation":"27201:34:97","parameters":{"id":65011,"nodeType":"ParameterList","parameters":[],"src":"27235:2:97"},"returnParameters":{"id":65012,"nodeType":"ParameterList","parameters":[],"src":"27245:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65313,"nodeType":"FunctionDefinition","src":"29804:496:97","nodes":[],"body":{"id":65312,"nodeType":"Block","src":"29843:457:97","nodes":[],"statements":[{"assignments":[65243,65245],"declarations":[{"constant":false,"id":65243,"mutability":"mutable","name":"pool","nameLocation":"29872:4:97","nodeType":"VariableDeclaration","scope":65312,"src":"29854:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65242,"nodeType":"UserDefinedTypeName","pathNode":{"id":65241,"name":"IAllo.Pool","nameLocations":["29854:5:97","29860:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"29854:10:97"},"referencedDeclaration":2319,"src":"29854:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65245,"mutability":"mutable","name":"poolId","nameLocation":"29886:6:97","nodeType":"VariableDeclaration","scope":65312,"src":"29878:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65244,"name":"uint256","nodeType":"ElementaryTypeName","src":"29878:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65254,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29920:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29912:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65247,"name":"address","nodeType":"ElementaryTypeName","src":"29912:7:97","typeDescriptions":{}}},"id":65250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29912:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29924:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29927:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65246,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"29896:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29896:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29853:76:97"},{"assignments":[65257],"declarations":[{"constant":false,"id":65257,"mutability":"mutable","name":"cv","nameLocation":"29951:2:97","nodeType":"VariableDeclaration","scope":65312,"src":"29940:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65256,"nodeType":"UserDefinedTypeName","pathNode":{"id":65255,"name":"CVStrategy","nameLocations":["29940:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"29940:10:97"},"referencedDeclaration":61025,"src":"29940:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65268,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65263,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65243,"src":"29983:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65264,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29988:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"29983:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29975:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65261,"name":"address","nodeType":"ElementaryTypeName","src":"29975:7:97","typeDescriptions":{}}},"id":65265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29967:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65259,"name":"address","nodeType":"ElementaryTypeName","src":"29967:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29967:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65258,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"29956:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29956:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"29940:59:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65274,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"30049:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":65275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30065:20:97","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":61211,"src":"30049:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30086:8:97","memberName":"selector","nodeType":"MemberAccess","src":"30049:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30026:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30030:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30026:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30026:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65269,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30010:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30013:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"30010:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30010:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65279,"nodeType":"ExpressionStatement","src":"30010:86:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65280,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65257,"src":"30106:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30109:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30106:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30106:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65284,"nodeType":"ExpressionStatement","src":"30106:19:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65288,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30150:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30150:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65285,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30136:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30139:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"30136:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30136:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65291,"nodeType":"ExpressionStatement","src":"30136:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65292,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65257,"src":"30173:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30176:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30173:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30173:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65296,"nodeType":"ExpressionStatement","src":"30173:19:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65297,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30202:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30205:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"30202:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30202:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65301,"nodeType":"ExpressionStatement","src":"30202:14:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65305,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30261:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30261:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65303,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62283,"src":"30236:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":65304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30252:8:97","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":61643,"src":"30236:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":65307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30236:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":65308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30276:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"69734d656d626572","id":65309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30282:10:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":65302,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12773,"src":"30227:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":65310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30227:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65311,"nodeType":"ExpressionStatement","src":"30227:66:97"}]},"functionSelector":"136994c0","implemented":true,"kind":"function","modifiers":[],"name":"test_activate_points","nameLocation":"29813:20:97","parameters":{"id":65237,"nodeType":"ParameterList","parameters":[],"src":"29833:2:97"},"returnParameters":{"id":65238,"nodeType":"ParameterList","parameters":[],"src":"29843:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65390,"nodeType":"FunctionDefinition","src":"30306:640:97","nodes":[],"body":{"id":65389,"nodeType":"Block","src":"30347:599:97","nodes":[],"statements":[{"assignments":[65320,65322],"declarations":[{"constant":false,"id":65320,"mutability":"mutable","name":"pool","nameLocation":"30376:4:97","nodeType":"VariableDeclaration","scope":65389,"src":"30358:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65319,"nodeType":"UserDefinedTypeName","pathNode":{"id":65318,"name":"IAllo.Pool","nameLocations":["30358:5:97","30364:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"30358:10:97"},"referencedDeclaration":2319,"src":"30358:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65322,"mutability":"mutable","name":"poolId","nameLocation":"30390:6:97","nodeType":"VariableDeclaration","scope":65389,"src":"30382:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65321,"name":"uint256","nodeType":"ElementaryTypeName","src":"30382:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65331,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30424:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30416:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65324,"name":"address","nodeType":"ElementaryTypeName","src":"30416:7:97","typeDescriptions":{}}},"id":65327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30416:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30428:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30431:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65323,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62699,"src":"30400:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30400:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"30357:76:97"},{"assignments":[65334],"declarations":[{"constant":false,"id":65334,"mutability":"mutable","name":"cv","nameLocation":"30455:2:97","nodeType":"VariableDeclaration","scope":65389,"src":"30444:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65333,"nodeType":"UserDefinedTypeName","pathNode":{"id":65332,"name":"CVStrategy","nameLocations":["30444:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"30444:10:97"},"referencedDeclaration":61025,"src":"30444:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65345,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65340,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65320,"src":"30487:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30492:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"30487:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30479:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65338,"name":"address","nodeType":"ElementaryTypeName","src":"30479:7:97","typeDescriptions":{}}},"id":65342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30479:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30471:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65336,"name":"address","nodeType":"ElementaryTypeName","src":"30471:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30471:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65335,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"30460:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30460:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"30444:59:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65351,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"30553:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":65352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30569:20:97","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":61211,"src":"30553:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30590:8:97","memberName":"selector","nodeType":"MemberAccess","src":"30553:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65349,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30530:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30534:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30530:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30530:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65346,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30514:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30517:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"30514:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30514:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65356,"nodeType":"ExpressionStatement","src":"30514:86:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65357,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65334,"src":"30610:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30613:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30610:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30610:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65361,"nodeType":"ExpressionStatement","src":"30610:19:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65362,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65334,"src":"30640:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30643:16:97","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":59618,"src":"30640:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30640:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65366,"nodeType":"ExpressionStatement","src":"30640:21:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65370,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30761:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30761:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65367,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30747:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30750:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"30747:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30747:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65373,"nodeType":"ExpressionStatement","src":"30747:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65374,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65334,"src":"30784:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30787:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30784:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30784:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65378,"nodeType":"ExpressionStatement","src":"30784:19:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65379,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65334,"src":"30813:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30816:16:97","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":59618,"src":"30813:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30813:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65383,"nodeType":"ExpressionStatement","src":"30813:21:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65384,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30844:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30847:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"30844:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30844:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65388,"nodeType":"ExpressionStatement","src":"30844:14:97"}]},"functionSelector":"0ef639f6","implemented":true,"kind":"function","modifiers":[],"name":"test_deactivate_points","nameLocation":"30315:22:97","parameters":{"id":65314,"nodeType":"ParameterList","parameters":[],"src":"30337:2:97"},"returnParameters":{"id":65315,"nodeType":"ParameterList","parameters":[],"src":"30347:0:97"},"scope":65391,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":62249,"name":"Test","nameLocations":["1552:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":22442,"src":"1552:4:97"},"id":62250,"nodeType":"InheritanceSpecifier","src":"1552:4:97"},{"baseName":{"id":62251,"name":"AlloSetup","nameLocations":["1558:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1558:9:97"},"id":62252,"nodeType":"InheritanceSpecifier","src":"1558:9:97"},{"baseName":{"id":62253,"name":"RegistrySetupFull","nameLocations":["1569:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1569:17:97"},"id":62254,"nodeType":"InheritanceSpecifier","src":"1569:17:97"},{"baseName":{"id":62255,"name":"CVStrategyHelpers","nameLocations":["1588:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":62207,"src":"1588:17:97"},"id":62256,"nodeType":"InheritanceSpecifier","src":"1588:17:97"},{"baseName":{"id":62257,"name":"Errors","nameLocations":["1607:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1607:6:97"},"id":62258,"nodeType":"InheritanceSpecifier","src":"1607:6:97"},{"baseName":{"id":62259,"name":"GasHelpers2","nameLocations":["1615:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65820,"src":"1615:11:97"},"id":62260,"nodeType":"InheritanceSpecifier","src":"1615:11:97"},{"baseName":{"id":62261,"name":"SafeSetup","nameLocations":["1628:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":66201,"src":"1628:9:97"},"id":62262,"nodeType":"InheritanceSpecifier","src":"1628:9:97"}],"canonicalName":"CVStrategyTest","contractDependencies":[1390,2295,9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65391,66201,65820,3089,62207,9534,9370,9325,9264,22442,22391,17989,17664,16871,14811,14047,12515,12581,12578,3106],"name":"CVStrategyTest","nameLocation":"1534:14:97","scope":65392,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":97} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"POOL_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUESTED_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TOTAL_SUPPLY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"_createProposal","inputs":[{"name":"_tokenPool","type":"address","internalType":"address"},{"name":"requestAmount","type":"uint256","internalType":"uint256"},{"name":"poolAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"pool","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]},{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"disabled_test_threshold_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBalance","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testRevert_allocate_ProposalIdDuplicated","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_UserNotInRegistry","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_1_proposalSupported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_activate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_allocate_proposalSupport_empty_array","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_as_js_test","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_conviction_check_function","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_deactivate_points","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_native_token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_distribute_signaling_proposal","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_change_support","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_proposalSupported_conviction_threshold_2_users","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_total_staked_amount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602492835590919060259062000060908262000136565b5050600160288190556029805460ff19169055602c5550613a98602e553480156200008a57600080fd5b5062000202565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000bc57607f821691505b602082108103620000dd57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013157600081815260208120601f850160051c810160208610156200010c5750805b601f850160051c820191505b818110156200012d5782815560010162000118565b5050505b505050565b81516001600160401b0381111562000152576200015262000091565b6200016a81620001638454620000a7565b84620000e3565b602080601f831160018114620001a25760008415620001895750858301515b600019600386901b1c1916600185901b1785556200012d565b600085815260208120601f198616915b82811015620001d357888601518255948401946001909101908401620001b2565b5085821015620001f25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201be4580620002136000396000f3fe60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae6200170b565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009d69565b62001a28565b6200064762001d73565b6200064762001db5565b6200072362001df7565b6040516200065b919062009dd6565b6200073c62001e5b565b6040516200065b919062009e3f565b620006ae6200075c36600462009f14565b6029805460ff1916911515919091179055565b620006ae62001fa9565b6023546001600160a01b031662000647565b6200079562002220565b6040516200065b92919062009f34565b620006ae620022bf565b60205462000695565b6200072362002515565b6200072362002577565b62000723620025d9565b620006ae620025fc565b620006476200349e565b62000695602e5481565b62000647620034e0565b620006ae62003522565b6200064762003a9c565b6200081c62003ade565b6040516200065b919062009f57565b6200064762003bc8565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a0af565b62003c0a565b6200072362003edb565b620006ae62003f7d565b6200064762004bf9565b62000695602c5481565b6200072362004c3b565b601d546001600160a01b031662000647565b6200064762004caa565b6200064762004cec565b620008c762004d2e565b6040516200065b91906200a155565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004e08565b62000647620052a1565b62000647620052e3565b6200069561afc881565b620006ae62005325565b620006956200093736600462009d69565b6200585a565b6200081c62005937565b620006ae62005a21565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005c1c565b620006ae62005c8b565b6200064762006129565b620006956200099c3660046200a1bb565b6200616b565b620009b9620009b33660046200a237565b6200636b565b6040516200065b9291906200a290565b620008c762006ab2565b620009dd62006b8c565b60405190151581526020016200065b565b620006ae62006cc3565b62000695613a9881565b6021546001600160a01b031662000647565b6200064762006feb565b620006476200702d565b620006ae6200706f565b6200069562000a433660046200a2fa565b620073fe565b62000647620074d2565b601c546001600160a01b031662000647565b620006ae62007514565b62000647620078c6565b6200064762007908565b620006ae6200794a565b6200072362007dc3565b6200069562000aa83660046200a338565b62007e25565b620006ae62007ed3565b6200064762008469565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620084a6565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620084a6565b62000bc2620084ba565b62000bdf62000bd9601d546001600160a01b031690565b62008ac4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009c1f565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec7620052a1565b62000ed6600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a3a4565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009c2d565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009c3b565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a3c4565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008c9b565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a400565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a483565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a3a4565b505050565b6000806200141b60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a4bd565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620015899050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015cb57600080fd5b505af1158015620015e0573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200162057600080fd5b505af115801562001635573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ed57600080fd5b505af115801562001702573d6000803e3d6000fd5b50505050505050565b6000806200171d60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200178692016200a4bd565b600060405180830381600087803b158015620017a157600080fd5b505af1158015620017b6573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620017f657600080fd5b505af11580156200180b573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018369050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200187857600080fd5b505af11580156200188d573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018cd57600080fd5b505af1158015620018e2573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200194557600080fd5b505af11580156200195a573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200197f620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620019c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019ea91906200a3a4565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062009125565b602a546000906001600160a01b031662001d6257600060405162001a4c9062009ca6565b604051809103906000f08015801562001a69573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001a8b9062009cb4565b604051809103906000f08015801562001aa8573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001b05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b2b91906200a483565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001bce57600080fd5b505af115801562001be3573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001c7357600080fd5b505af115801562001c88573d6000803e3d6000fd5b50600092506001915062001c999050565b60405190808252806020026020018201604052801562001cc3578160200160208202803683370190505b509050848160008151811062001cdd5762001cdd6200a4d2565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001d2a90849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b15801562001d4557600080fd5b505af115801562001d5a573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620084a6565b6060601480548060200260200160405190810160405280929190818152602001828054801562001e5157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e32575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001f8857838290600052602060002001805462001ef4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001f22906200a3c4565b801562001f735780601f1062001f475761010080835404028352916020019162001f73565b820191906000526020600020905b81548152906001019060200180831162001f5557829003601f168201915b50505050508152602001906001019062001ed2565b50505050815250508152602001906001019062001e7f565b50505050905090565b600062001fcd73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915050620020056040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200201d5790505090506040518060400160405280600181526020016050815250816000815181106200207457620020746200a4d2565b6020026020010181905250604051806040016040528060018152602001601481525081600181518110620020ac57620020ac6200a4d2565b6020026020010181905250600081604051602001620020cc91906200a54f565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200216c91906004016200a4bd565b600060405180830381600087803b1580156200218757600080fd5b505af11580156200219c573d6000803e3d6000fd5b50505050620021b3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620021e292919062009f34565b600060405180830381600087803b158015620021fd57600080fd5b505af115801562002212573d6000803e3d6000fd5b505050506200140462009199565b602480546025805491929162002236906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462002264906200a3c4565b8015620022b55780601f106200228957610100808354040283529160200191620022b5565b820191906000526020600020905b8154815290600101906020018083116200229757829003601f168201915b5050505050905082565b600080620022e473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915091506200231d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023355790505090506040518060400160405280600181526020016064815250816000815181106200238c576200238c6200a4d2565b602002602001018190525080600181518110620023ad57620023ad6200a4d2565b5050604051600090620023c59083906020016200a54f565b6040516020818303038152906040529050620023e9601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200241892919062009f34565b600060405180830381600087803b1580156200243357600080fd5b505af115801562002448573d6000803e3d6000fd5b505050506200245662009199565b6020840151604051631c1ba58760e31b815260016004820152306024820152620024db906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620024ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024d391906200a4a3565b60326200922c565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d906024016200248f565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200261f60006802b5e3af16b1880000683635c9adc5dea000006200636b565b602082015191935091506001600160a01b0381166369fa25c46200264b670dd46c083165900062009342565b6040518263ffffffff1660e01b81526004016200266a91815260200190565b600060405180830381600087803b1580156200268557600080fd5b505af11580156200269a573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620026c067016345785d8a000062009342565b6040518263ffffffff1660e01b8152600401620026df91815260200190565b600060405180830381600087803b158015620026fa57600080fd5b505af11580156200270f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027346601c6bf5263400062009342565b6040518263ffffffff1660e01b81526004016200275391815260200190565b600060405180830381600087803b1580156200276e57600080fd5b505af115801562002783573d6000803e3d6000fd5b50505050620027bc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620027d757905050905060405180604001604052806001815260200183815250816000815181106200282d576200282d6200a4d2565b60200260200101819052506000816040516020016200284d91906200a54f565b604051602081830303815290604052905062002871601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620028a092919062009f34565b600060405180830381600087803b158015620028bb57600080fd5b505af1158015620028d0573d6000803e3d6000fd5b50505050620028de62009199565b60006064620028ef6032866200a5a0565b620028fb91906200a381565b604051631c1ba58760e31b8152600160048201523060248201529091506200297d906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200297691906200a4a3565b826200922c565b60405163dc96ff2d60e01b815260016004820152620029b0906001600160a01b0387169063dc96ff2d9060240162002932565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620029d4620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002a1657600080fd5b505af115801562002a2b573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a6b57600080fd5b505af115801562002a80573d6000803e3d6000fd5b50600092506001915062002a919050565b60405190808252806020026020018201604052801562002ad857816020015b604080518082019091526000808252602082015281526020019060019003908162002ab05790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002b0d5762002b0d6200a4d2565b60200260200101819052508160405160200162002b2b91906200a54f565b604051602081830303815290604052935062002b4f601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002b7e92919062009f34565b600060405180830381600087803b15801562002b9957600080fd5b505af115801562002bae573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c1157600080fd5b505af115801562002c26573d6000803e3d6000fd5b505050506000606460328362002c3d91906200a5a0565b62002c4991906200a381565b905062002c9d886001600160a01b031663e0dd2c38600162002c6a620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002932565b60405163dc96ff2d60e01b81526001600482015262002d20906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002ce8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d0e91906200a4a3565b62002d1a83876200a5ba565b6200922c565b62002d616040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002da2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dc891906200a4a3565b905062002e0b6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e74730000000000008152508262009355565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ea491906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002e78573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9e91906200a4a3565b62009355565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002f5e91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002f19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f3f91906200a4a3565b6040518263ffffffff1660e01b815260040162002e5a91815260200190565b60405163950559d760e01b81526004810182905262002ffd906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002fcf91906200a4a3565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620093b7565b60405163dc96ff2d60e01b81526001600482015262003106906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200307691906200a4a3565b6040518263ffffffff1660e01b81526004016200309591815260200190565b602060405180830381865afa158015620030b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030d991906200a4a3565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620093b7565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200315457600080fd5b505af115801562003169573d6000803e3d6000fd5b50505050620031ae6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620031f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200321c91906200a4a3565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200325591815260200190565b61018060405180830381865afa15801562003274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200329a91906200a5e0565b9b509b50509a5050505097509750505050620032e36040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62003318604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620033496040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b6200338060405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b620033c16040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b620034058261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620093b7565b62003449836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620093b7565b6200348c8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620093b7565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620084a6565b6000806200354773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602f5460405161afc86024820152929450909250620035b4916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003c0a565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620035cb5790505090506040518060400160405280600181526020016064815250816000815181106200362257620036226200a4d2565b60200260200101819052506000816040516020016200364291906200a54f565b604051602081830303815290604052905062003666601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200369592919062009f34565b600060405180830381600087803b158015620036b057600080fd5b505af1158015620036c5573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003752906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003725573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200374b91906200a4a3565b836200922c565b60405163dc96ff2d60e01b81526001600482015262003785906001600160a01b0383169063dc96ff2d9060240162003707565b60405180604001604052806001815260200160631981525084600081518110620037b357620037b36200a4d2565b602002602001018190525083604051602001620037d191906200a54f565b6040516020818303038152906040529250620037f5601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200382492919062009f34565b600060405180830381600087803b1580156200383f57600080fd5b505af115801562003854573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200390d92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620038a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620038cf91906200a4a3565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b815260016004820152620039bc906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003958573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200397e91906200a4a3565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620093b7565b62003a63816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620039ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2591906200a4a3565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620093b7565b602f546040516032602482015262003a94916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620084a6565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003baf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003b705790505b5050505050815250508152602001906001019062003b02565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620084a6565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003c90573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb691906200a4a3565b6040518b63ffffffff1660e01b815260040162003cdd9a999897969594939291906200a6d2565b600060405180830381865afa15801562003cfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003d2591908101906200a77f565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dd291906200a7cd565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003e89908c908c908c90600090819081908190819081908d906065016200a80c565b6020604051808303816000875af115801562003ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ecf91906200a3a4565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003f0a62001db5565b8160008151811062003f205762003f206200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62004caa565b8160018151811062003f605762003f606200a4d2565b6001600160a01b0390921660209283029190910190910152919050565b60008062003fa273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062003fdb6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003ff657905050905060405180604001604052806001815260200183815250816000815181106200404c576200404c6200a4d2565b60200260200101819052506000816040516020016200406c91906200a54f565b604051602081830303815290604052905062004090601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620040bf92919062009f34565b600060405180830381600087803b158015620040da57600080fd5b505af1158015620040ef573d6000803e3d6000fd5b50505050620040fd62009199565b600060646200410e6032866200a5a0565b6200411a91906200a381565b6020870151604051631c1ba58760e31b81526001600482015230602482015291925090620041d7906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200419a91906200a4a3565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200420a906001600160a01b0383169063dc96ff2d9060240162003707565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200422e620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200427057600080fd5b505af115801562004285573d6000803e3d6000fd5b5050505060006002905060006040518060c00160405280838152602001898152602001620042b2620052a1565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620042f8918491016200a893565b60405160208183030381529060405290506200431c601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200434b92919062009f34565b6020604051808303816000875af11580156200436b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200439191906200a483565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620043e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200440f91906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200445b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200448191906200a3a4565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620044be57600080fd5b505af1158015620044d3573d6000803e3d6000fd5b506000925060019150620044e49050565b6040519080825280602002602001820160405280156200452b57816020015b6040805180820190915260008082526020820152815260200190600190039081620045035790505b509050600060649050604051806040016040528086815260200182815250826000815181106200455f576200455f6200a4d2565b6020026020010181905250816040516020016200457d91906200a54f565b6040516020818303038152906040529750620045a1601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620045d092919062009f34565b600060405180830381600087803b158015620045eb57600080fd5b505af115801562004600573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200466357600080fd5b505af115801562004678573d6000803e3d6000fd5b50505050600060646032836200468f91906200a5a0565b6200469b91906200a381565b905062004769876001600160a01b031663e0dd2c3888620046bb620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004706573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472c91906200a4a3565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b81526004810187905262004817906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620047b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047da91906200a4a3565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620093b7565b620048586040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b620048ce6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002f19573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200492a91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002efb565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200497857600080fd5b505af11580156200498d573d6000803e3d6000fd5b50505050620049d26040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004a1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a4091906200a4a3565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004a7991815260200190565b61018060405180830381865afa15801562004a98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004abe91906200a5e0565b9b509b50509a505050509750975050505062004b076040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62004b3c604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b62004b6d6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b62004ba460405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b62004be56040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620084a6565b6040805160028082526060808301845292600092919060208301908036833701905050905062004c6a62000aed565b8160008151811062004c805762004c806200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62003bc8565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620084a6565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462004d74906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462004da2906200a3c4565b801562004df35780601f1062004dc75761010080835404028352916020019162004df3565b820191906000526020600020905b81548152906001019060200180831162004dd557829003601f168201915b50505050508152602001906001019062004d52565b60008062004e2d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062004e666040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004e81579050509050604051806040016040528060018152602001838152508160008151811062004ed75762004ed76200a4d2565b602002602001018190525062004ef5601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004f1791906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004f4592919062009f34565b600060405180830381600087803b15801562004f6057600080fd5b505af115801562004f75573d6000803e3d6000fd5b5050505062004f8362009199565b6000606462004f946032856200a5a0565b62004fa091906200a381565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004fe2906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b81526001600482015262005015906001600160a01b0383169063dc96ff2d9060240162003707565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200504e91815260200190565b61018060405180830381865afa1580156200506d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200509391906200a5e0565b509a50509950995050509750975050965050620050dd6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62005112604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620051436040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620051846040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b620051bb60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620051f2908a620073fe565b9050620052018160006200922c565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b81526004016200523e939291906200a8fc565b600060405180830381600087803b1580156200525957600080fd5b505af11580156200526e573d6000803e3d6000fd5b50505050620052828f604001518a620073fe565b90506200529081896200922c565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620084a6565b6000806200534a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005376670c7d713b49da000062009342565b6040518263ffffffff1660e01b81526004016200539591815260200190565b600060405180830381600087803b158015620053b057600080fd5b505af1158015620053c5573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620053eb6702c68af0bb14000062009342565b6040518263ffffffff1660e01b81526004016200540a91815260200190565b600060405180830381600087803b1580156200542557600080fd5b505af11580156200543a573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200545f66071afd498d000062009342565b6040518263ffffffff1660e01b81526004016200547e91815260200190565b600060405180830381600087803b1580156200549957600080fd5b505af1158015620054ae573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620054e992506001600160a01b03909116906000906318fb0de560e11b906044016200357c565b6200551e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055355790505090506040518060400160405280600181526020016064815250816000815181106200558c576200558c6200a4d2565b6020026020010181905250600081604051602001620055ac91906200a54f565b6040516020818303038152906040529050620055d0601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620055ff92919062009f34565b600060405180830381600087803b1580156200561a57600080fd5b505af11580156200562f573d6000803e3d6000fd5b505050506200563d62009199565b604051631c1ba58760e31b815260016004820152306024820152620056bc906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa1580156200568f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620056b591906200a4a3565b846200922c565b60405163dc96ff2d60e01b815260016004820152620056ef906001600160a01b0386169063dc96ff2d9060240162005671565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa15801562005749573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576f91906200a4a3565b9050620057a26040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b6000620057b7600a6000856289544062007e25565b9050620057e76040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b620057f382826200922c565b6200580183613a986200922c565b6200580f8661afc86200922c565b6200581e8262017da26200922c565b602f54604051603260248201526200584f916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050505050565b6026546000906200592f57816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620058ba620052a1565b620058c462004c3b565b6040518563ffffffff1660e01b8152600401620058e594939291906200a935565b6020604051808303816000875af115801562005905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200592b91906200a4a3565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005a0857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620059c95790505b505050505081525050815260200190600101906200595b565b600062005a4573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505060006040518060c001604052806001815260200183815260200162005a6c620052a1565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005ac191906200a893565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005b5a91906004016200a4bd565b600060405180830381600087803b15801562005b7557600080fd5b505af115801562005b8a573d6000803e3d6000fd5b5050505062005ba1601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005bd092919062009f34565b6020604051808303816000875af115801562005bf0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c1691906200a483565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005c4b6200349e565b8160008151811062005c615762005c616200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a620052e3565b60008062005cb073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005cdc670c7d713b49da000062009342565b6040518263ffffffff1660e01b815260040162005cfb91815260200190565b600060405180830381600087803b15801562005d1657600080fd5b505af115801562005d2b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005d516702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162005d7091815260200190565b600060405180830381600087803b15801562005d8b57600080fd5b505af115801562005da0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005dc566071afd498d000062009342565b6040518263ffffffff1660e01b815260040162005de491815260200190565b600060405180830381600087803b15801562005dff57600080fd5b505af115801562005e14573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005e4c93506001600160a01b0390911691506000906318fb0de560e11b906044016200357c565b62005e816040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005e9857905050905060405180604001604052806001815260200160648152508160008151811062005eef5762005eef6200a4d2565b602002602001018190525060008160405160200162005f0f91906200a54f565b604051602081830303815290604052905062005f33601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005f6292919062009f34565b600060405180830381600087803b15801562005f7d57600080fd5b505af115801562005f92573d6000803e3d6000fd5b5050505062005fa062009199565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005fdd906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262006010906001600160a01b0386169063dc96ff2d9060240162002932565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200609991906200a4a3565b9050620060dc6040518060400160405280600c81526020017f7468726573686f6c6420257300000000000000000000000000000000000000008152508262009355565b620060ea8261afc86200922c565b620060f88161c5c16200922c565b602f546040516032602482015262001702916001600160a01b0316906000906318fb0de560e11b906044016200357c565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620084a6565b6040805160808101825260008082526020820181905291810182905260608101829052620061a1670de0a46bc207d80062009342565b6020820152620061b96702c68af0bb14000062009342565b6040820152620061d066038d7ea4c6800062009342565b6060828101919091526001600160a01b03861682526040805160028082529281018252600092909160208301908036833701905050905030816000815181106200621e576200621e6200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200625557620062556200a4d2565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908516156200628c5750835b886001600160a01b031663e1007d4a620062a6886200585a565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200631897969594939291906200a9bd565b6020604051808303816000875af115801562006338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200635e91906200a4a3565b9998505050505050505050565b6200637562009cc2565b60008360000362006386576103e893505b826000036200639557613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620063c75750602d546001600160a01b03165b620063f86040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200641c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200645e57600080fd5b505af115801562006473573d6000803e3d6000fd5b5050505060006200648c601c546001600160a01b031690565b6040516200649a9062009d29565b6001600160a01b039091168152602001604051809103906000f080158015620064c7573d6000803e3d6000fd5b50905062006508620064e1601c546001600160a01b031690565b82620064f5602f546001600160a01b031690565b601d546001600160a01b0316866200616b565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200656957600080fd5b505af11580156200657e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620065be57600080fd5b505af1158015620065d3573d6000803e3d6000fd5b50505050620065ea601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200661891815260200190565b600060405180830381865afa15801562006636573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200666091908101906200ab4f565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620066d057600080fd5b505af1158015620066e5573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200679057601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200677057600080fd5b505af115801562006785573d6000803e3d6000fd5b505050505062006914565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620067f257600080fd5b505af115801562006807573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b36200682d601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af11580156200687b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620068a191906200a3a4565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620068fa57600080fd5b505af11580156200690f573d6000803e3d6000fd5b505050505b83516200696e906200693262000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c6549440000000000000000000000000000000000000081525062009404565b6200699f6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b60006040518060c0016040528060018152602001858152602001620069c3620052a1565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006a0291906200a893565b604051602081830303815290604052905062006a26601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006a5592919062009f34565b6020604051808303816000875af115801562006a75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006a9b91906200a483565b5062006aa662009199565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462006af8906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462006b26906200a3c4565b801562006b775780601f1062006b4b5761010080835404028352916020019162006b77565b820191906000526020600020905b81548152906001019060200180831162006b5957829003601f168201915b50505050508152602001906001019062006ad6565b600754600090610100900460ff161562006baf5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006cbe5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006c40917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200ac0f565b60408051601f198184030181529082905262006c5c916200ac41565b6000604051808303816000865af19150503d806000811462006c9b576040519150601f19603f3d011682016040523d82523d6000602084013e62006ca0565b606091505b509150508080602001905181019062006cba91906200a3a4565b9150505b919050565b600062006ce773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505062006d1f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006d3757905050905060405180604001604052806001815260200160508152508160008151811062006d8e5762006d8e6200a4d2565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006dc65762006dc66200a4d2565b602002602001018190525060008160405160200162006de691906200a54f565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006e1c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006e5e57600080fd5b505af115801562006e73573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006efd57600080fd5b505af115801562006f12573d6000803e3d6000fd5b5050505062006f29601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006f5892919062009f34565b600060405180830381600087803b15801562006f7357600080fd5b505af115801562006f88573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620021fd57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200709473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620070cd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620070e45790505090506040518060400160405280600181526020016050815250816000815181106200713b576200713b6200a4d2565b60200260200101819052506000816040516020016200715b91906200a54f565b60405160208183030381529060405290506200717f601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620071ae92919062009f34565b600060405180830381600087803b158015620071c957600080fd5b505af1158015620071de573d6000803e3d6000fd5b50505050620071ec62009199565b60006064620071fe603260506200a5a0565b6200720a91906200a381565b6020860151604051631c1ba58760e31b815260016004820152306024820152919250906200724c906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b8152600160048201526200727f906001600160a01b0383169063dc96ff2d9060240162003707565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007296579050509050604051806040016040528060018152602001601481525081600081518110620072ed57620072ed6200a4d2565b6020026020010181905250806040516020016200730b91906200a54f565b60405160208183030381529060405293506200732f601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200735e92919062009f34565b600060405180830381600087803b1580156200737957600080fd5b505af11580156200738e573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620073cb92506001600160a01b038516915063e0dd2c38906044016200248f565b60405163dc96ff2d60e01b81526001600482015262001702906001600160a01b0384169063dc96ff2d906024016200248f565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200744357506001600160a01b03811631620074cc565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620074a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074c991906200a4a3565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620084a6565b6000806200753973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620075726040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200758957905050905060405180604001604052806001815260200160631981525081600081518110620075e157620075e16200a4d2565b60200260200101819052506000816040516020016200760191906200a54f565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620076a991906004016200a4bd565b600060405180830381600087803b158015620076c457600080fd5b505af1158015620076d9573d6000803e3d6000fd5b50505050620076f0601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200771f92919062009f34565b600060405180830381600087803b1580156200773a57600080fd5b505af11580156200774f573d6000803e3d6000fd5b505050506200775d62009199565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007817906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620077b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620077d991906200a4a3565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562007862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200788891906200a4a3565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620093b7565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200796f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c46200799b670c7d713b49da000062009342565b6040518263ffffffff1660e01b8152600401620079ba91815260200190565b600060405180830381600087803b158015620079d557600080fd5b505af1158015620079ea573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007a106702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162007a2f91815260200190565b600060405180830381600087803b15801562007a4a57600080fd5b505af115801562007a5f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007a8466071afd498d000062009342565b6040518263ffffffff1660e01b815260040162007aa391815260200190565b600060405180830381600087803b15801562007abe57600080fd5b505af115801562007ad3573d6000803e3d6000fd5b5050505062007b0c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007b2357905050905060405180604001604052806001815260200160508152508160008151811062007b7a5762007b7a6200a4d2565b602002602001018190525060008160405160200162007b9a91906200a54f565b604051602081830303815290604052905062007bbe601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007bed92919062009f34565b600060405180830381600087803b15801562007c0857600080fd5b505af115801562007c1d573d6000803e3d6000fd5b5050505062007c2b62009199565b6000606462007c3d603260506200a5a0565b62007c4991906200a381565b604051631c1ba58760e31b81526001600482015230602482015290915062007c85906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262007cb8906001600160a01b0386169063dc96ff2d9060240162002932565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007d0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d3591906200a4a3565b905062007d686040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b600062007d7d600a6000856289544062007e25565b905062007dad6040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b62007db982826200922c565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6000848162007e4762007e4062989680608087901b6200a381565b8362009451565b905060806f8000000000000000000000000000000062007e6b86629896806200ac5f565b62007e7b84600160801b6200ac5f565b62007e8a629896808a6200a5a0565b62007e9691906200a5a0565b62007ea291906200a381565b62007eae89856200a5a0565b62007eba91906200a5ba565b62007ec691906200a5ba565b901c979650505050505050565b60008062007ee560008060006200636b565b9150915062007f1a6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007f60918491016200a893565b604051602081830303815290604052905062007f84601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007fb392919062009f34565b6020604051808303816000875af115801562007fd3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007ff991906200a483565b506200800462009199565b620080396040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252606491600291600091816020015b60408051808201909152600080825260208201528152602001906001900390816200805657905050905060405180604001604052808381526020018481525081600081518110620080ab57620080ab6200a4d2565b6020026020010181905250620080c9601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620080eb91906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200811992919062009f34565b600060405180830381600087803b1580156200813457600080fd5b505af115801562008149573d6000803e3d6000fd5b505050506200815762009199565b60006064620081686032866200a5a0565b6200817491906200a381565b6020890151604051631c1ba58760e31b81526004810186905230602482015291925090620081b6906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b815260048101859052620081e9906001600160a01b0383169063dc96ff2d9060240162003707565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200822191815260200190565b61018060405180830381865afa15801562008240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200826691906200a5e0565b509a505099509950505097509750505050620082af6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b620082e4604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620083156040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620083566040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b6200838d60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b600089604051602001620083a391815260200190565b6040516020818303038152906040529050620083c7601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f600060405190808252806020026020018201604052801562008402578160200160208202803683370190505b50846040518463ffffffff1660e01b815260040162008424939291906200a8fc565b600060405180830381600087803b1580156200843f57600080fd5b505af115801562008454573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620084b3826200950a565b5092915050565b620084c46200963f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620084e8620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200852a57600080fd5b505af11580156200853f573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620085ad620052a1565b620085b762004c3b565b6040518563ffffffff1660e01b8152600401620085d894939291906200a935565b6020604051808303816000875af1158015620085f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200861e91906200a4a3565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200866b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200869591908101906200ac75565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620086dc6200702d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200871e57600080fd5b505af115801562008733573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620087b26200702d565b620087bc62003edb565b6040518563ffffffff1660e01b8152600401620087dd94939291906200ad4b565b6020604051808303816000875af1158015620087fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200882391906200a4a3565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008870573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200889a91908101906200ac75565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620088e162001d73565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200892357600080fd5b505af115801562008938573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620089b762001d73565b620089c162005c1c565b6040518563ffffffff1660e01b8152600401620089e294939291906200adbd565b6020604051808303816000875af115801562008a02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a2891906200a4a3565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008a9f91908101906200ac75565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ae862004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008b2a57600080fd5b505af115801562008b3f573d6000803e3d6000fd5b5050505060405162008b519062009d37565b604051809103906000f08015801562008b6e573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008b9d62004cec565b8362008ba8620078c6565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008c0e57600080fd5b505af115801562008c23573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008c8657600080fd5b505af11580156200250e573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008cf49160040190815260200190565b602060405180830381865afa15801562008d12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008d3891906200a483565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008dd957600080fd5b505af115801562008dee573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062009110905057600060405162008e1a9062009ca6565b604051809103906000f08015801562008e37573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008e599062009cb4565b604051809103906000f08015801562008e76573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008ed3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ef991906200a483565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008f7c93920416620096f0565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200900d57600080fd5b505af115801562009022573d6000803e3d6000fd5b506000925060019150620090339050565b6040519080825280602002602001820160405280156200905d578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200908457620090846200a4d2565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d90620090d890849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b158015620090f357600080fd5b505af115801562009108573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200916291906200ae0c565b60405180910390a162001404838362009752565b60295460ff1615620091965760276200919082826200ae9f565b505a6028555b50565b60295460ff16156200922a5760005a90506000606482602854620091be91906200ac5f565b620091ca91906200ac5f565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a860276040516020016200920191906200af6c565b60408051601f19818403018152908290526200921f9184906200b00f565b60405180910390a150505b565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620092ba9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620092f391906200b033565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200932c91906200b06c565b60405180910390a16200933e620098e4565b5050565b6000620074cc64174876e800836200a381565b6200933e82826040516024016200936e9291906200b00f565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052620099f7565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620093f091906200ae0c565b60405180910390a16200140483836200922c565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200943d91906200ae0c565b60405180910390a162001404838362009a18565b6000600160801b8310620094ac5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095025780600116600003620094df57620094d4828362009b18565b915060011c620094b5565b620094eb838362009b18565b9250620094fa6001826200ac5f565b9050620094b5565b505092915050565b600080826040516020016200952091906200ac41565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620095a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620095c891906200a483565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200960690859087906004016200b097565b600060405180830381600087803b1580156200962157600080fd5b505af115801562009636573d6000803e3d6000fd5b50505050915091565b6040516200964d9062009d45565b604051809103906000f0801580156200966a573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de86200969962007908565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620096db57600080fd5b505af115801562005c16573d6000803e3d6000fd5b6200933e8282604051602401620097099291906200b0bb565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620099f7565b801515821515146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097e49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009837576040518060400160405280600581526020016466616c736560d81b81525062009855565b604051806040016040528060048152602001637472756560e01b8152505b6040516200986491906200b0e8565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620098b7576040518060400160405280600581526020016466616c736560d81b815250620098d5565b604051806040016040528060048152602001637472756560e01b8152505b6040516200932c91906200b127565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620099e65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200998192916020016200ac0f565b60408051601f19818403018152908290526200999d916200ac41565b6000604051808303816000865af19150503d8060008114620099dc576040519150601f19603f3d011682016040523d82523d6000602084013e620099e1565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009aa69060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009adf91906200b033565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200932c91906200b06c565b6000600160801b83111562009b965760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620094a3565b600160801b821062009beb5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620094a3565b60806f8000000000000000000000000000000062009c0a84866200a5a0565b62009c1691906200a5ba565b901c9392505050565b610e67806200b15383390190565b612768806200bfba83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009c99604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e72283390190565b613594806200ef7483390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009d15604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201250883390190565b6135c1806201599983390190565b612eb68062018f5a83390190565b6001600160a01b03811681146200919657600080fd5b60006020828403121562009d7c57600080fd5b813562009d898162009d53565b9392505050565b600081518084526020808501945080840160005b8381101562009dcb5781516001600160a01b03168752958201959082019060010162009da4565b509495945050505050565b60208152600062009d89602083018462009d90565b60005b8381101562009e0857818101518382015260200162009dee565b50506000910152565b6000815180845262009e2b81602086016020860162009deb565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009ef557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009ede57605f1989850301835262009ecb84865162009e11565b948e01949350918d019160010162009eac565b505050978a01979450509188019160010162009e66565b50919a9950505050505050505050565b80151581146200919657600080fd5b60006020828403121562009f2757600080fd5b813562009d898162009f05565b82815260406020820152600062009f4f604083018462009e11565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009fff57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009fe95783516001600160e01b0319168252928b019260019290920191908b019062009fbd565b50978a0197955050509187019160010162009f7f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a04a576200a04a6200a00e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a07c576200a07c6200a00e565b604052919050565b600067ffffffffffffffff8211156200a0a1576200a0a16200a00e565b50601f01601f191660200190565b6000806000606084860312156200a0c557600080fd5b83356200a0d28162009d53565b925060208401359150604084013567ffffffffffffffff8111156200a0f657600080fd5b8401601f810186136200a10857600080fd5b80356200a11f6200a119826200a084565b6200a050565b8181528760208385010111156200a13557600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a1ae57603f198886030184526200a19b85835162009e11565b945092850192908501906001016200a17c565b5092979650505050505050565b600080600080600060a086880312156200a1d457600080fd5b85356200a1e18162009d53565b945060208601356200a1f38162009d53565b935060408601356200a2058162009d53565b925060608601356200a2178162009d53565b915060808601356200a2298162009d53565b809150509295509295909350565b6000806000606084860312156200a24d57600080fd5b83356200a25a8162009d53565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009f4f604085018262009e11565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a2dc6101008401826200a26f565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a30e57600080fd5b82356200a31b8162009d53565b915060208301356200a32d8162009d53565b809150509250929050565b600080600080608085870312156200a34f57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a39f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a3b757600080fd5b815162009d898162009f05565b600181811c908216806200a3d957607f821691505b6020821081036200a3fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a45d6101008501826200a26f565b90508160c08601511660e0850152809250505092915050565b805162006cbe8162009d53565b6000602082840312156200a49657600080fd5b815162009d898162009d53565b6000602082840312156200a4b657600080fd5b5051919050565b60208152600062009d89602083018462009e11565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a4fe8184018b62009d90565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a593578151805185528601518685015292840192908501906001016200a56c565b5091979650505050505050565b8082028115828204841417620074cc57620074cc6200a36b565b80820180821115620074cc57620074cc6200a36b565b80516004811062006cbe57600080fd5b6000806000806000806000806000806000806101808d8f0312156200a60457600080fd5b8c516200a6118162009d53565b60208e0151909c506200a6248162009d53565b60408e0151909b506200a6378162009d53565b809a505060608d0151985060808d0151975060a08d0151600381106200a65c57600080fd5b96506200a66c60c08e016200a5d0565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a6ce576200a6ce6200a6a5565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a6fe8285018d62009e11565b92506200a70f606085018c6200a6bb565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a75a6200a119846200a084565b90508281528383830111156200a76f57600080fd5b62009d8983602083018462009deb565b6000602082840312156200a79257600080fd5b815167ffffffffffffffff8111156200a7aa57600080fd5b8201601f810184136200a7bc57600080fd5b62009f4f848251602084016200a749565b6000806000606084860312156200a7e357600080fd5b835160ff811681146200a7f557600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8388285018d62009e11565b91506200a849606085018c6200a6bb565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a882818562009e11565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a8d8576200a8d86200a6a5565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a917606083018562009d90565b82810360408401526200a92b818562009e11565b9695505050505050565b84815260a0602082015260006200a97960a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a98d81876200a26f565b90506001600160a01b038516606084015282810360808401526200a9b2818562009d90565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a9e960e085018a62009e11565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aa20816200a3c4565b806040870152868216600081146200aa4157600181146200aa5c576200aa8c565b60ff1983168787015281151560051b8701860193506200aa8c565b846000528860002060005b838110156200aa84578154898201890152908901908a016200aa67565b880187019450505b50505087810360c08901526200aaa3818a62009d90565b9f9e505050505050505050505050505050565b600082601f8301126200aac857600080fd5b62009d89838351602085016200a749565b6000604082840312156200aaec57600080fd5b6040516040810167ffffffffffffffff82821081831117156200ab13576200ab136200a00e565b816040528293508451835260208501519150808211156200ab3357600080fd5b506200ab42858286016200aab6565b6020830152505092915050565b6000602082840312156200ab6257600080fd5b815167ffffffffffffffff808211156200ab7b57600080fd5b9083019060c082860312156200ab9057600080fd5b6200ab9a6200a024565b8251815260208301516200abae8162009d53565b602082015260408301516200abc38162009d53565b60408201526060830151828111156200abdb57600080fd5b6200abe9878286016200aad9565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200ac3381600485016020870162009deb565b919091016004019392505050565b600082516200ac5581846020870162009deb565b9190910192915050565b81810381811115620074cc57620074cc6200a36b565b6000602082840312156200ac8857600080fd5b815167ffffffffffffffff808211156200aca157600080fd5b9083019060c082860312156200acb657600080fd5b6200acc06200a024565b82518152602083015160208201526040830151828111156200ace157600080fd5b6200acef878286016200aab6565b6040830152506060830151828111156200ad0857600080fd5b6200ad16878286016200aad9565b6060830152506200ad2a608084016200a476565b60808201526200ad3d60a084016200a476565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b6001600160a01b038516606084015282810360808401526200a9b2818562009d90565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009d89608083018462009e11565b601f8211156200140457600081815260208120601f850160051c810160208610156200ae7e5750805b601f850160051c820191505b8181101562003a94578281556001016200ae8a565b815167ffffffffffffffff8111156200aebc576200aebc6200a00e565b6200aed4816200aecd84546200a3c4565b846200ae55565b602080601f8311600181146200af0c57600084156200aef35750858301515b600019600386901b1c1916600185901b17855562003a94565b600085815260208120601f198616915b828110156200af3d578886015182559484019460019091019084016200af1c565b50858210156200af5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200af7c816200a3c4565b600182811680156200af9757600181146200afad576200afde565b60ff19841687528215158302870194506200afde565b8760005260208060002060005b858110156200afd55781548a8201529084019082016200afba565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b024604083018562009e11565b90508260208301529392505050565b6040815260006200b05e60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b05e60408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009f4f604083018462009e11565b6040815260006200b0d0604083018562009e11565b90506001600160a01b03831660208301529392505050565b6040815260006200b11360408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009f4f818562009e11565b6040815260006200b11360408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a264697066735822122055a2accbe47c017042d1e56b396148950bb76c322d15a55305fe7e3aafeca0fc64736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;1525:29423:97;566:52:96;;;1572:26:44;1525:29423:97;566:52:96;;;;;;-1:-1:-1;;;566:52:96;;;;;;539:79;;;;1525:29423:97;;539:79:96;;;;;;;:::i;:::-;-1:-1:-1;;194:1:98;158:37;;;;226:34;;;-1:-1:-1;;226:34:98;;;339::99;;-1:-1:-1;1700:5:97;1672:33;;1525:29423;;;;;;;;;;;;14:127:100;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:100;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:100;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:100;;;2580:26;2531:89;-1:-1:-1;;1335:1:100;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:100;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:100;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:100;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:100:o;:::-;1525:29423:97;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620006385760003560e01c80637b2edf321162000335578063b5508aa911620001bd578063d97d05781162000101578063e99ce91111620000af578063fa7626d41162000086578063fa7626d41462000ac2578063fc0c546a1462000ad0578063fd325c601462000ae457600080fd5b8063e99ce9111462000a97578063eaeb71951462000aae578063ef0d790f1462000ab857600080fd5b8063dac4eb1611620000e4578063dac4eb161462000a79578063de8a13541462000a83578063e20c9f711462000a8d57600080fd5b8063d97d05781462000a65578063da4bf0871462000a6f57600080fd5b8063d1e82b58116200016b578063d4fac45d1162000142578063d4fac45d1462000a32578063d5bee9f51462000a49578063d6d8428d1462000a5357600080fd5b8063d1e82b581462000a14578063d1f2cd881462000a1e578063d25bba071462000a2857600080fd5b8063bc1687c011620001a0578063bc1687c014620009ee578063beda3db314620009f8578063c5d7d73b1462000a0257600080fd5b8063b5508aa914620009c9578063ba414fa614620009d357600080fd5b8063902d55a51162000285578063a0cf0aea1162000233578063aa3744bd116200020a578063aa3744bd1462000981578063ae159601146200098b578063b188bdc414620009a257600080fd5b8063a0cf0aea1462000951578063a407c67a146200096d578063a6f2b82f146200097757600080fd5b8063914a5f6d1162000268578063914a5f6d1462000926578063916a17c6146200093d5780639a45ff89146200094757600080fd5b8063902d55a5146200091257806390ff95a4146200091c57600080fd5b8063896546a111620002e35780638cf86e5011620002c65780638cf86e5014620008f45780638e0d1a5014620008fe5780638e3c2493146200090857600080fd5b8063896546a114620008e05780638c7408c414620006cb57600080fd5b8063829e423f1162000318578063829e423f14620006cb57806385226c8114620008bd578063879ee88c14620008d657600080fd5b80637b2edf3214620008a95780637cbe79ed14620008b357600080fd5b806339b7e52511620004c557806366d9a9a0116200040957806374d9284e11620003b75780637658524d116200038e5780637658524d146200088357806379e62d0d146200088d5780637b103999146200089757600080fd5b806374d9284e14620006cb578063757e122d146200086f578063759c9a86146200087957600080fd5b80636c53db9a11620003ec5780636c53db9a14620008355780636db52510146200084e57806370a32944146200086557600080fd5b806366d9a9a014620008125780636a38dd0a146200082b57600080fd5b8063503c712e11620004735780635aff5999116200044a5780635aff599914620007f457806361164d4e14620007fe57806366d003ac146200080857600080fd5b8063503c712e14620007d6578063587c124314620007e05780635a2bcc1814620007ea57600080fd5b80633e5e3c2311620004a85780633e5e3c2314620007b85780633f7286f414620007c25780634bf4ba2114620007cc57600080fd5b806339b7e52514620007a557806339f56f7f14620007af57600080fd5b8063176effb3116200058d5780631ed7831c116200053b5780632da4964711620005125780632da49647146200076f5780633554642a1462000779578063392f37e9146200078b57600080fd5b80631ed7831c14620007195780632ade388014620007325780632d0e6731146200074b57600080fd5b80631ae726d911620005705780631ae726d914620006ee5780631b96dce614620007055780631e7bcb2e146200070f57600080fd5b8063176effb314620006d35780631854036114620006e557600080fd5b80630a9254e411620005eb5780630f166ad411620005ce5780630f166ad414620006ba578063136994c014620006c1578063174eedde14620006cb57600080fd5b80630a9254e414620006a45780630ef639f614620006b057600080fd5b80630522b7db11620006205780630522b7db146200066e5780630688b135146200068257806308dbbb03146200068c57600080fd5b8062b1fad7146200063d578063030e40061462000664575b600080fd5b6200064762000aed565b6040516001600160a01b0390911681526020015b60405180910390f35b6200064762000b34565b602a5462000647906001600160a01b031681565b6200064762000b76565b62000695603281565b6040519081526020016200065b565b620006ae62000bb8565b005b620006ae62001409565b3062000647565b620006ae6200170b565b600062000647565b601f546001600160a01b031662000647565b60225462000695565b62000647620006ff36600462009d69565b62001a28565b6200064762001d73565b6200064762001db5565b6200072362001df7565b6040516200065b919062009dd6565b6200073c62001e5b565b6040516200065b919062009e3f565b620006ae6200075c36600462009f14565b6029805460ff1916911515919091179055565b620006ae62001fa9565b6023546001600160a01b031662000647565b6200079562002220565b6040516200065b92919062009f34565b620006ae620022bf565b60205462000695565b6200072362002515565b6200072362002577565b62000723620025d9565b620006ae620025fc565b620006476200349e565b62000695602e5481565b62000647620034e0565b620006ae62003522565b6200064762003a9c565b6200081c62003ade565b6040516200065b919062009f57565b6200064762003bc8565b602954620006479061010090046001600160a01b031681565b620006ae6200085f3660046200a0af565b62003c0a565b6200072362003edb565b620006ae62003f7d565b6200064762004bf9565b62000695602c5481565b6200072362004c3b565b601d546001600160a01b031662000647565b6200064762004caa565b6200064762004cec565b620008c762004d2e565b6040516200065b91906200a155565b620006956103e881565b602b5462000647906001600160a01b031681565b620006ae62004e08565b62000647620052a1565b62000647620052e3565b6200069561afc881565b620006ae62005325565b620006956200093736600462009d69565b6200585a565b6200081c62005937565b620006ae62005a21565b6200064773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200072362005c1c565b620006ae62005c8b565b6200064762006129565b620006956200099c3660046200a1bb565b6200616b565b620009b9620009b33660046200a237565b6200636b565b6040516200065b9291906200a290565b620008c762006ab2565b620009dd62006b8c565b60405190151581526020016200065b565b620006ae62006cc3565b62000695613a9881565b6021546001600160a01b031662000647565b6200064762006feb565b620006476200702d565b620006ae6200706f565b6200069562000a433660046200a2fa565b620073fe565b62000647620074d2565b601c546001600160a01b031662000647565b620006ae62007514565b62000647620078c6565b6200064762007908565b620006ae6200794a565b6200072362007dc3565b6200069562000aa83660046200a338565b62007e25565b620006ae62007ed3565b6200064762008469565b600754620009dd9060ff1681565b602d5462000647906001600160a01b031681565b601e5462000695565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620084a6565b905090565b600062000b2f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620084a6565b62000bc2620084ba565b62000bdf62000bd9601d546001600160a01b031690565b62008ac4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c0362004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c4557600080fd5b505af115801562000c5a573d6000803e3d6000fd5b5050505062000c71601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000ccf57600080fd5b505af115801562000ce4573d6000803e3d6000fd5b5050505062000cfb601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d5957600080fd5b505af115801562000d6e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dd157600080fd5b505af115801562000de6573d6000803e3d6000fd5b5050505060405162000df89062009c1f565b604051809103906000f08015801562000e15573d6000803e3d6000fd5b50602d80546001600160a01b0319166001600160a01b039290921691821790556340c10f193062000e4a600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e9157600080fd5b505af115801562000ea6573d6000803e3d6000fd5b5050602d546001600160a01b031691506340c10f19905062000ec7620052a1565b62000ed6600261afc86200a381565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f1d57600080fd5b505af115801562000f32573d6000803e3d6000fd5b5050602d546001600160a01b0316915063095ea7b3905062000f5c601c546001600160a01b031690565b602e546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562000fab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fd191906200a3a4565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000ff662004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200103857600080fd5b505af11580156200104d573d6000803e3d6000fd5b5050505062001064601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010b557600080fd5b505af1158015620010ca573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b505050506000604051620011569062009c2d565b604051809103906000f08015801562001173573d6000803e3d6000fd5b5090506200118062009c3b565b601c546001600160a01b039081168252602d54166020808301919091526032604080840191909152600260608401528051808201909152602480548252602580549293919291840191620011d4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001202906200a3c4565b8015620012535780601f10620012275761010080835404028352916020019162001253565b820191906000526020600020905b8154815290600101906020018083116200123557829003601f168201915b5050509190925250505060a08201526200126c62008c9b565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620012bc9084906004016200a400565b6020604051808303816000875af1158015620012dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200130291906200a483565b602f80546001600160a01b0319166001600160a01b03928316908117909155602d546040805162cc4e0f60e21b81529051919093169263095ea7b392918291630331383c9160048083019260209291908290030181865afa1580156200136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139291906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015620013de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200140491906200a3a4565b505050565b6000806200141b60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200148492016200a4bd565b600060405180830381600087803b1580156200149f57600080fd5b505af1158015620014b4573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620014f457600080fd5b505af115801562001509573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200154957600080fd5b505af11580156200155e573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620015899050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015cb57600080fd5b505af1158015620015e0573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200162057600080fd5b505af115801562001635573d6000803e3d6000fd5b50505050806001600160a01b0316631ddf1e236040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167557600080fd5b505af11580156200168a573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620016ed57600080fd5b505af115801562001702573d6000803e3d6000fd5b50505050505050565b6000806200171d60008060006200636b565b60208083015160408051600480825260248201835293810180516001600160e01b0316636adcde4b60e11b179052905163f28dceb360e01b815294965092945092737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb3926200178692016200a4bd565b600060405180830381600087803b158015620017a157600080fd5b505af1158015620017b6573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620017f657600080fd5b505af11580156200180b573d6000803e3d6000fd5b50737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150620018369050620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200187857600080fd5b505af11580156200188d573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620018cd57600080fd5b505af1158015620018e2573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200194557600080fd5b505af11580156200195a573d6000803e3d6000fd5b5050602f546200140492506001600160a01b0316905063a230c5246200197f620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015620019c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019ea91906200a3a4565b60016040518060400160405280600881526020017f69734d656d62657200000000000000000000000000000000000000000000000081525062009125565b602a546000906001600160a01b031662001d6257600060405162001a4c9062009ca6565b604051809103906000f08015801562001a69573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162001a8b9062009cb4565b604051809103906000f08015801562001aa8573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001b05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b2b91906200a483565b602a80546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562001bce57600080fd5b505af115801562001be3573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562001c7357600080fd5b505af115801562001c88573d6000803e3d6000fd5b50600092506001915062001c999050565b60405190808252806020026020018201604052801562001cc3578160200160208202803683370190505b509050848160008151811062001cdd5762001cdd6200a4d2565b6001600160a01b039283166020918202929092010152602a5460405163b63e800d60e01b815291169063b63e800d9062001d2a90849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b15801562001d4557600080fd5b505af115801562001d5a573d6000803e3d6000fd5b505050505050505b5050602a546001600160a01b031690565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620084a6565b6060601480548060200260200160405190810160405280929190818152602001828054801562001e5157602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e32575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001f8857838290600052602060002001805462001ef4906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462001f22906200a3c4565b801562001f735780601f1062001f475761010080835404028352916020019162001f73565b820191906000526020600020905b81548152906001019060200180831162001f5557829003601f168201915b50505050508152602001906001019062001ed2565b50505050815250508152602001906001019062001e7f565b50505050905090565b600062001fcd73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915050620020056040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200201d5790505090506040518060400160405280600181526020016050815250816000815181106200207457620020746200a4d2565b6020026020010181905250604051806040016040528060018152602001601481525081600181518110620020ac57620020ac6200a4d2565b6020026020010181905250600081604051602001620020cc91906200a54f565b60408051601f1981840301815282825260016024840152600060448085019190915282518085039091018152606490930182526020830180516001600160e01b03167fadebb15400000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb3916200216c91906004016200a4bd565b600060405180830381600087803b1580156200218757600080fd5b505af11580156200219c573d6000803e3d6000fd5b50505050620021b3601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620021e292919062009f34565b600060405180830381600087803b158015620021fd57600080fd5b505af115801562002212573d6000803e3d6000fd5b505050506200140462009199565b602480546025805491929162002236906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462002264906200a3c4565b8015620022b55780601f106200228957610100808354040283529160200191620022b5565b820191906000526020600020905b8154815290600101906020018083116200229757829003601f168201915b5050505050905082565b600080620022e473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b915091506200231d6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620023355790505090506040518060400160405280600181526020016064815250816000815181106200238c576200238c6200a4d2565b602002602001018190525080600181518110620023ad57620023ad6200a4d2565b5050604051600090620023c59083906020016200a54f565b6040516020818303038152906040529050620023e9601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200241892919062009f34565b600060405180830381600087803b1580156200243357600080fd5b505af115801562002448573d6000803e3d6000fd5b505050506200245662009199565b6020840151604051631c1ba58760e31b815260016004820152306024820152620024db906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa158015620024ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024d391906200a4a3565b60326200922c565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d906024016200248f565b5050505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000806200261f60006802b5e3af16b1880000683635c9adc5dea000006200636b565b602082015191935091506001600160a01b0381166369fa25c46200264b670dd46c083165900062009342565b6040518263ffffffff1660e01b81526004016200266a91815260200190565b600060405180830381600087803b1580156200268557600080fd5b505af11580156200269a573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620026c067016345785d8a000062009342565b6040518263ffffffff1660e01b8152600401620026df91815260200190565b600060405180830381600087803b158015620026fa57600080fd5b505af11580156200270f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f2620027346601c6bf5263400062009342565b6040518263ffffffff1660e01b81526004016200275391815260200190565b600060405180830381600087803b1580156200276e57600080fd5b505af115801562002783573d6000803e3d6000fd5b50505050620027bc6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b6040805180820190915260008082526020820152815260200190600190039081620027d757905050905060405180604001604052806001815260200183815250816000815181106200282d576200282d6200a4d2565b60200260200101819052506000816040516020016200284d91906200a54f565b604051602081830303815290604052905062002871601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620028a092919062009f34565b600060405180830381600087803b158015620028bb57600080fd5b505af1158015620028d0573d6000803e3d6000fd5b50505050620028de62009199565b60006064620028ef6032866200a5a0565b620028fb91906200a381565b604051631c1ba58760e31b8152600160048201523060248201529091506200297d906001600160a01b0387169063e0dd2c38906044015b602060405180830381865afa15801562002950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200297691906200a4a3565b826200922c565b60405163dc96ff2d60e01b815260016004820152620029b0906001600160a01b0387169063dc96ff2d9060240162002932565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d56620029d4620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002a1657600080fd5b505af115801562002a2b573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a6b57600080fd5b505af115801562002a80573d6000803e3d6000fd5b50600092506001915062002a919050565b60405190808252806020026020018201604052801562002ad857816020015b604080518082019091526000808252602082015281526020019060019003908162002ab05790505b509050600060649050604051806040016040528060018152602001828152508260008151811062002b0d5762002b0d6200a4d2565b60200260200101819052508160405160200162002b2b91906200a54f565b604051602081830303815290604052935062002b4f601c546001600160a01b031690565b6001600160a01b0316632ec3818889866040518363ffffffff1660e01b815260040162002b7e92919062009f34565b600060405180830381600087803b15801562002b9957600080fd5b505af115801562002bae573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002c1157600080fd5b505af115801562002c26573d6000803e3d6000fd5b505050506000606460328362002c3d91906200a5a0565b62002c4991906200a381565b905062002c9d886001600160a01b031663e0dd2c38600162002c6a620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440162002932565b60405163dc96ff2d60e01b81526001600482015262002d20906001600160a01b038a169063dc96ff2d90602401602060405180830381865afa15801562002ce8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d0e91906200a4a3565b62002d1a83876200a5ba565b6200922c565b62002d616040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b6000886001600160a01b031663d1e362326040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002da2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002dc891906200a4a3565b905062002e0b6040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e74730000000000008152508262009355565b604080518082018252600b81526a6d61784356537570706c7960a81b6020820152905163950559d760e01b81526004810183905262002ea491906001600160a01b038c169063950559d7906024015b602060405180830381865afa15801562002e78573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e9e91906200a4a3565b62009355565b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b81526001600482015262002f5e91906001600160a01b038c169063950559d790829063dc96ff2d906024015b602060405180830381865afa15801562002f19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f3f91906200a4a3565b6040518263ffffffff1660e01b815260040162002e5a91815260200190565b60405163950559d760e01b81526004810182905262002ffd906001600160a01b038b169063950559d790602401602060405180830381865afa15801562002fa9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002fcf91906200a4a3565b6204690a6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250620093b7565b60405163dc96ff2d60e01b81526001600482015262003106906001600160a01b038b169063950559d790829063dc96ff2d90602401602060405180830381865afa15801562003050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200307691906200a4a3565b6040518263ffffffff1660e01b81526004016200309591815260200190565b602060405180830381865afa158015620030b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030d991906200a4a3565b6170e76040518060400160405280600b81526020016a1b585e10d594dd185ad95960aa1b815250620093b7565b6040516301f7b4f360e41b8152606e6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200315457600080fd5b505af115801562003169573d6000803e3d6000fd5b50505050620031ae6040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b038a1690631aa91a9e906024016020604051808303816000875af1158015620031f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200321c91906200a4a3565b5060008060008060008d6001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200325591815260200190565b61018060405180830381865afa15801562003274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200329a91906200a5e0565b9b509b50509a5050505097509750505050620032e36040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62003318604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620033496040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b6200338060405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b620033c16040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b620034058261e1ce6040518060400160405280600981526020017f7468726573686f6c640000000000000000000000000000000000000000000000815250620093b7565b62003449836123856040518060400160405280600e81526020017f636f6e76696374696f6e4c617374000000000000000000000000000000000000815250620093b7565b6200348c8160646040518060400160405280600e81526020017f766f746572506f696e7473506374000000000000000000000000000000000000815250620093b7565b50505050505050505050505050505050565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620084a6565b6000806200354773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602f5460405161afc86024820152929450909250620035b4916001600160a01b03909116906000906318fb0de560e11b906044015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003c0a565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620035cb5790505090506040518060400160405280600181526020016064815250816000815181106200362257620036226200a4d2565b60200260200101819052506000816040516020016200364291906200a54f565b604051602081830303815290604052905062003666601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200369592919062009f34565b600060405180830381600087803b158015620036b057600080fd5b505af1158015620036c5573d6000803e3d6000fd5b505050506020840151604051631c1ba58760e31b81526001600482015230602482015261afc8919062003752906001600160a01b0383169063e0dd2c38906044015b602060405180830381865afa15801562003725573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200374b91906200a4a3565b836200922c565b60405163dc96ff2d60e01b81526001600482015262003785906001600160a01b0383169063dc96ff2d9060240162003707565b60405180604001604052806001815260200160631981525084600081518110620037b357620037b36200a4d2565b602002602001018190525083604051602001620037d191906200a54f565b6040516020818303038152906040529250620037f5601c546001600160a01b031690565b6001600160a01b0316632ec3818886856040518363ffffffff1660e01b81526004016200382492919062009f34565b600060405180830381600087803b1580156200383f57600080fd5b505af115801562003854573d6000803e3d6000fd5b5050604051631c1ba58760e31b8152600160048201523060248201526200390d92506001600160a01b038416915063e0dd2c3890604401602060405180830381865afa158015620038a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620038cf91906200a4a3565b60006040518060400160405280600a81526020017f566f7465725374616b6500000000000000000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b815260016004820152620039bc906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562003958573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200397e91906200a4a3565b60006040518060400160405280600c81526020017f5374616b6564416d6f756e740000000000000000000000000000000000000000815250620093b7565b62003a63816001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620039ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003a2591906200a4a3565b60006040518060400160405280600b81526020017f546f74616c5374616b6564000000000000000000000000000000000000000000815250620093b7565b602f546040516032602482015262003a94916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050565b600062000b2f6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620084a6565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562003baf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162003b705790505b5050505050815250508152602001906001019062003b02565b600062000b2f6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620084a6565b6000602960019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602960019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003c90573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cb691906200a4a3565b6040518b63ffffffff1660e01b815260040162003cdd9a999897969594939291906200a6d2565b600060405180830381865afa15801562003cfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003d2591908101906200a77f565b80516020820120602c546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003dac573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dd291906200a7cd565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526029547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062003e89908c908c908c90600090819081908190819081908d906065016200a80c565b6020604051808303816000875af115801562003ea9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003ecf91906200a3a4565b50505050505050505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062003f0a62001db5565b8160008151811062003f205762003f206200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62004caa565b8160018151811062003f605762003f606200a4d2565b6001600160a01b0390921660209283029190910190910152919050565b60008062003fa273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062003fdb6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260509160009190816020015b604080518082019091526000808252602082015281526020019060019003908162003ff657905050905060405180604001604052806001815260200183815250816000815181106200404c576200404c6200a4d2565b60200260200101819052506000816040516020016200406c91906200a54f565b604051602081830303815290604052905062004090601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b8152600401620040bf92919062009f34565b600060405180830381600087803b158015620040da57600080fd5b505af1158015620040ef573d6000803e3d6000fd5b50505050620040fd62009199565b600060646200410e6032866200a5a0565b6200411a91906200a381565b6020870151604051631c1ba58760e31b81526001600482015230602482015291925090620041d7906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa15801562004174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200419a91906200a4a3565b836040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653100000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200420a906001600160a01b0383169063dc96ff2d9060240162003707565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200422e620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200427057600080fd5b505af115801562004285573d6000803e3d6000fd5b5050505060006002905060006040518060c00160405280838152602001898152602001620042b2620052a1565b6001600160a01b03168152602001600181526103e8602080830191909152602d546001600160a01b03166040928301529051919250600091620042f8918491016200a893565b60405160208183030381529060405290506200431c601c546001600160a01b031690565b6001600160a01b031663075c0e9c8a836040518363ffffffff1660e01b81526004016200434b92919062009f34565b6020604051808303816000875af11580156200436b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200439191906200a483565b50602d54602f546040805162cc4e0f60e21b815290516001600160a01b039384169363095ea7b39316918291630331383c916004808201926020929091908290030181865afa158015620043e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200440f91906200a4a3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156200445b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200448191906200a3a4565b50836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620044be57600080fd5b505af1158015620044d3573d6000803e3d6000fd5b506000925060019150620044e49050565b6040519080825280602002602001820160405280156200452b57816020015b6040805180820190915260008082526020820152815260200190600190039081620045035790505b509050600060649050604051806040016040528086815260200182815250826000815181106200455f576200455f6200a4d2565b6020026020010181905250816040516020016200457d91906200a54f565b6040516020818303038152906040529750620045a1601c546001600160a01b031690565b6001600160a01b0316632ec381888c8a6040518363ffffffff1660e01b8152600401620045d092919062009f34565b600060405180830381600087803b158015620045eb57600080fd5b505af115801562004600573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200466357600080fd5b505af115801562004678573d6000803e3d6000fd5b50505050600060646032836200468f91906200a5a0565b6200469b91906200a381565b905062004769876001600160a01b031663e0dd2c3888620046bb620052a1565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa15801562004706573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200472c91906200a4a3565b826040518060400160405280601381526020017f50726f706f73616c566f7465725374616b653200000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b81526004810187905262004817906001600160a01b0389169063dc96ff2d90602401602060405180830381865afa158015620047b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620047da91906200a4a3565b826040518060400160405280600c81526020017f5374616b65644d6f756e74320000000000000000000000000000000000000000815250620093b7565b620048586040518060400160405280601381526020017f6265666f726520626c6f636b2e6e756d626572000000000000000000000000008152504362009355565b620048ce6040518060400160405280600b81526020016a6d61784356537570706c7960a81b815250886001600160a01b031663950559d78a6001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002f19573d6000803e3d6000fd5b604080518082018252600b81526a1b585e10d594dd185ad95960aa1b6020820152905163dc96ff2d60e01b8152600160048201526200492a91906001600160a01b038a169063950559d790829063dc96ff2d9060240162002efb565b6040516301f7b4f360e41b8152600a6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90631f7b4f3090602401600060405180830381600087803b1580156200497857600080fd5b505af11580156200498d573d6000803e3d6000fd5b50505050620049d26040518060400160405280601281526020017f616674657220626c6f636b2e6e756d62657200000000000000000000000000008152504362009355565b604051630d548d4f60e11b8152600160048201526001600160a01b03881690631aa91a9e906024016020604051808303816000875af115801562004a1a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a4091906200a4a3565b5060008060008060008b6001600160a01b031663c7f758a860016040518263ffffffff1660e01b815260040162004a7991815260200190565b61018060405180830381865afa15801562004a98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004abe91906200a5e0565b9b509b50509a505050509750975050505062004b076040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62004b3c604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b62004b6d6040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508362009355565b62004ba460405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508462009355565b62004be56040518060400160405280601381526020017f566f74657220706f696e747320706374202573000000000000000000000000008152508262009355565b505050505050505050505050505050505050565b600062000b2f6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620084a6565b6040805160028082526060808301845292600092919060208301908036833701905050905062004c6a62000aed565b8160008151811062004c805762004c806200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a62003bc8565b600062000b2f6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620084a6565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462004d74906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462004da2906200a3c4565b801562004df35780601f1062004dc75761010080835404028352916020019162004df3565b820191906000526020600020905b81548152906001019060200180831162004dd557829003601f168201915b50505050508152602001906001019062004d52565b60008062004e2d73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b9150915062004e666040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600180825281830190925260649160009190816020015b604080518082019091526000808252602082015281526020019060019003908162004e81579050509050604051806040016040528060018152602001838152508160008151811062004ed75762004ed76200a4d2565b602002602001018190525062004ef5601c546001600160a01b031690565b6001600160a01b0316632ec38188848360405160200162004f1791906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b815260040162004f4592919062009f34565b600060405180830381600087803b15801562004f6057600080fd5b505af115801562004f75573d6000803e3d6000fd5b5050505062004f8362009199565b6000606462004f946032856200a5a0565b62004fa091906200a381565b6020860151604051631c1ba58760e31b8152600160048201523060248201529192509062004fe2906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b81526001600482015262005015906001600160a01b0383169063dc96ff2d9060240162003707565b600080600080600080866001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200504e91815260200190565b61018060405180830381865afa1580156200506d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200509391906200a5e0565b509a50509950995050509750975050965050620050dd6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b62005112604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620051436040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620051846040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b620051bb60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b604080516000808252602082018352600182840152825180830384018152606083018452928f0151919291620051f2908a620073fe565b9050620052018160006200922c565b601c546001600160a01b03166001600160a01b0316633a5fbd928f85856040518463ffffffff1660e01b81526004016200523e939291906200a8fc565b600060405180830381600087803b1580156200525957600080fd5b505af11580156200526e573d6000803e3d6000fd5b50505050620052828f604001518a620073fe565b90506200529081896200922c565b505050505050505050505050505050565b600062000b2f6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620084a6565b6000806200534a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005376670c7d713b49da000062009342565b6040518263ffffffff1660e01b81526004016200539591815260200190565b600060405180830381600087803b158015620053b057600080fd5b505af1158015620053c5573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae3620053eb6702c68af0bb14000062009342565b6040518263ffffffff1660e01b81526004016200540a91815260200190565b600060405180830381600087803b1580156200542557600080fd5b505af11580156200543a573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f26200545f66071afd498d000062009342565b6040518263ffffffff1660e01b81526004016200547e91815260200190565b600060405180830381600087803b1580156200549957600080fd5b505af1158015620054ae573d6000803e3d6000fd5b5050602f5460405161afc8602482018190529350620054e992506001600160a01b03909116906000906318fb0de560e11b906044016200357c565b6200551e6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620055355790505090506040518060400160405280600181526020016064815250816000815181106200558c576200558c6200a4d2565b6020026020010181905250600081604051602001620055ac91906200a54f565b6040516020818303038152906040529050620055d0601c546001600160a01b031690565b6001600160a01b0316632ec3818886836040518363ffffffff1660e01b8152600401620055ff92919062009f34565b600060405180830381600087803b1580156200561a57600080fd5b505af11580156200562f573d6000803e3d6000fd5b505050506200563d62009199565b604051631c1ba58760e31b815260016004820152306024820152620056bc906001600160a01b0386169063e0dd2c38906044015b602060405180830381865afa1580156200568f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620056b591906200a4a3565b846200922c565b60405163dc96ff2d60e01b815260016004820152620056ef906001600160a01b0386169063dc96ff2d9060240162005671565b60405163346db8cb60e01b8152600a6004820152600060248201819052613a9860448301819052916001600160a01b0387169063346db8cb90606401602060405180830381865afa15801562005749573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200576f91906200a4a3565b9050620057a26040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b6000620057b7600a6000856289544062007e25565b9050620057e76040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b620057f382826200922c565b6200580183613a986200922c565b6200580f8661afc86200922c565b6200581e8262017da26200922c565b602f54604051603260248201526200584f916001600160a01b0316906000906318fb0de560e11b906044016200357c565b505050505050505050565b6026546000906200592f57816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620058ba620052a1565b620058c462004c3b565b6040518563ffffffff1660e01b8152600401620058e594939291906200a935565b6020604051808303816000875af115801562005905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200592b91906200a4a3565b6026555b505060265490565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001fa05760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562005a0857602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620059c95790505b505050505081525050815260200190600101906200595b565b600062005a4573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505060006040518060c001604052806001815260200183815260200162005a6c620052a1565b6001600160a01b03168152602001600081526020016103e8815260200173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316815250905060008160405160200162005ac191906200a893565b60408051601f19818403018152828252600160248085019190915282518085039091018152604490930182526020830180516001600160e01b03167fdf4eff3b00000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb39162005b5a91906004016200a4bd565b600060405180830381600087803b15801562005b7557600080fd5b505af115801562005b8a573d6000803e3d6000fd5b5050505062005ba1601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162005bd092919062009f34565b6020604051808303816000875af115801562005bf0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062005c1691906200a483565b50505050565b6040805160028082526060808301845292600092919060208301908036833701905050905062005c4b6200349e565b8160008151811062005c615762005c616200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505062003f4a620052e3565b60008062005cb073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c462005cdc670c7d713b49da000062009342565b6040518263ffffffff1660e01b815260040162005cfb91815260200190565b600060405180830381600087803b15801562005d1657600080fd5b505af115801562005d2b573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362005d516702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162005d7091815260200190565b600060405180830381600087803b15801562005d8b57600080fd5b505af115801562005da0573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262005dc566071afd498d000062009342565b6040518263ffffffff1660e01b815260040162005de491815260200190565b600060405180830381600087803b15801562005dff57600080fd5b505af115801562005e14573d6000803e3d6000fd5b5050602f5460405161afc8602482015262005e4c93506001600160a01b0390911691506000906318fb0de560e11b906044016200357c565b62005e816040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162005e9857905050905060405180604001604052806001815260200160648152508160008151811062005eef5762005eef6200a4d2565b602002602001018190525060008160405160200162005f0f91906200a54f565b604051602081830303815290604052905062005f33601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162005f6292919062009f34565b600060405180830381600087803b15801562005f7d57600080fd5b505af115801562005f92573d6000803e3d6000fd5b5050505062005fa062009199565b604051631c1ba58760e31b81526001600482015230602482015261afc89062005fdd906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262006010906001600160a01b0386169063dc96ff2d9060240162002932565b6040517f59a5db8b0000000000000000000000000000000000000000000000000000000081526103e860048201526000906001600160a01b038616906359a5db8b90602401602060405180830381865afa15801562006073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200609991906200a4a3565b9050620060dc6040518060400160405280600c81526020017f7468726573686f6c6420257300000000000000000000000000000000000000008152508262009355565b620060ea8261afc86200922c565b620060f88161c5c16200922c565b602f546040516032602482015262001702916001600160a01b0316906000906318fb0de560e11b906044016200357c565b600062000b2f6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620084a6565b6040805160808101825260008082526020820181905291810182905260608101829052620061a1670de0a46bc207d80062009342565b6020820152620061b96702c68af0bb14000062009342565b6040820152620061d066038d7ea4c6800062009342565b6060828101919091526001600160a01b03861682526040805160028082529281018252600092909160208301908036833701905050905030816000815181106200621e576200621e6200a4d2565b60200260200101906001600160a01b031690816001600160a01b03168152505033816001815181106200625557620062556200a4d2565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee908516156200628c5750835b886001600160a01b031663e1007d4a620062a6886200585a565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006024896040518863ffffffff1660e01b81526004016200631897969594939291906200a9bd565b6020604051808303816000875af115801562006338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200635e91906200a4a3565b9998505050505050505050565b6200637562009cc2565b60008360000362006386576103e893505b826000036200639557613a9892505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616620063c75750602d546001600160a01b03165b620063f86040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d566200641c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200645e57600080fd5b505af115801562006473573d6000803e3d6000fd5b5050505060006200648c601c546001600160a01b031690565b6040516200649a9062009d29565b6001600160a01b039091168152602001604051809103906000f080158015620064c7573d6000803e3d6000fd5b50905062006508620064e1601c546001600160a01b031690565b82620064f5602f546001600160a01b031690565b601d546001600160a01b0316866200616b565b92507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200656957600080fd5b505af11580156200657e573d6000803e3d6000fd5b50505050806001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620065be57600080fd5b505af1158015620065d3573d6000803e3d6000fd5b50505050620065ea601c546001600160a01b031690565b6001600160a01b031663068bcd8d846040518263ffffffff1660e01b81526004016200661891815260200190565b600060405180830381865afa15801562006636573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200666091908101906200ab4f565b6040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815230600482015260248101879052909450737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015620066d057600080fd5b505af1158015620066e5573d6000803e3d6000fd5b5050505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b0316826001600160a01b0316036200679057601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac9087906044016000604051808303818588803b1580156200677057600080fd5b505af115801562006785573d6000803e3d6000fd5b505050505062006914565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018690526001600160a01b038316906340c10f1990604401600060405180830381600087803b158015620067f257600080fd5b505af115801562006807573d6000803e3d6000fd5b50505050816001600160a01b031663095ea7b36200682d601c546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018890526044016020604051808303816000875af11580156200687b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620068a191906200a3a4565b50601c546001600160a01b03166040516316b35beb60e21b815260048101859052602481018790526001600160a01b039190911690635acd6fac90604401600060405180830381600087803b158015620068fa57600080fd5b505af11580156200690f573d6000803e3d6000fd5b505050505b83516200696e906200693262000937601d546001600160a01b031690565b6040518060400160405280600d81526020017f706f6f6c50726f66696c6549440000000000000000000000000000000000000081525062009404565b6200699f6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b60006040518060c0016040528060018152602001858152602001620069c3620052a1565b6001600160a01b0316815260200160018152602001888152602001846001600160a01b0316815250905060008160405160200162006a0291906200a893565b604051602081830303815290604052905062006a26601c546001600160a01b031690565b6001600160a01b031663075c0e9c86836040518363ffffffff1660e01b815260040162006a5592919062009f34565b6020604051808303816000875af115801562006a75573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062006a9b91906200a483565b5062006aa662009199565b50505050935093915050565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001fa057838290600052602060002001805462006af8906200a3c4565b80601f016020809104026020016040519081016040528092919081815260200182805462006b26906200a3c4565b801562006b775780601f1062006b4b5761010080835404028352916020019162006b77565b820191906000526020600020905b81548152906001019060200180831162006b5957829003601f168201915b50505050508152602001906001019062006ad6565b600754600090610100900460ff161562006baf5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562006cbe5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909162006c40917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016200ac0f565b60408051601f198184030181529082905262006c5c916200ac41565b6000604051808303816000865af19150503d806000811462006c9b576040519150601f19603f3d011682016040523d82523d6000602084013e62006ca0565b606091505b509150508080602001905181019062006cba91906200a3a4565b9150505b919050565b600062006ce773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91505062006d1f6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b60408051600280825260608201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162006d3757905050905060405180604001604052806001815260200160508152508160008151811062006d8e5762006d8e6200a4d2565b602002602001018190525060405180604001604052806001815260200160148152508160018151811062006dc65762006dc66200a4d2565b602002602001018190525060008160405160200162006de691906200a54f565b60408051601f198184030181529190529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662006e1c620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562006e5e57600080fd5b505af115801562006e73573d6000803e3d6000fd5b50506040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6a5cfb6d000000000000000000000000000000000000000000000000000000006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562006efd57600080fd5b505af115801562006f12573d6000803e3d6000fd5b5050505062006f29601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b815260040162006f5892919062009f34565b600060405180830381600087803b15801562006f7357600080fd5b505af115801562006f88573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620021fd57600080fd5b600062000b2f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200709473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620070cd6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081620070e45790505090506040518060400160405280600181526020016050815250816000815181106200713b576200713b6200a4d2565b60200260200101819052506000816040516020016200715b91906200a54f565b60405160208183030381529060405290506200717f601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b8152600401620071ae92919062009f34565b600060405180830381600087803b158015620071c957600080fd5b505af1158015620071de573d6000803e3d6000fd5b50505050620071ec62009199565b60006064620071fe603260506200a5a0565b6200720a91906200a381565b6020860151604051631c1ba58760e31b815260016004820152306024820152919250906200724c906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b8152600160048201526200727f906001600160a01b0383169063dc96ff2d9060240162003707565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007296579050509050604051806040016040528060018152602001601481525081600081518110620072ed57620072ed6200a4d2565b6020026020010181905250806040516020016200730b91906200a54f565b60405160208183030381529060405293506200732f601c546001600160a01b031690565b6001600160a01b0316632ec3818887866040518363ffffffff1660e01b81526004016200735e92919062009f34565b600060405180830381600087803b1580156200737957600080fd5b505af11580156200738e573d6000803e3d6000fd5b5050604051631c1ba58760e31b815260016004820152306024820152620073cb92506001600160a01b038516915063e0dd2c38906044016200248f565b60405163dc96ff2d60e01b81526001600482015262001702906001600160a01b0384169063dc96ff2d906024016200248f565b60007fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b038416016200744357506001600160a01b03811631620074cc565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015620074a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620074c991906200a4a3565b90505b92915050565b600062000b2f6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620084a6565b6000806200753973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b91509150620075726040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816200758957905050905060405180604001604052806001815260200160631981525081600081518110620075e157620075e16200a4d2565b60200260200101819052506000816040516020016200760191906200a54f565b60408051601f19818403018152828252600060248401526063196044840181905260648085019190915282518085039091018152608490930182526020830180516001600160e01b03167f3bbc714200000000000000000000000000000000000000000000000000000000179052905163f28dceb360e01b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391620076a991906004016200a4bd565b600060405180830381600087803b158015620076c457600080fd5b505af1158015620076d9573d6000803e3d6000fd5b50505050620076f0601c546001600160a01b031690565b6001600160a01b0316632ec3818884836040518363ffffffff1660e01b81526004016200771f92919062009f34565b600060405180830381600087803b1580156200773a57600080fd5b505af11580156200774f573d6000803e3d6000fd5b505050506200775d62009199565b6020840151604051631c1ba58760e31b81526001600482015230602482015262007817906001600160a01b0383169063e0dd2c3890604401602060405180830381865afa158015620077b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620077d991906200a4a3565b60006040518060400160405280601081526020017f566f7465725374616b65416d6f756e7400000000000000000000000000000000815250620093b7565b60405163dc96ff2d60e01b8152600160048201526200250e906001600160a01b0383169063dc96ff2d90602401602060405180830381865afa15801562007862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200788891906200a4a3565b60006040518060400160405280601b81526020017f546f74616c5374616b6564416d6f756e74496e50726f706f73616c0000000000815250620093b7565b600062000b2f6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620084a6565b600062000b2f6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620084a6565b6000806200796f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6000806200636b565b602082015191935091506001600160a01b0381166369fa25c46200799b670c7d713b49da000062009342565b6040518263ffffffff1660e01b8152600401620079ba91815260200190565b600060405180830381600087803b158015620079d557600080fd5b505af1158015620079ea573d6000803e3d6000fd5b50505050806001600160a01b03166311f22ae362007a106702c68af0bb14000062009342565b6040518263ffffffff1660e01b815260040162007a2f91815260200190565b600060405180830381600087803b15801562007a4a57600080fd5b505af115801562007a5f573d6000803e3d6000fd5b50505050806001600160a01b031663fc1711f262007a8466071afd498d000062009342565b6040518263ffffffff1660e01b815260040162007aa391815260200190565b600060405180830381600087803b15801562007abe57600080fd5b505af115801562007ad3573d6000803e3d6000fd5b5050505062007b0c6040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252600091816020015b604080518082019091526000808252602082015281526020019060019003908162007b2357905050905060405180604001604052806001815260200160508152508160008151811062007b7a5762007b7a6200a4d2565b602002602001018190525060008160405160200162007b9a91906200a54f565b604051602081830303815290604052905062007bbe601c546001600160a01b031690565b6001600160a01b0316632ec3818885836040518363ffffffff1660e01b815260040162007bed92919062009f34565b600060405180830381600087803b15801562007c0857600080fd5b505af115801562007c1d573d6000803e3d6000fd5b5050505062007c2b62009199565b6000606462007c3d603260506200a5a0565b62007c4991906200a381565b604051631c1ba58760e31b81526001600482015230602482015290915062007c85906001600160a01b0386169063e0dd2c389060440162002932565b60405163dc96ff2d60e01b81526001600482015262007cb8906001600160a01b0386169063dc96ff2d9060240162002932565b60405163346db8cb60e01b8152600a600482015260006024820181905260448201839052906001600160a01b0386169063346db8cb90606401602060405180830381865afa15801562007d0f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007d3591906200a4a3565b905062007d686040518060400160405280600d81526020016c63765f616d6f756e743a20257360981b8152508262009355565b600062007d7d600a6000856289544062007e25565b905062007dad6040518060400160405280600a81526020016963765f636d703a20257360b01b8152508262009355565b62007db982826200922c565b5050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001e51576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001e32575050505050905090565b6000848162007e4762007e4062989680608087901b6200a381565b8362009451565b905060806f8000000000000000000000000000000062007e6b86629896806200ac5f565b62007e7b84600160801b6200ac5f565b62007e8a629896808a6200a5a0565b62007e9691906200a5a0565b62007ea291906200a381565b62007eae89856200a5a0565b62007eba91906200a5ba565b62007ec691906200a5ba565b901c979650505050505050565b60008062007ee560008060006200636b565b9150915062007f1a6040518060400160405280600e81526020016d18dc99585d19541c9bdc1bdcd85b60921b81525062009176565b6040805160c0810182526002815260208082018490526000828401819052606083018190526080830181905260a08301819052925191929162007f60918491016200a893565b604051602081830303815290604052905062007f84601c546001600160a01b031690565b6001600160a01b031663075c0e9c84836040518363ffffffff1660e01b815260040162007fb392919062009f34565b6020604051808303816000875af115801562007fd3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062007ff991906200a483565b506200800462009199565b620080396040518060400160405280601281526020017114dd5c1c1bdc9d081848141c9bdc1bdcd85b60721b81525062009176565b604080516001808252818301909252606491600291600091816020015b60408051808201909152600080825260208201528152602001906001900390816200805657905050905060405180604001604052808381526020018481525081600081518110620080ab57620080ab6200a4d2565b6020026020010181905250620080c9601c546001600160a01b031690565b6001600160a01b0316632ec381888783604051602001620080eb91906200a54f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016200811992919062009f34565b600060405180830381600087803b1580156200813457600080fd5b505af115801562008149573d6000803e3d6000fd5b505050506200815762009199565b60006064620081686032866200a5a0565b6200817491906200a381565b6020890151604051631c1ba58760e31b81526004810186905230602482015291925090620081b6906001600160a01b0383169063e0dd2c389060440162003707565b60405163dc96ff2d60e01b815260048101859052620081e9906001600160a01b0383169063dc96ff2d9060240162003707565b6000806000806000856001600160a01b031663c7f758a860016040518263ffffffff1660e01b81526004016200822191815260200190565b61018060405180830381865afa15801562008240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200826691906200a5e0565b509a505099509950505097509750505050620082af6040518060400160405280601481526020017352657175657374656420416d6f756e743a20257360601b8152508662009355565b620082e4604051806040016040528060118152602001705374616b656420546f6b656e733a20257360781b8152508562009355565b620083156040518060400160405280600d81526020016c5468726573686f6c643a20257360981b8152508262009355565b620083566040518060400160405280600e81526020017f426c6f636b204c6173743a2025730000000000000000000000000000000000008152508462009355565b6200838d60405180604001604052806013815260200172436f6e76696374696f6e204c6173743a20257360681b8152508362009355565b600089604051602001620083a391815260200190565b6040516020818303038152906040529050620083c7601c546001600160a01b031690565b6001600160a01b0316633a5fbd928f600060405190808252806020026020018201604052801562008402578160200160208202803683370190505b50846040518463ffffffff1660e01b815260040162008424939291906200a8fc565b600060405180830381600087803b1580156200843f57600080fd5b505af115801562008454573d6000803e3d6000fd5b50505050505050505050505050505050505050565b600062000b2f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620084b3826200950a565b5092915050565b620084c46200963f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620084e8620052a1565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200852a57600080fd5b505af11580156200853f573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020016b506f6f6c50726f66696c653160a01b815250815250620085ad620052a1565b620085b762004c3b565b6040518563ffffffff1660e01b8152600401620085d894939291906200a935565b6020604051808303816000875af1158015620085f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200861e91906200a4a3565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa1580156200866b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200869591908101906200ac75565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620086dc6200702d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200871e57600080fd5b505af115801562008733573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6531000000000000000000000000000000000000000000000000815250815250620087b26200702d565b620087bc62003edb565b6040518563ffffffff1660e01b8152600401620087dd94939291906200ad4b565b6020604051808303816000875af1158015620087fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200882391906200a4a3565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008870573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200889a91908101906200ac75565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620088e162001d73565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200892357600080fd5b505af115801562008938573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c6532000000000000000000000000000000000000000000000000815250815250620089b762001d73565b620089c162005c1c565b6040518563ffffffff1660e01b8152600401620089e294939291906200adbd565b6020604051808303816000875af115801562008a02573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008a2891906200a4a3565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562008a75573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262008a9f91908101906200ac75565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662008ae862004cec565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562008b2a57600080fd5b505af115801562008b3f573d6000803e3d6000fd5b5050505060405162008b519062009d37565b604051809103906000f08015801562008b6e573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862008b9d62004cec565b8362008ba8620078c6565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b15801562008c0e57600080fd5b505af115801562008c23573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562008c8657600080fd5b505af11580156200250e573d6000803e3d6000fd5b602c546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa186499162008cf49160040190815260200190565b602060405180830381865afa15801562008d12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008d3891906200a483565b602b80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562008dd957600080fd5b505af115801562008dee573d6000803e3d6000fd5b505060295461010090046001600160a01b0316915062009110905057600060405162008e1a9062009ca6565b604051809103906000f08015801562008e37573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b960405162008e599062009cb4565b604051809103906000f08015801562008e76573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562008ed3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062008ef991906200a483565b602980547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a202573000000000000000000602082015293945062008f7c93920416620096f0565b602954604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200900d57600080fd5b505af115801562009022573d6000803e3d6000fd5b506000925060019150620090339050565b6040519080825280602002602001820160405280156200905d578160200160208202803683370190505b50602b5481519192506001600160a01b03169082906000906200908457620090846200a4d2565b6001600160a01b03928316602091820292909201015260295460405163b63e800d60e01b81526101009091049091169063b63e800d90620090d890849060019060009081908190819081906004016200a4e8565b600060405180830381600087803b158015620090f357600080fd5b505af115801562009108573d6000803e3d6000fd5b505050505050505b5060295461010090046001600160a01b031690565b8115158315151462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200916291906200ae0c565b60405180910390a162001404838362009752565b60295460ff1615620091965760276200919082826200ae9f565b505a6028555b50565b60295460ff16156200922a5760005a90506000606482602854620091be91906200ac5f565b620091ca91906200ac5f565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a860276040516020016200920191906200af6c565b60408051601f19818403018152908290526200921f9184906200b00f565b60405180910390a150505b565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620092ba9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051620092f391906200b033565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516200932c91906200b06c565b60405180910390a16200933e620098e4565b5050565b6000620074cc64174876e800836200a381565b6200933e82826040516024016200936e9291906200b00f565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052620099f7565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051620093f091906200ae0c565b60405180910390a16200140483836200922c565b81831462001404577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516200943d91906200ae0c565b60405180910390a162001404838362009a18565b6000600160801b8310620094ac5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b8015620095025780600116600003620094df57620094d4828362009b18565b915060011c620094b5565b620094eb838362009b18565b9250620094fa6001826200ac5f565b9050620094b5565b505092915050565b600080826040516020016200952091906200ac41565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa158015620095a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620095c891906200a483565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200960690859087906004016200b097565b600060405180830381600087803b1580156200962157600080fd5b505af115801562009636573d6000803e3d6000fd5b50505050915091565b6040516200964d9062009d45565b604051809103906000f0801580156200966a573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de86200969962007908565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620096db57600080fd5b505af115801562005c16573d6000803e3d6000fd5b6200933e8282604051602401620097099291906200b0bb565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052620099f7565b801515821515146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620097e49060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f60408201527f6c5d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838262009837576040518060400160405280600581526020016466616c736560d81b81525062009855565b604051806040016040528060048152602001637472756560e01b8152505b6040516200986491906200b0e8565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381620098b7576040518060400160405280600581526020016466616c736560d81b815250620098d5565b604051806040016040528060048152602001637472756560e01b8152505b6040516200932c91906200b127565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620099e65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526200998192916020016200ac0f565b60408051601f19818403018152908290526200999d916200ac41565b6000604051808303816000865af19150503d8060008114620099dc576040519150601f19603f3d011682016040523d82523d6000602084013e620099e1565b606091505b505050505b6007805461ff001916610100179055565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b8082146200933e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162009aa69060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405162009adf91906200b033565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516200932c91906200b06c565b6000600160801b83111562009b965760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401620094a3565b600160801b821062009beb5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401620094a3565b60806f8000000000000000000000000000000062009c0a84866200a5a0565b62009c1691906200a5ba565b901c9392505050565b610e67806200b15383390190565b612768806200bfba83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162009c99604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200e72283390190565b613594806200ef7483390190565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200162009d15604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b613491806201250883390190565b6135c1806201599983390190565b612eb68062018f5a83390190565b6001600160a01b03811681146200919657600080fd5b60006020828403121562009d7c57600080fd5b813562009d898162009d53565b9392505050565b600081518084526020808501945080840160005b8381101562009dcb5781516001600160a01b03168752958201959082019060010162009da4565b509495945050505050565b60208152600062009d89602083018462009d90565b60005b8381101562009e0857818101518382015260200162009dee565b50506000910152565b6000815180845262009e2b81602086016020860162009deb565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562009ef557603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562009ede57605f1989850301835262009ecb84865162009e11565b948e01949350918d019160010162009eac565b505050978a01979450509188019160010162009e66565b50919a9950505050505050505050565b80151581146200919657600080fd5b60006020828403121562009f2757600080fd5b813562009d898162009f05565b82815260406020820152600062009f4f604083018462009e11565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562009fff57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562009fe95783516001600160e01b0319168252928b019260019290920191908b019062009fbd565b50978a0197955050509187019160010162009f7f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156200a04a576200a04a6200a00e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156200a07c576200a07c6200a00e565b604052919050565b600067ffffffffffffffff8211156200a0a1576200a0a16200a00e565b50601f01601f191660200190565b6000806000606084860312156200a0c557600080fd5b83356200a0d28162009d53565b925060208401359150604084013567ffffffffffffffff8111156200a0f657600080fd5b8401601f810186136200a10857600080fd5b80356200a11f6200a119826200a084565b6200a050565b8181528760208385010111156200a13557600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200a1ae57603f198886030184526200a19b85835162009e11565b945092850192908501906001016200a17c565b5092979650505050505050565b600080600080600060a086880312156200a1d457600080fd5b85356200a1e18162009d53565b945060208601356200a1f38162009d53565b935060408601356200a2058162009d53565b925060608601356200a2178162009d53565b915060808601356200a2298162009d53565b809150509295509295909350565b6000806000606084860312156200a24d57600080fd5b83356200a25a8162009d53565b95602085013595506040909401359392505050565b80518252600060208201516040602085015262009f4f604085018262009e11565b6040815282516040820152600060208401516001600160a01b0380821660608501528060408701511660808501525050606084015160c060a08401526200a2dc6101008401826200a26f565b608086015160c085015260a09095015160e084015250506020015290565b600080604083850312156200a30e57600080fd5b82356200a31b8162009d53565b915060208301356200a32d8162009d53565b809150509250929050565b600080600080608085870312156200a34f57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b6000826200a39f57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200a3b757600080fd5b815162009d898162009f05565b600181811c908216806200a3d957607f821691505b6020821081036200a3fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200a45d6101008501826200a26f565b90508160c08601511660e0850152809250505092915050565b805162006cbe8162009d53565b6000602082840312156200a49657600080fd5b815162009d898162009d53565b6000602082840312156200a4b657600080fd5b5051919050565b60208152600062009d89602083018462009e11565b634e487b7160e01b600052603260045260246000fd5b60006101008083526200a4fe8184018b62009d90565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b602080825282518282018190526000919060409081850190868401855b828110156200a593578151805185528601518685015292840192908501906001016200a56c565b5091979650505050505050565b8082028115828204841417620074cc57620074cc6200a36b565b80820180821115620074cc57620074cc6200a36b565b80516004811062006cbe57600080fd5b6000806000806000806000806000806000806101808d8f0312156200a60457600080fd5b8c516200a6118162009d53565b60208e0151909c506200a6248162009d53565b60408e0151909b506200a6378162009d53565b809a505060608d0151985060808d0151975060a08d0151600381106200a65c57600080fd5b96506200a66c60c08e016200a5d0565b955060e08d015194506101008d015193506101208d015192506101408d015191506101608d015190509295989b509295989b509295989b565b634e487b7160e01b600052602160045260246000fd5b600281106200a6ce576200a6ce6200a6a5565b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200a6fe8285018d62009e11565b92506200a70f606085018c6200a6bb565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006200a75a6200a119846200a084565b90508281528383830111156200a76f57600080fd5b62009d8983602083018462009deb565b6000602082840312156200a79257600080fd5b815167ffffffffffffffff8111156200a7aa57600080fd5b8201601f810184136200a7bc57600080fd5b62009f4f848251602084016200a749565b6000806000606084860312156200a7e357600080fd5b835160ff811681146200a7f557600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c60208501528160408501526200a8388285018d62009e11565b91506200a849606085018c6200a6bb565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200a882818562009e11565b9d9c50505050505050505050505050565b600060c082019050825182526020830151602083015260408301516001600160a01b03808216604085015260608501519150600382106200a8d8576200a8d86200a6a5565b816060850152608085015160808501528060a08601511660a0850152505092915050565b8381526060602082015260006200a917606083018562009d90565b82810360408401526200a92b818562009e11565b9695505050505050565b84815260a0602082015260006200a97960a08301600e81527f506f6f6c2050726f66696c652031000000000000000000000000000000000000602082015260400190565b82810360408401526200a98d81876200a26f565b90506001600160a01b038516606084015282810360808401526200a9b2818562009d90565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200a9e960e085018a62009e11565b6060828a168187015288608087015285820360a08701528754825260019250828801604085840152600081546200aa20816200a3c4565b806040870152868216600081146200aa4157600181146200aa5c576200aa8c565b60ff1983168787015281151560051b8701860193506200aa8c565b846000528860002060005b838110156200aa84578154898201890152908901908a016200aa67565b880187019450505b50505087810360c08901526200aaa3818a62009d90565b9f9e505050505050505050505050505050565b600082601f8301126200aac857600080fd5b62009d89838351602085016200a749565b6000604082840312156200aaec57600080fd5b6040516040810167ffffffffffffffff82821081831117156200ab13576200ab136200a00e565b816040528293508451835260208501519150808211156200ab3357600080fd5b506200ab42858286016200aab6565b6020830152505092915050565b6000602082840312156200ab6257600080fd5b815167ffffffffffffffff808211156200ab7b57600080fd5b9083019060c082860312156200ab9057600080fd5b6200ab9a6200a024565b8251815260208301516200abae8162009d53565b602082015260408301516200abc38162009d53565b60408201526060830151828111156200abdb57600080fd5b6200abe9878286016200aad9565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6001600160e01b031983168152600082516200ac3381600485016020870162009deb565b919091016004019392505050565b600082516200ac5581846020870162009deb565b9190910192915050565b81810381811115620074cc57620074cc6200a36b565b6000602082840312156200ac8857600080fd5b815167ffffffffffffffff808211156200aca157600080fd5b9083019060c082860312156200acb657600080fd5b6200acc06200a024565b82518152602083015160208201526040830151828111156200ace157600080fd5b6200acef878286016200aab6565b6040830152506060830151828111156200ad0857600080fd5b6200ad16878286016200aad9565b6060830152506200ad2a608084016200a476565b60808201526200ad3d60a084016200a476565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b6001600160a01b038516606084015282810360808401526200a9b2818562009d90565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200ad9a60e08301866200a26f565b60408152600560408201527f4572726f72000000000000000000000000000000000000000000000000000000606082015260806020820152600062009d89608083018462009e11565b601f8211156200140457600081815260208120601f850160051c810160208610156200ae7e5750805b601f850160051c820191505b8181101562003a94578281556001016200ae8a565b815167ffffffffffffffff8111156200aebc576200aebc6200a00e565b6200aed4816200aecd84546200a3c4565b846200ae55565b602080601f8311600181146200af0c57600084156200aef35750858301515b600019600386901b1c1916600185901b17855562003a94565b600085815260208120601f198616915b828110156200af3d578886015182559484019460019091019084016200af1c565b50858210156200af5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008083546200af7c816200a3c4565b600182811680156200af9757600181146200afad576200afde565b60ff19841687528215158302870194506200afde565b8760005260208060002060005b858110156200afd55781548a8201529084019082016200afba565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006200b024604083018562009e11565b90508260208301529392505050565b6040815260006200b05e60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b6040815260006200b05e60408301600a8152690808080808149a59da1d60b21b602082015260400190565b6001600160a01b038316815260406020820152600062009f4f604083018462009e11565b6040815260006200b0d0604083018562009e11565b90506001600160a01b03831660208301529392505050565b6040815260006200b11360408301600a8152690808080808081319599d60b21b602082015260400190565b828103602084015262009f4f818562009e11565b6040815260006200b11360408301600a8152690808080808149a59da1d60b21b60208201526040019056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a264697066735822122055a2accbe47c017042d1e56b396148950bb76c322d15a55305fe7e3aafeca0fc64736f6c63430008130033","sourceMap":"1525:29423:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:99:-;;;;;-1:-1:-1;;;;;269:28:99;;;4045:101:38;;;:::i;1810:42:97:-;;1850:2;1810:42;;;;;644:25:100;;;632:2;617:18;1810:42:97;498:177:100;1959:1152:97;;;:::i;:::-;;30306:640;;;:::i;226:92:38:-;306:4;226:92;;29804:496:97;;;:::i;905:138:38:-;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:99;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:98:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:98;;;;;;;;;;267:84;5385:977:97;;;:::i;2757:105:40:-;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;539:79:96;;;:::i;:::-;;;;;;;;:::i;16709:866:97:-;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:51;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;17581:3967:97:-;;;:::i;3366:113:38:-;;;:::i;1672:33:97:-;;;;;;4257:113:38;;;:::i;15181:1522:97:-;;;:::i;4152:99:38:-;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:99:-;;;;;;;;-1:-1:-1;;;;;240:23:99;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;21554:3158:97:-;;;:::i;4376:105:38:-;;;:::i;339:34:99:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;1858:47:97:-;;1901:4;1858:47;;304:29:99;;;;;-1:-1:-1;;;;;304:29:99;;;24718:2468:97;;;:::i;1537:101:38:-;;;:::i;3485:113::-;;;:::i;1711:44:97:-;;1750:5;1711:44;;11645:1898;;;:::i;931:492:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;8309:519:97:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;13549:1626:97:-;;;:::i;3938:101:38:-;;;:::i;1429:1463:96:-;;;;;;:::i;:::-;;:::i;3273:1814:97:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;12299:14:100;;12292:22;12274:41;;12262:2;12247:18;1819:584:44;12134:187:100;6368:1028:97;;;:::i;1761:43::-;;1799:5;1761:43;;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;8834:1541:97:-;;;:::i;5093:254::-;;;;;;:::i;:::-;;:::i;4571:105:38:-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;7402:901:97;;;:::i;546:124:38:-;;;:::i;324:109::-;;;:::i;10381:1258:97:-;;;:::i;2304:142:51:-;;;:::i;3746:378:96:-;;;;;;:::i;:::-;;:::i;27192:2606:97:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1644:22:97;;;;;-1:-1:-1;;;;;1644:22:97;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1959:1152:97:-;1993:21;:19;:21::i;:::-;2024:32;2044:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;2044:10:97;2024:11;:32::i;:::-;2067:13;;2081:12;:10;:12::i;:::-;2067:27;;-1:-1:-1;;;;;;2067:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;2067:27:97;;;160:74:100;133:18;;2067:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2104:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2104:6:97;:23;;;;;2125:1;2104:23;;;644:25:100;-1:-1:-1;;;;;2104:20:97;;;;;;;617:18:100;;2104:23:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2137:6:97;:26;;;;;2161:1;2137:26;;;644:25:100;-1:-1:-1;;;;;2137:23:97;;;;;;;617:18:100;;2137:26:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2173:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2206:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2198:5:97;:23;;-1:-1:-1;;;;;;2198:23:97;-1:-1:-1;;;;;2198:23:97;;;;;;;;;2231:10;306:4:38;2251:16:97;2266:1;1750:5;2251:16;:::i;:::-;2231:37;;-1:-1:-1;;;;;;2231:37:97;;;;;;;-1:-1:-1;;;;;14699:55:100;;;2231:37:97;;;14681:74:100;14771:18;;;14764:34;14654:18;;2231:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2278:5:97;;-1:-1:-1;;;;;2278:5:97;;-1:-1:-1;2278:10:97;;-1:-1:-1;2289:12:97;:10;:12::i;:::-;2303:16;2318:1;1750:5;2303:16;:::i;:::-;2278:42;;-1:-1:-1;;;;;;2278:42:97;;;;;;;-1:-1:-1;;;;;14699:55:100;;;2278:42:97;;;14681:74:100;14771:18;;;14764:34;14654:18;;2278:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2330:5:97;;-1:-1:-1;;;;;2330:5:97;;-1:-1:-1;2330:13:97;;-1:-1:-1;2352:6:97;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2352:6:97;2361:10;;2330:42;;-1:-1:-1;;;;;;2330:42:97;;;;;;;-1:-1:-1;;;;;14699:55:100;;;2330:42:97;;;14681:74:100;14771:18;;;14764:34;14654:18;;2330:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2383:13:97;;2397:12;:10;:12::i;:::-;2383:27;;-1:-1:-1;;;;;;2383:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;2383:27:97;;;160:74:100;133:18;;2383:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2420:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2420:6:97;-1:-1:-1;;;;;2420:24:97;;306:4:38;2420:33:97;;-1:-1:-1;;;;;;2420:33:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;2420:33:97;;;160:74:100;133:18;;2420:33:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2463:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:31;2574:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2540:55;;2605:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2661:30:97;;2738:5;;;2701:19;;;;:44;;;;1850:2;2755:26;;;;:42;;;;2829:1;2807:19;;;:23;2840:27;;;;;;;;2859:8;2840:27;;;;;;;;;2859:8;;2840:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2840:27:97;;;;-1:-1:-1;;;2840:16:97;;;:27;2915:14;:12;:14::i;:::-;-1:-1:-1;;;;;2877:54:97;;;:19;;;:54;2975:38;;;;;:30;;;;;;:38;;2877:6;;2975:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2941:15;:73;;-1:-1:-1;;;;;;2941:73:97;-1:-1:-1;;;;;2941:73:97;;;;;;;;;3025:5;;3065:38;;;-1:-1:-1;;;3065:38:97;;;;3025:5;;;;;:13;;2941:73;;;3065:36;;:38;;;;;;;;;;;;;;2941:73;3065:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3025:79;;-1:-1:-1;;;;;;3025:79:97;;;;;;;-1:-1:-1;;;;;14699:55:100;;;3025:79:97;;;14681:74:100;14771:18;;;14764:34;14654:18;;3025:79:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1983:1128;;1959:1152::o;30306:640::-;30358:22;30382:14;30400:33;30424:1;30428;30431;30400:15;:33::i;:::-;30487:13;;;;;30530:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30530:69:97;-1:-1:-1;;;30530:69:97;;;30514:86;;-1:-1:-1;;;30514:86:97;;30357:76;;-1:-1:-1;30357:76:97;;-1:-1:-1;30487:13:97;30514:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30610:2;-1:-1:-1;;;;;30610:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30640:2;-1:-1:-1;;;;;30640:19:97;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30747:13:97;;-1:-1:-1;30747:13:97;;-1:-1:-1;30761:12:97;;-1:-1:-1;30761:10:97;:12::i;:::-;30747:27;;-1:-1:-1;;;;;;30747:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;30747:27:97;;;160:74:100;133:18;;30747:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30784:2;-1:-1:-1;;;;;30784:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30813:2;-1:-1:-1;;;;;30813:19:97;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30844:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30347:599;;;30306:640::o;29804:496::-;29854:22;29878:14;29896:33;29920:1;29924;29927;29896:15;:33::i;:::-;29983:13;;;;;30026:69;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30026:69:97;-1:-1:-1;;;30026:69:97;;;30010:86;;-1:-1:-1;;;30010:86:97;;29853:76;;-1:-1:-1;29853:76:97;;-1:-1:-1;29983:13:97;30010:15;;;;:86;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30106:2;-1:-1:-1;;;;;30106:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30136:13:97;;-1:-1:-1;30136:13:97;;-1:-1:-1;30150:12:97;;-1:-1:-1;30150:10:97;:12::i;:::-;30136:27;;-1:-1:-1;;;;;;30136:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;30136:27:97;;;160:74:100;133:18;;30136:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30173:2;-1:-1:-1;;;;;30173:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;30202:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;30236:15:97;;30227:66;;-1:-1:-1;;;;;;30236:15:97;;-1:-1:-1;30236:24:97;30261:12;:10;:12::i;:::-;30236:38;;-1:-1:-1;;;;;;30236:38:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;30236:38:97;;;160:74:100;133:18;;30236:38:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30276:4;30227:66;;;;;;;;;;;;;;;;;:8;:66::i;380:708:99:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:99;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:99;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:99;;-1:-1:-1;;;;;;592:52:99;;;;;;;-1:-1:-1;;;;;17430:55:100;;;592:52:99;;;17412:74:100;17522:2;17502:18;;;17495:30;642:1:99;17541:18:100;;;17534:29;;;17615:18;;;17608:34;17580:19;;592:52:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:99;-1:-1:-1;;;;;658:45:99;;;;;;;;717:54;;;-1:-1:-1;;;717:54:99;;;;;18140:74:100;;;;18230:18;;;18223:30;18289:2;18269:18;;;18262:30;18328:17;18308:18;;;18301:45;658::99;;-1:-1:-1;717:8:99;;;;18363:19:100;;717:54:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:99;;;-1:-1:-1;;;785:45:99;;-1:-1:-1;;;;;18623:55:100;;785:45:99;;;18605:74:100;18695:18;;;18688:30;;;;18754:2;18734:18;;;18727:30;18793:18;18773;;;18766:46;785:8:99;;-1:-1:-1;785:8:99;;-1:-1:-1;18829:19:100;;785:45:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:99;;-1:-1:-1;884:1:99;;-1:-1:-1;870:16:99;;-1:-1:-1;870:16:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:99;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:99;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:99;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:99;;-1:-1:-1;;;;;1065:16:99;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;5385:977:97:-;5485:14;5503:29;4445:42:9;5527:1:97;5530;5503:15;:29::i;:::-;5454:78;;;5597:39;;;;;;;;;;;;;;-1:-1:-1;;;5597:39:97;;;:17;:39::i;:::-;5690:35;;;5723:1;5690:35;;;;;;;;;5646:41;;5690:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5690:35:97;;;;;;;;;;;;;;;5646:79;;5824:33;;;;;;;;5851:1;5824:33;;;;5854:2;5824:33;;;5813:5;5819:1;5813:8;;;;;;;;:::i;:::-;;;;;;:44;;;;5899:33;;;;;;;;5926:1;5899:33;;;;5929:2;5899:33;;;5888:5;5894:1;5888:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6074:17;6105:5;6094:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6094:17:97;;;;;;;;;6282:1;6212:75;;;21115:36:100;309:37:45;21167:18:100;;;;21160:45;;;;6212:75:97;;;;;;;;;;21088:18:100;;;;6212:75:97;;;;;;;-1:-1:-1;;;;;6212:75:97;6235:45;6212:75;;;6196:92;;-1:-1:-1;;;6196:92:97;;6094:17;;-1:-1:-1;6196:15:97;;;;:92;;6212:75;6196:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;6298:6:97;-1:-1:-1;;;;;6298:15:97;;6314:6;6322:4;6298:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6337:18;:16;:18::i;539:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16709:866:97:-;16780:22;16804:14;16822:29;4445:42:9;16846:1:97;16849;16822:15;:29::i;:::-;16779:72;;;;16916:39;;;;;;;;;;;;;;-1:-1:-1;;;16916:39:97;;;:17;:39::i;:::-;17009:35;;;17042:1;17009:35;;;;;;;;;16965:41;;17009:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;17009:35:97;;;;;;;;;;;;;;;16965:79;;17065:34;;;;;;;;17092:1;17065:34;;;;17095:3;17065:34;;;17054:5;17060:1;17054:8;;;;;;;;:::i;:::-;;;;;;:45;;;;17109:5;17115:1;17109:8;;;;;;;;:::i;:::-;-1:-1:-1;;17147:17:97;;17127;;17147;;17158:5;;17109:8;17147:17;;:::i;:::-;;;;;;;;;;;;;17127:37;;17280:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;17280:6:97;-1:-1:-1;;;;;17280:15:97;;17296:6;17304:4;17280:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17319:18;:16;:18::i;:::-;17391:13;;;;17427:42;;-1:-1:-1;;;17427:42:97;;17452:1;17427:42;;;21692:25:100;17463:4:97;21733:18:100;;;21726:83;17418:67:97;;-1:-1:-1;;;;;17427:24:97;;;;;21665:18:100;;17427:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1850:2;17418:8;:67::i;:::-;17523:29;;-1:-1:-1;;;17523:29:97;;17550:1;17523:29;;;644:25:100;17514:54:97;;-1:-1:-1;;;;;17523:26:97;;;;;617:18:100;;17523:29:97;498:177:100;17514:54:97;16769:806;;;;;16709:866::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;17581:3967:97:-;17662:22;17686:14;17704:50;17728:1;17732:8;17742:11;17704:15;:50::i;:::-;17808:13;;;;17661:93;;-1:-1:-1;17661:93:97;-1:-1:-1;;;;;;18084:11:97;;;18096:30;18110:15;18096:13;:30::i;:::-;18084:43;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;18084:43:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18154:2;-1:-1:-1;;;;;18154:14:97;;18169:24;18183:9;18169:13;:24::i;:::-;18154:40;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;18154:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18223:2;-1:-1:-1;;;;;18223:12:97;;18236:27;18250:12;18236:13;:27::i;:::-;18223:41;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;18223:41:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:39;;;;;;;;;;;;;;-1:-1:-1;;;18349:39:97;;;:17;:39::i;:::-;18476:35;;;18509:1;18476:35;;;;;;;;;18419:3;;18398:18;;18476:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;18476:35:97;;;;;;;;;;;;;;;18432:79;;18532:42;;;;;;;;18559:1;18532:42;;;;18562:11;18532:42;;;18521:5;18527:1;18521:8;;;;;;;;:::i;:::-;;;;;;:53;;;;18605:17;18636:5;18625:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;18605:37;;18652:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;18652:6:97;-1:-1:-1;;;;;18652:15:97;;18668:6;18676:4;18652:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18691:18;:16;:18::i;:::-;18720:21;18783:3;18744:36;1850:2;18752:11;18744:36;:::i;:::-;:42;;;;:::i;:::-;18805;;-1:-1:-1;;;18805:42:97;;18830:1;18805:42;;;21692:25:100;18841:4:97;21733:18:100;;;21726:83;18720:66:97;;-1:-1:-1;18796:67:97;;-1:-1:-1;;;;;18805:24:97;;;;;21665:18:100;;18805:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18849:13;18796:8;:67::i;:::-;18900:29;;-1:-1:-1;;;18900:29:97;;18927:1;18900:29;;;644:25:100;18891:54:97;;-1:-1:-1;;;;;18900:26:97;;;;;617:18:100;;18900:29:97;498:177:100;18891:54:97;19028:13;;19042:12;:10;:12::i;:::-;19028:27;;-1:-1:-1;;;;;;19028:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;19028:27:97;;;160:74:100;133:18;;19028:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19158:2;-1:-1:-1;;;;;19158:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19188:42:97;;-1:-1:-1;19266:1:97;;-1:-1:-1;19233:35:97;;-1:-1:-1;19233:35:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;19233:35:97;;;;;;;;;;;;;;;;19188:80;;19278:19;19300:3;19278:25;;19325:43;;;;;;;;19352:1;19325:43;;;;19355:12;19325:43;;;19313:6;19320:1;19313:9;;;;;;;;:::i;:::-;;;;;;:55;;;;19396:6;19385:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;19378:25;;19464:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;19464:6:97;-1:-1:-1;;;;;19464:15:97;;19480:6;19488:4;19464:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;19503:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:22;19593:3;1850:2;19561:12;19553:37;;;;:::i;:::-;:43;;;;:::i;:::-;19528:68;;19607:76;19616:2;-1:-1:-1;;;;;19616:24:97;;19641:1;19652:12;:10;:12::i;:::-;19616:50;;-1:-1:-1;;;;;;19616:50:97;;;;;;;;;;21692:25:100;;;;-1:-1:-1;;;;;21753:55:100;21733:18;;;21726:83;21665:18;;19616:50:97;21510:305:100;19607:76:97;19721:29;;-1:-1:-1;;;19721:29:97;;19748:1;19721:29;;;644:25:100;19712:71:97;;-1:-1:-1;;;;;19721:26:97;;;;;617:18:100;;19721:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19752:30;19768:14;19752:13;:30;:::i;:::-;19712:8;:71::i;:::-;19848:48;;;;;;;;;;;;;;;;;;19883:12;19848:11;:48::i;:::-;19906:34;19943:2;-1:-1:-1;;;;;19943:29:97;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19906:68;;19984:69;;;;;;;;;;;;;;;;;;20026:26;19984:11;:69::i;:::-;20063:75;;;;;;;;;;;-1:-1:-1;;;20063:75:97;;;;20090:47;;-1:-1:-1;;;20090:47:97;;;;;644:25:100;;;20063:75:97;;;-1:-1:-1;;;;;20090:19:97;;;;;617:18:100;;20090:47:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20063:11;:75::i;:::-;20148:78;;;;;;;;;;;-1:-1:-1;;;20148:78:97;;;;20195:29;;-1:-1:-1;;;20195:29:97;;20222:1;20195:29;;;644:25:100;20148:78:97;;;-1:-1:-1;;;;;20175:19:97;;;;;;;20195:26;;617:18:100;;20195:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20175:50;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;20148:78:97;20246:47;;-1:-1:-1;;;20246:47:97;;;;;644:25:100;;;20237:80:97;;-1:-1:-1;;;;;20246:19:97;;;;;617:18:100;;20246:47:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20295:6;20237:80;;;;;;;;;;;;;-1:-1:-1;;;20237:80:97;;;:8;:80::i;:::-;20356:29;;-1:-1:-1;;;20356:29:97;;20383:1;20356:29;;;644:25:100;20327:82:97;;-1:-1:-1;;;;;20336:19:97;;;;;;;20356:26;;617:18:100;;20356:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20336:50;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;20336:50:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20388:5;20327:82;;;;;;;;;;;;;-1:-1:-1;;;20327:82:97;;;:8;:82::i;:::-;20420:12;;-1:-1:-1;;;20420:12:97;;20428:3;20420:12;;;644:25:100;20420:7:97;;;;617:18:100;;20420:12:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:47;;;;;;;;;;;;;;;;;;20476:12;20442:11;:47::i;:::-;20746:30;;-1:-1:-1;;;20746:30:97;;20774:1;20746:30;;;644:25:100;-1:-1:-1;;;;;20746:27:97;;;;;617:18:100;;20746:30:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20843:23;20880:20;20956:22;21006:17;21037:22;21072:2;-1:-1:-1;;;;;21072:14:97;;21087:1;21072:17;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;21072:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20787:302;;;;;;;;;;;;;;;;;21100:52;;;;;;;;;;;;;;-1:-1:-1;;;21100:52:97;;;21136:15;21100:11;:52::i;:::-;21162:46;;;;;;;;;;;;;;-1:-1:-1;;;21162:46:97;;;21195:12;21162:11;:46::i;:::-;21218:39;;;;;;;;;;;;;;-1:-1:-1;;;21218:39:97;;;21247:9;21218:11;:39::i;:::-;21267:50;;;;;;;;;;;;;;-1:-1:-1;;;21267:50:97;;;21302:14;21267:11;:50::i;:::-;21327;;;;;;;;;;;;;;;;;;21362:14;21327:11;:50::i;:::-;21387:39;21396:9;21407:5;21387:39;;;;;;;;;;;;;;;;;:8;:39::i;:::-;21436:48;21445:14;21461:4;21436:48;;;;;;;;;;;;;;;;;:8;:48::i;:::-;21494:47;21503:14;21519:3;21494:47;;;;;;;;;;;;;;;;;:8;:47::i;:::-;17651:3897;;;;;;;;;;;;;;;;17581:3967::o;3366:113:38:-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;15181:1522:97:-;15235:22;15259:14;15277:29;4445:42:9;15301:1:97;15304;15277:15;:29::i;:::-;15404:15;;15425:76;;15495:5;15425:76;;;24068:38:100;15234:72:97;;-1:-1:-1;15234:72:97;;-1:-1:-1;15372:139:97;;-1:-1:-1;;;;;15404:15:97;;;;;;-1:-1:-1;;;15448:45:97;24041:18:100;;15425:76:97;;;;-1:-1:-1;;15425:76:97;;;;;;;;;;;;;;-1:-1:-1;;;;;15425:76:97;-1:-1:-1;;;;;;15425:76:97;;;;;;;;;;15372:10;:139::i;:::-;15660:35;;;15693:1;15660:35;;;;;;;;;15616:41;;15660:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;15660:35:97;;;;;;;;;;;;;;;15616:79;;15716:34;;;;;;;;15743:1;15716:34;;;;15746:3;15716:34;;;15705:5;15711:1;15705:8;;;;;;;;:::i;:::-;;;;;;:45;;;;15760:17;15791:5;15780:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;15760:37;;15807:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;15807:6:97;-1:-1:-1;;;;;15807:15:97;;15823:6;15831:4;15807:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;15960:13:97;;;;15995:42;;-1:-1:-1;;;15995:42:97;;16020:1;15995:42;;;21692:25:100;16031:4:97;21733:18:100;;;21726:83;15902:5:97;;15960:13;15986:67;;-1:-1:-1;;;;;15995:24:97;;;;;21665:18:100;;15995:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16039:13;15986:8;:67::i;:::-;16072:29;;-1:-1:-1;;;16072:29:97;;16099:1;16072:29;;;644:25:100;16063:54:97;;-1:-1:-1;;;;;16072:26:97;;;;;617:18:100;;16072:29:97;498:177:100;16063:54:97;16139:35;;;;;;;;16166:1;16139:35;;;;-1:-1:-1;;16139:35:97;;;16128:5;16134:1;16128:8;;;;;;;;:::i;:::-;;;;;;:46;;;;16202:5;16191:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;16184:24;;16218:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;16218:6:97;-1:-1:-1;;;;;16218:15:97;;16234:6;16242:4;16218:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16267:42:97;;-1:-1:-1;;;16267:42:97;;16292:1;16267:42;;;21692:25:100;16303:4:97;21733:18:100;;;21726:83;16258:69:97;;-1:-1:-1;;;;;;16267:24:97;;;-1:-1:-1;16267:24:97;;21665:18:100;;16267:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16311:1;16258:69;;;;;;;;;;;;;;;;;:8;:69::i;:::-;16346:29;;-1:-1:-1;;;16346:29:97;;16373:1;16346:29;;;644:25:100;16337:58:97;;-1:-1:-1;;;;;16346:26:97;;;;;617:18:100;;16346:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16377:1;16337:58;;;;;;;;;;;;;;;;;:8;:58::i;:::-;16406:44;16415:2;-1:-1:-1;;;;;16415:14:97;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16433:1;16406:44;;;;;;;;;;;;;;;;;:8;:44::i;:::-;16557:15;;16602:84;;1850:2;16602:84;;;644:25:100;16525:171:97;;-1:-1:-1;;;;;16557:15:97;;;;-1:-1:-1;;;16625:45:97;617:18:100;;16602:84:97;498:177:100;16525:171:97;15224:1479;;;;;;15181:1522::o;4152:99:38:-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:99:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:99;-1:-1:-1;;;;;1993:33:99;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:99;-1:-1:-1;;;;;2240:17:99;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:99;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;26454:25:100;;;;26495:18;;;26488:34;;;2301:17:99;;-1:-1:-1;2301:17:99;2280:18;;;;;;2363:7;;;;26427:18:100;;2363:36:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;27114:19:100;;;27149:12;;;27142:28;;;27222:66;27208:3;27204:16;;;27200:89;27186:12;;;27179:111;2435:25:99;;;;;;;;;27306:12:100;;;2435:25:99;;;;2489:11;;:152;;;;27204:16:100;;-1:-1:-1;27114:19:100;;-1:-1:-1;27142:28:100;;-1:-1:-1;2489:11:99;;;-1:-1:-1;;;;;2489:11:99;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:99;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;21554:3158:97:-;21608:22;21632:14;21650:29;4445:42:9;21674:1:97;21677;21650:15;:29::i;:::-;21607:72;;;;21744:39;;;;;;;;;;;;;;-1:-1:-1;;;21744:39:97;;;:17;:39::i;:::-;21870:35;;;21903:1;21870:35;;;;;;;;;21814:2;;21793:18;;21870:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;21870:35:97;;;;;;;;;;;;;;;21826:79;;21926:42;;;;;;;;21953:1;21926:42;;;;21956:11;21926:42;;;21915:5;21921:1;21915:8;;;;;;;;:::i;:::-;;;;;;:53;;;;21999:17;22030:5;22019:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;21999:37;;22046:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22046:6:97;-1:-1:-1;;;;;22046:15:97;;22062:6;22070:4;22046:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22085:18;:16;:18::i;:::-;22114:21;22177:3;22138:36;1850:2;22146:11;22138:36;:::i;:::-;:42;;;;:::i;:::-;22233:13;;;;22268:42;;-1:-1:-1;;;22268:42:97;;22293:1;22268:42;;;21692:25:100;22304:4:97;21733:18:100;;;21726:83;22114:66:97;;-1:-1:-1;22233:13:97;22259:90;;-1:-1:-1;;;;;22268:24:97;;;;;21665:18:100;;22268:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22312:13;22259:90;;;;;;;;;;;;;;;;;:8;:90::i;:::-;22386:29;;-1:-1:-1;;;22386:29:97;;22413:1;22386:29;;;644:25:100;22377:54:97;;-1:-1:-1;;;;;22386:26:97;;;;;617:18:100;;22386:29:97;498:177:100;22377:54:97;22514:13;;22528:12;:10;:12::i;:::-;22514:27;;-1:-1:-1;;;;;;22514:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;22514:27:97;;;160:74:100;133:18;;22514:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22552:19;22574:1;22552:23;;22585:41;22629:149;;;;;;;;22668:11;22629:149;;;;22681:6;22629:149;;;;22689:12;:10;:12::i;:::-;-1:-1:-1;;;;;22629:149:97;;;;;22703:31;22629:149;;1901:4;22629:149;;;;;;;;22762:5;;-1:-1:-1;;;;;22762:5:97;22629:149;;;;;22809:20;;22585:193;;-1:-1:-1;;;22809:20:97;;22585:193;;22809:20;;:::i;:::-;;;;;;;;;;;;;22788:41;;22839:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;22839:6:97;-1:-1:-1;;;;;22839:24:97;;22864:6;22872:5;22839:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;22889:5:97;;22911:15;;22929:38;;;-1:-1:-1;;;22929:38:97;;;;-1:-1:-1;;;;;22889:5:97;;;;:13;;22911:15;;;;22929:36;;:38;;;;;;;;;;;;;;;22911:15;22929:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22889:79;;-1:-1:-1;;;;;;22889:79:97;;;;;;;-1:-1:-1;;;;;14699:55:100;;;22889:79:97;;;14681:74:100;14771:18;;;14764:34;14654:18;;22889:79:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23031:2;-1:-1:-1;;;;;23031:17:97;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23061:42:97;;-1:-1:-1;23139:1:97;;-1:-1:-1;23106:35:97;;-1:-1:-1;23106:35:97;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;23106:35:97;;;;;;;;;;;;;;;;23061:80;;23151:19;23173:3;23151:25;;23198:53;;;;;;;;23225:11;23198:53;;;;23238:12;23198:53;;;23186:6;23193:1;23186:9;;;;;;;;:::i;:::-;;;;;;:65;;;;23279:6;23268:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;23261:25;;23347:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;23347:6:97;-1:-1:-1;;;;;23347:15:97;;23363:6;23371:4;23347:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;23386:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23411:22;23476:3;1850:2;23444:12;23436:37;;;;:::i;:::-;:43;;;;:::i;:::-;23411:68;;23490:109;23499:2;-1:-1:-1;;;;;23499:24:97;;23524:11;23545:12;:10;:12::i;:::-;23499:60;;-1:-1:-1;;;;;;23499:60:97;;;;;;;;;;21692:25:100;;;;-1:-1:-1;;;;;21753:55:100;21733:18;;;21726:83;21665:18;;23499:60:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23561:14;23490:109;;;;;;;;;;;;;;;;;:8;:109::i;:::-;23637:39;;-1:-1:-1;;;23637:39:97;;;;;644:25:100;;;23628:81:97;;-1:-1:-1;;;;;23637:26:97;;;;;617:18:100;;23637:39:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23678:14;23628:81;;;;;;;;;;;;;;;;;:8;:81::i;:::-;23774:48;;;;;;;;;;;;;;;;;;23809:12;23774:11;:48::i;:::-;23832:65;;;;;;;;;;;;;;-1:-1:-1;;;23832:65:97;;;23859:2;-1:-1:-1;;;;;23859:19:97;;23879:2;-1:-1:-1;;;;;23879:14:97;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23832:65;23907:78;;;;;;;;;;;-1:-1:-1;;;23907:78:97;;;;23954:29;;-1:-1:-1;;;23954:29:97;;23981:1;23954:29;;;644:25:100;23907:78:97;;;-1:-1:-1;;;;;23934:19:97;;;;;;;23954:26;;617:18:100;;23954:29:97;498:177:100;23907:78:97;23995:11;;-1:-1:-1;;;23995:11:97;;24003:2;23995:11;;;644:25:100;23995:7:97;;;;617:18:100;;23995:11:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24016:47;;;;;;;;;;;;;;;;;;24050:12;24016:11;:47::i;:::-;24074:30;;-1:-1:-1;;;24074:30:97;;24102:1;24074:30;;;644:25:100;-1:-1:-1;;;;;24074:27:97;;;;;617:18:100;;24074:30:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24171:23;24208:20;24284:22;24334:17;24365:22;24400:2;-1:-1:-1;;;;;24400:14:97;;24415:1;24400:17;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;24400:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24115:302;;;;;;;;;;;;;;;;;24428:52;;;;;;;;;;;;;;-1:-1:-1;;;24428:52:97;;;24464:15;24428:11;:52::i;:::-;24490:46;;;;;;;;;;;;;;-1:-1:-1;;;24490:46:97;;;24523:12;24490:11;:46::i;:::-;24546:39;;;;;;;;;;;;;;-1:-1:-1;;;24546:39:97;;;24575:9;24546:11;:39::i;:::-;24595:50;;;;;;;;;;;;;;-1:-1:-1;;;24595:50:97;;;24630:14;24595:11;:50::i;:::-;24655;;;;;;;;;;;;;;;;;;24690:14;24655:11;:50::i;:::-;21597:3115;;;;;;;;;;;;;;;;;;21554:3158::o;4376:105:38:-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24718:2468:97;24776:22;24800:14;24818:29;4445:42:9;24842:1:97;24845;24818:15;:29::i;:::-;24775:72;;;;24912:39;;;;;;;;;;;;;;-1:-1:-1;;;24912:39:97;;;:17;:39::i;:::-;25039:35;;;25072:1;25039:35;;;;;;;;;24982:3;;24961:18;;25039:35;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;25039:35:97;;;;;;;;;;;;;;;24995:79;;25095:42;;;;;;;;25122:1;25095:42;;;;25125:11;25095:42;;;25084:5;25090:1;25084:8;;;;;;;;:::i;:::-;;;;;;:53;;;;25201:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;25201:6:97;-1:-1:-1;;;;;25201:15:97;;25217:6;25236:5;25225:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;25201:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25253:18;:16;:18::i;:::-;25282:21;25345:3;25306:36;1850:2;25314:11;25306:36;:::i;:::-;:42;;;;:::i;:::-;25401:13;;;;25436:42;;-1:-1:-1;;;25436:42:97;;25461:1;25436:42;;;21692:25:100;25472:4:97;21733:18:100;;;21726:83;25282:66:97;;-1:-1:-1;25401:13:97;25427:67;;-1:-1:-1;;;;;25436:24:97;;;;;21665:18:100;;25436:42:97;21510:305:100;25427:67:97;25531:29;;-1:-1:-1;;;25531:29:97;;25558:1;25531:29;;;644:25:100;25522:54:97;;-1:-1:-1;;;;;25531:26:97;;;;;617:18:100;;25531:29:97;498:177:100;25522:54:97;25633:19;25680:23;25717:20;25779:17;25810:22;25860:17;25929:2;-1:-1:-1;;;;;25929:14:97;;25944:1;25929:17;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;25929:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25605:341;;;;;;;;;;;;;;;;;;26142:52;;;;;;;;;;;;;;-1:-1:-1;;;26142:52:97;;;26178:15;26142:11;:52::i;:::-;26204:46;;;;;;;;;;;;;;-1:-1:-1;;;26204:46:97;;;26237:12;26204:11;:46::i;:::-;26260:39;;;;;;;;;;;;;;-1:-1:-1;;;26260:39:97;;;26289:9;26260:11;:39::i;:::-;26379:40;;;;;;;;;;;;;;;;;;26409:9;26379:11;:40::i;:::-;26429:50;;;;;;;;;;;;;;-1:-1:-1;;;26429:50:97;;;26464:14;26429:11;:50::i;:::-;26690:16;;;26660:27;26690:16;;;;;;;;26794:1;26783:13;;;29914:36:100;26783:13:97;;;;;;;;;29887:18:100;;;26783:13:97;;26835:10;;;;26690:16;;26783:13;26824:35;;26847:11;26824:10;:35::i;:::-;26807:52;;26936:19;26945:6;26953:1;26936:8;:19::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;-1:-1:-1;;;;;26966:17:97;;26984:6;26992:10;27004:12;26966:51;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27036:35;27047:4;:10;;;27059:11;27036:10;:35::i;:::-;27027:44;;27146:33;27155:6;27163:15;27146:8;:33::i;:::-;24765:2421;;;;;;;;;;;;;;;24718:2468::o;1537:101:38:-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;11645:1898:97:-;11707:22;11731:14;11749:29;4445:42:9;11773:1:97;11776;11749:15;:29::i;:::-;11832:13;;;;11706:72;;-1:-1:-1;11706:72:97;-1:-1:-1;;;;;;11859:11:97;;;11871:24;11885:9;11871:13;:24::i;:::-;11859:37;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;11859:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11923:2;-1:-1:-1;;;;;11923:14:97;;11938:24;11952:9;11938:13;:24::i;:::-;11923:40;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;11923:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11992:2;-1:-1:-1;;;;;11992:12:97;;12005:26;12019:11;12005:13;:26::i;:::-;11992:40;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;11992:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12199:15:97;;12244:84;;12087:5;12244:84;;;644:25:100;;;12087:5:97;-1:-1:-1;12167:171:97;;-1:-1:-1;;;;;;12199:15:97;;;;12063:21;;-1:-1:-1;;;12267:45:97;617:18:100;;12244:84:97;498:177:100;12167:171:97;12391:39;;;;;;;;;;;;;;-1:-1:-1;;;12391:39:97;;;:17;:39::i;:::-;12484:35;;;12517:1;12484:35;;;;;;;;;12440:41;;12484:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;12484:35:97;;;;;;;;;;;;;;;12440:79;;12540:34;;;;;;;;12567:1;12540:34;;;;12570:3;12540:34;;;12529:5;12535:1;12529:8;;;;;;;;:::i;:::-;;;;;;:45;;;;12584:17;12615:5;12604:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;12584:37;;12631:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;12631:6:97;-1:-1:-1;;;;;12631:15:97;;12647:6;12655:4;12631:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12670:18;:16;:18::i;:::-;12708:42;;-1:-1:-1;;;12708:42:97;;12733:1;12708:42;;;21692:25:100;12744:4:97;21733:18:100;;;21726:83;12699:67:97;;-1:-1:-1;;;;;12708:24:97;;;;;21665:18:100;;12708:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12752:13;12699:8;:67::i;:::-;12785:29;;-1:-1:-1;;;12785:29:97;;12812:1;12785:29;;;644:25:100;12776:54:97;;-1:-1:-1;;;;;12785:26:97;;;;;617:18:100;;12785:29:97;498:177:100;12776:54:97;12902:46;;-1:-1:-1;;;12902:46:97;;12925:2;12902:46;;;30678:25:100;12841:23:97;30719:18:100;;;30712:34;;;12867:5:97;30762:18:100;;;30755:34;;;12867:5:97;-1:-1:-1;;;;;12902:22:97;;;;;30651:18:100;;12902:46:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12882:66;;12959:39;;;;;;;;;;;;;;-1:-1:-1;;;12959:39:97;;;12988:9;12959:11;:39::i;:::-;13008:14;13025:66;13046:2;13050:1;13053:15;13070:20;13025;:66::i;:::-;13008:83;;13101:33;;;;;;;;;;;;;;-1:-1:-1;;;13101:33:97;;;13127:6;13101:11;:33::i;:::-;13145:27;13154:9;13165:6;13145:8;:27::i;:::-;13182:32;13191:15;13208:5;13182:8;:32::i;:::-;13224:30;13233:13;13248:5;13224:8;:30::i;:::-;13264:26;13273:9;13284:5;13264:8;:26::i;:::-;13397:15;;13442:84;;1850:2;13442:84;;;644:25:100;13365:171:97;;-1:-1:-1;;;;;13397:15:97;;;;-1:-1:-1;;;13465:45:97;617:18:100;;13442:84:97;498:177:100;13365:171:97;11696:1847;;;;;;;;;11645:1898::o;931:492:96:-;1023:16;;1000:7;;1019:234;;1088:8;-1:-1:-1;;;;;1088:22:96;;1128:1;1149:48;;;;;;;;1169:1;1149:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1149:48:96;;;;;;1199:12;:10;:12::i;:::-;1213:15;:13;:15::i;:::-;1088:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1069:16;:173;1019:234;-1:-1:-1;;1269:16:96;;;931:492::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8309:519:97;8392:14;8410:29;4445:42:9;8434:1:97;8437;8410:15;:29::i;:::-;8389:50;;;8450:41;8494:133;;;;;;;;8533:1;8494:133;;;;8536:6;8494:133;;;;8544:12;:10;:12::i;:::-;-1:-1:-1;;;;;8494:133:97;;;;;8558:33;8494:133;;;;1901:4;8494:133;;;;4445:42:9;-1:-1:-1;;;;;8494:133:97;;;;8450:177;;8637:17;8668:8;8657:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8657:20:97;;;;;;;;;8770:1;8703:69;;;;29914:36:100;;;;8703:69:97;;;;;;;;;;29887:18:100;;;;8703:69:97;;;;;;;-1:-1:-1;;;;;8703:69:97;8726:42;8703:69;;;8687:86;;-1:-1:-1;;;8687:86:97;;8657:20;;-1:-1:-1;8687:15:97;;;;:86;;8703:69;8687:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8783:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;8783:6:97;-1:-1:-1;;;;;8783:24:97;;8808:6;8816:4;8783:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8379:449;;;8309:519::o;3604:241:38:-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;13549:1626:97:-;13619:22;13643:14;13661:29;4445:42:9;13685:1:97;13688;13661:15;:29::i;:::-;13744:13;;;;13618:72;;-1:-1:-1;13618:72:97;-1:-1:-1;;;;;;13771:11:97;;;13783:24;13797:9;13783:13;:24::i;:::-;13771:37;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;13771:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13835:2;-1:-1:-1;;;;;13835:14:97;;13850:24;13864:9;13850:13;:24::i;:::-;13835:40;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;13835:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13904:2;-1:-1:-1;;;;;13904:12:97;;13917:26;13931:11;13917:13;:26::i;:::-;13904:40;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;13904:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14063:15:97;;14084:76;;14154:5;14084:76;;;24068:38:100;14031:139:97;;-1:-1:-1;;;;;;14063:15:97;;;;-1:-1:-1;14063:15:97;;-1:-1:-1;;;14107:45:97;24041:18:100;;14084:76:97;23911:201:100;14031:139:97;14223:39;;;;;;;;;;;;;;-1:-1:-1;;;14223:39:97;;;:17;:39::i;:::-;14316:35;;;14349:1;14316:35;;;;;;;;;14272:41;;14316:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;14316:35:97;;;;;;;;;;;;;;;14272:79;;14372:34;;;;;;;;14399:1;14372:34;;;;14402:3;14372:34;;;14361:5;14367:1;14361:8;;;;;;;;:::i;:::-;;;;;;:45;;;;14437:17;14468:5;14457:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;14437:37;;14484:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;14484:6:97;-1:-1:-1;;;;;14484:15:97;;14500:6;14508:4;14484:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14523:18;:16;:18::i;:::-;14600:42;;-1:-1:-1;;;14600:42:97;;14625:1;14600:42;;;21692:25:100;14636:4:97;21733:18:100;;;21726:83;14576:5:97;;14591:67;;-1:-1:-1;;;;;14600:24:97;;;;;21665:18:100;;14600:42:97;21510:305:100;14591:67:97;14695:29;;-1:-1:-1;;;14695:29:97;;14722:1;14695:29;;;644:25:100;14686:54:97;;-1:-1:-1;;;;;14695:26:97;;;;;617:18:100;;14695:29:97;498:177:100;14686:54:97;14783:27;;;;;14805:4;14783:27;;;644:25:100;14769:11:97;;-1:-1:-1;;;;;14783:21:97;;;;;617:18:100;;14783:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14769:41;;14820:32;;;;;;;;;;;;;;;;;;14848:3;14820:11;:32::i;:::-;14862:30;14871:13;14886:5;14862:8;:30::i;:::-;14902:20;14911:3;14916:5;14902:8;:20::i;:::-;15029:15;;15074:84;;1850:2;15074:84;;;644:25:100;14997:171:97;;-1:-1:-1;;;;;15029:15:97;;;;-1:-1:-1;;;15097:45:97;617:18:100;;15074:84:97;498:177:100;3938:101:38;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1429:1463:96:-;-1:-1:-1;;;;;;;;1570:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1717:30:96;1731:15;1717:13;:30::i;:::-;1702:12;;;:45;1864:24;1878:9;1864:13;:24::i;:::-;1846:15;;;:42;1933:26;1947:11;1933:13;:26::i;:::-;1917:13;;;;:42;;;;-1:-1:-1;;;;;2056:40:96;;;;2141:16;;;2155:1;2141:16;;;;;;;;-1:-1:-1;;2141:16:96;;;;;;;;;;;;-1:-1:-1;2141:16:96;2107:50;;2195:4;2167:14;2182:1;2167:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;2167:33:96;;;-1:-1:-1;;;;;2167:33:96;;;;;2238:10;2210:14;2225:1;2210:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2210:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2536:19:96;;;2532:64;;-1:-1:-1;2580:5:96;2532:64;2614:4;-1:-1:-1;;;;;2614:33:96;;2702:25;2718:8;2702:15;:25::i;:::-;2772:18;;;32481:13:100;;-1:-1:-1;;;;;32477:62:100;2772:18:96;;;;32459:81:100;;;;32584:17;;32578:24;32556:20;;;32549:54;32647:17;;;32641:24;32619:20;;;;32612:54;;;;32710:17;;32704:24;32682:20;;;32675:54;2749:8:96;;32431:19:100;;2772:18:96;;;;;;;;;;;;2804:6;2824:1;2839:8;2861:14;2614:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2605:280;1429:1463;-1:-1:-1;;;;;;;;;1429:1463:96:o;3273:1814:97:-;3393:22;;:::i;:::-;3417:14;3451:13;3468:1;3451:18;3447:81;;1901:4;3485:32;;3447:81;3542:10;3556:1;3542:15;3538:70;;1799:5;3573:24;;3538:70;4445:42:9;-1:-1:-1;;;;;3660:24:97;;3656:84;;-1:-1:-1;3723:5:97;;-1:-1:-1;;;;;3723:5:97;3656:84;3750:35;;;;;;;;;;;;;;-1:-1:-1;;;3750:35:97;;;:17;:35::i;:::-;3859:13;;3873:12;:10;:12::i;:::-;3859:27;;-1:-1:-1;;;;;;3859:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;3859:27:97;;;160:74:100;133:18;;3859:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3897:19;3942:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3942:6:97;3919:31;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;3919:31:97;;;;;;;;;;;;;;;;;;;;;;;3897:53;;3970:101;3981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;3981:6:97;3997:8;4016:18;3202:15;;-1:-1:-1;;;;;3202:15:97;;3117:107;4016:18;678:10:40;;-1:-1:-1;;;;;678:10:40;4057:12:97;3970:10;:101::i;:::-;3961:110;;317:28:45;309:37;;-1:-1:-1;;;;;4082:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:8;-1:-1:-1;;;;;4107:23:97;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4150:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4150:6:97;-1:-1:-1;;;;;4150:14:97;;4165:6;4150:22;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;4150:22:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4150:22:97;;;;;;;;;;;;:::i;:::-;4183:34;;;;;4199:4;4183:34;;;14681:74:100;14771:18;;;14764:34;;;4143:29:97;;-1:-1:-1;4183:7:97;;;;14654:18:100;;4183:34:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:42:9;-1:-1:-1;;;;;4231:22:97;:12;-1:-1:-1;;;;;4231:22:97;;4227:316;;707:6:39;;-1:-1:-1;;;;;707:6:39;4269:54:97;;-1:-1:-1;;;4269:54:97;;;;;26454:25:100;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4269:15:97;;;;;;;4292:10;;26427:18:100;;4269:54:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;;;4354:55;;;;;4391:4;4354:55;;;14681:74:100;14771:18;;;14764:34;;;-1:-1:-1;;;;;4354:28:97;;;;;14654:18:100;;4354:55:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4433:12;-1:-1:-1;;;;;4423:31:97;;4463:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;4463:6:97;4423:60;;-1:-1:-1;;;;;;4423:60:97;;;;;;;-1:-1:-1;;;;;14699:55:100;;;4423:60:97;;;14681:74:100;14771:18;;;14764:34;;;14654:18;;4423:60:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;4497:35:97;;-1:-1:-1;;;4497:35:97;;;;;26454:25:100;;;26495:18;;;26488:34;;;-1:-1:-1;;;;;4497:15:97;;;;;;;26427:18:100;;4497:35:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:316;4562:14;;4553:70;;4578:27;4594:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;4578:27:97;4553:70;;;;;;;;;;;;;;;;;:8;:70::i;:::-;4720:35;;;;;;;;;;;;;;-1:-1:-1;;;4720:35:97;;;:17;:35::i;:::-;4766:41;4810:143;;;;;;;;4849:1;4810:143;;;;4852:6;4810:143;;;;4860:12;:10;:12::i;:::-;-1:-1:-1;;;;;4810:143:97;;;;;4874:31;4810:143;;;;4907:13;4810:143;;;;4930:12;-1:-1:-1;;;;;4810:143:97;;;;4766:187;;4963:17;4994:8;4983:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;4963:40;;5013:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;5013:6:97;-1:-1:-1;;;;;5013:24:97;;5038:6;5046:4;5013:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5062:18;:16;:18::i;:::-;3437:1650;;;;3273:1814;;;;;;:::o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14681:74:100;;;-1:-1:-1;;;14771:18:100;;;14764:34;2196:43:44;;;;;;;;;14654:18:100;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;6368:1028:97:-;6465:14;6483:29;4445:42:9;6507:1:97;6510;6483:15;:29::i;:::-;6434:78;;;6577:39;;;;;;;;;;;;;;-1:-1:-1;;;6577:39:97;;;:17;:39::i;:::-;6670:35;;;6703:1;6670:35;;;;;;;;;6626:41;;6670:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6670:35:97;;;;;;;;;;;;;;;6626:79;;6804:33;;;;;;;;6831:1;6804:33;;;;6834:2;6804:33;;;6793:5;6799:1;6793:8;;;;;;;;:::i;:::-;;;;;;:44;;;;6879:33;;;;;;;;6906:1;6879:33;;;;6909:2;6879:33;;;6868:5;6874:1;6868:8;;;;;;;;:::i;:::-;;;;;;:44;;;;7054:17;7085:5;7074:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7074:17:97;;;;;;;;;;-1:-1:-1;7101:13:97;;7115:12;:10;:12::i;:::-;7101:27;;-1:-1:-1;;;;;;7101:27:97;;;;;;;-1:-1:-1;;;;;178:55:100;;;7101:27:97;;;160:74:100;133:18;;7101:27:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7138:54:97;;;;;7154:37;7138:54;;;38028:98:100;7138:15:97;;-1:-1:-1;7138:15:97;;-1:-1:-1;38001:18:100;;7138:54:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7307:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7307:6:97;-1:-1:-1;;;;;7307:15:97;;7323:6;7331:4;7307:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;7347:12:97;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:113:38;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;8834:1541:97:-;8901:22;8925:14;8943:29;4445:42:9;8967:1:97;8970;8943:15;:29::i;:::-;8900:72;;;;9026:39;;;;;;;;;;;;;;-1:-1:-1;;;9026:39:97;;;:17;:39::i;:::-;9119:35;;;9152:1;9119:35;;;;;;;;;9075:41;;9119:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9119:35:97;;;;;;;;;;;;;;;9075:79;;9175:33;;;;;;;;9202:1;9175:33;;;;9205:2;9175:33;;;9164:5;9170:1;9164:8;;;;;;;;:::i;:::-;;;;;;:44;;;;9258:17;9289:5;9278:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;9258:37;;9306:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;9306:6:97;-1:-1:-1;;;;;9306:15:97;;9322:6;9330:4;9306:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9346:18;:16;:18::i;:::-;9374:21;9419:3;9398:18;1850:2;9398;:18;:::i;:::-;:24;;;;:::i;:::-;9475:13;;;;9510:42;;-1:-1:-1;;;9510:42:97;;9535:1;9510:42;;;21692:25:100;9546:4:97;21733:18:100;;;21726:83;9374:48:97;;-1:-1:-1;9475:13:97;9501:67;;-1:-1:-1;;;;;9510:24:97;;;;;21665:18:100;;9510:42:97;21510:305:100;9501:67:97;9605:29;;-1:-1:-1;;;9605:29:97;;9632:1;9605:29;;;644:25:100;9596:54:97;;-1:-1:-1;;;;;9605:26:97;;;;;617:18:100;;9605:29:97;498:177:100;9596:54:97;9965:35;;;9998:1;9965:35;;;;;;;;;9920:42;;9965:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;9965:35:97;;;;;;;;;;;;;;;9920:80;;10022:33;;;;;;;;10049:1;10022:33;;;;10052:2;10022:33;;;10010:6;10017:1;10010:9;;;;;;;;:::i;:::-;;;;;;:45;;;;10083:6;10072:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;10065:25;;10151:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;10151:6:97;-1:-1:-1;;;;;10151:15:97;;10167:6;10175:4;10151:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10227:42:97;;-1:-1:-1;;;10227:42:97;;10252:1;10227:42;;;21692:25:100;10263:4:97;21733:18:100;;;21726:83;10218:67:97;;-1:-1:-1;;;;;;10227:24:97;;;-1:-1:-1;10227:24:97;;21665:18:100;;10227:42:97;21510:305:100;10218:67:97;10323:29;;-1:-1:-1;;;10323:29:97;;10350:1;10323:29;;;644:25:100;10314:54:97;;-1:-1:-1;;;;;10323:26:97;;;;;617:18:100;;10323:29:97;498:177:100;5093:254:97;5166:7;5189:16;-1:-1:-1;;;;;5189:16:97;;;5185:156;;-1:-1:-1;;;;;;5228:23:97;;;5221:30;;5185:156;5289:41;;;;;-1:-1:-1;;;;;178:55:100;;;5289:41:97;;;160:74:100;5289:24:97;;;;;133:18:100;;5289:41:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5282:48;;5185:156;5093:254;;;;:::o;4571:105:38:-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;7402:901:97:-;7501:22;7525:14;7543:29;4445:42:9;7567:1:97;7570;7543:15;:29::i;:::-;7500:72;;;;7637:39;;;;;;;;;;;;;;-1:-1:-1;;;7637:39:97;;;:17;:39::i;:::-;7730:35;;;7763:1;7730:35;;;;;;;;;7686:41;;7730:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;7730:35:97;;;;;;;;;;;;;;;7686:79;;7786:35;;;;;;;;7813:1;7786:35;;;;-1:-1:-1;;7786:35:97;;;7775:5;7781:1;7775:8;;;;;;;;:::i;:::-;;;;;;:46;;;;7831:17;7862:5;7851:17;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7851:17:97;;;;;;;;;309:37:45;7895:75:97;;;38371:36:100;-1:-1:-1;;38423:18:100;;;38416:49;;;38481:18;;;;38474:49;;;;7895:75:97;;;;;;;;;;38344:18:100;;;;7895:75:97;;;;;;;-1:-1:-1;;;;;7895:75:97;7918:36;7895:75;;;7879:92;;-1:-1:-1;;;7879:92:97;;7851:17;;-1:-1:-1;7879:15:97;;;;:92;;7895:75;7879:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;7981:6:97;-1:-1:-1;;;;;7981:15:97;;7997:6;8005:4;7981:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8020:18;:16;:18::i;:::-;8092:13;;;;8128:42;;-1:-1:-1;;;8128:42:97;;8153:1;8128:42;;;21692:25:100;8164:4:97;21733:18:100;;;21726:83;8119:75:97;;-1:-1:-1;;;;;8128:24:97;;;;;21665:18:100;;8128:42:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8172:1;8119:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;8232:29;;-1:-1:-1;;;8232:29:97;;8259:1;8232:29;;;644:25:100;8223:73:97;;-1:-1:-1;;;;;8232:26:97;;;;;617:18:100;;8232:29:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8263:1;8223:73;;;;;;;;;;;;;;;;;:8;:73::i;546:124:38:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;10381:1258:97:-;10441:22;10465:14;10483:29;4445:42:9;10507:1:97;10510;10483:15;:29::i;:::-;10566:13;;;;10440:72;;-1:-1:-1;10440:72:97;-1:-1:-1;;;;;;10593:11:97;;;10605:24;10619:9;10605:13;:24::i;:::-;10593:37;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;10593:37:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10657:2;-1:-1:-1;;;;;10657:14:97;;10672:24;10686:9;10672:13;:24::i;:::-;10657:40;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;10657:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10726:2;-1:-1:-1;;;;;10726:12:97;;10739:26;10753:11;10739:13;:26::i;:::-;10726:40;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;10726:40:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:39;;;;;;;;;;;;;;-1:-1:-1;;;10841:39:97;;;:17;:39::i;:::-;10934:35;;;10967:1;10934:35;;;;;;;;;10890:41;;10934:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;10934:35:97;;;;;;;;;;;;;;;10890:79;;10990:33;;;;;;;;11017:1;10990:33;;;;11020:2;10990:33;;;10979:5;10985:1;10979:8;;;;;;;;:::i;:::-;;;;;;:44;;;;11033:17;11064:5;11053:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;11033:37;;11080:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;11080:6:97;-1:-1:-1;;;;;11080:15:97;;11096:6;11104:4;11080:29;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11119:18;:16;:18::i;:::-;11148:21;11193:3;11172:18;1850:2;11172;:18;:::i;:::-;:24;;;;:::i;:::-;11215:42;;-1:-1:-1;;;11215:42:97;;11240:1;11215:42;;;21692:25:100;11251:4:97;21733:18:100;;;21726:83;11148:48:97;;-1:-1:-1;11206:67:97;;-1:-1:-1;;;;;11215:24:97;;;;;21665:18:100;;11215:42:97;21510:305:100;11206:67:97;11292:29;;-1:-1:-1;;;11292:29:97;;11319:1;11292:29;;;644:25:100;11283:54:97;;-1:-1:-1;;;;;11292:26:97;;;;;617:18:100;;11292:29:97;498:177:100;11283:54:97;11368:44;;-1:-1:-1;;;11368:44:97;;11391:2;11368:44;;;30678:25:100;11348:17:97;30719:18:100;;;30712:34;;;30762:18;;;30755:34;;;11348:17:97;-1:-1:-1;;;;;11368:22:97;;;;;30651:18:100;;11368:44:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11348:64;;11422:39;;;;;;;;;;;;;;-1:-1:-1;;;11422:39:97;;;11451:9;11422:11;:39::i;:::-;11471:14;11488:64;11509:2;11513:1;11516:13;11531:20;11488;:64::i;:::-;11471:81;;11562:33;;;;;;;;;;;;;;-1:-1:-1;;;11562:33:97;;;11588:6;11562:11;:33::i;:::-;11605:27;11614:9;11625:6;11605:8;:27::i;:::-;10430:1209;;;;;;;;10381:1258::o;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3746:378:96:-;3896:7;3931:11;3896:7;3972:27;3977:18;817:7;3987:3;3978:12;;;3977:18;:::i;:::-;3997:1;3972:4;:27::i;:::-;3952:47;-1:-1:-1;4114:3:96;723:8;4087:9;4091:5;817:7;4087:9;:::i;:::-;4063:19;4073:9;-1:-1:-1;;;4063:19:96;:::i;:::-;4045:14;817:7;4045:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;4019:21;4031:9;4019;:21;:::i;:::-;4018:80;;;;:::i;:::-;4017:92;;;;:::i;:::-;4016:101;;;3746:378;-1:-1:-1;;;;;;;3746:378:96:o;27192:2606:97:-;27256:22;27280:14;27298:33;27322:1;27326;27329;27298:15;:33::i;:::-;27255:76;;;;27342:35;;;;;;;;;;;;;;-1:-1:-1;;;27342:35:97;;;:17;:35::i;:::-;27444:98;;;;;;;;27470:1;27444:98;;;;;;;;;-1:-1:-1;27444:98:97;;;;;;;;;;;;;;;;;;;;;;;;27572:20;;27444:98;;-1:-1:-1;27572:20:97;;27444:98;;27572:20;;:::i;:::-;;;;;;;;;;;;;27552:40;;27602:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;27602:6:97;-1:-1:-1;;;;;27602:24:97;;27627:6;27635:4;27602:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;27651:18;:16;:18::i;:::-;27733:39;;;;;;;;;;;;;;-1:-1:-1;;;27733:39:97;;;:17;:39::i;:::-;27893:35;;;27926:1;27893:35;;;;;;;;;27803:3;;27838:1;;27782:18;;27893:35;;;;-1:-1:-1;;;;;;;;;;;;;;;;;27893:35:97;;;;;;;;;;;;;;;27849:79;;27949:52;;;;;;;;27976:11;27949:52;;;;27989:11;27949:52;;;27938:5;27944:1;27938:8;;;;;;;;:::i;:::-;;;;;;:63;;;;28065:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;28065:6:97;-1:-1:-1;;;;;28065:15:97;;28081:6;28100:5;28089:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;28065:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28117:18;:16;:18::i;:::-;28146:21;28209:3;28170:36;1850:2;28178:11;28170:36;:::i;:::-;:42;;;;:::i;:::-;28265:13;;;;28300:52;;-1:-1:-1;;;28300:52:97;;;;;21692:25:100;;;28346:4:97;21733:18:100;;;21726:83;28146:66:97;;-1:-1:-1;28265:13:97;28291:77;;-1:-1:-1;;;;;28300:24:97;;;;;21665:18:100;;28300:52:97;21510:305:100;28291:77:97;28405:39;;-1:-1:-1;;;28405:39:97;;;;;644:25:100;;;28396:64:97;;-1:-1:-1;;;;;28405:26:97;;;;;617:18:100;;28405:39:97;498:177:100;28396:64:97;28545:23;28582:20;28644:17;28675:22;28725:17;28794:2;-1:-1:-1;;;;;28794:14:97;;28809:1;28794:17;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;28794:17:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28489:322;;;;;;;;;;;;;;;;;29007:52;;;;;;;;;;;;;;-1:-1:-1;;;29007:52:97;;;29043:15;29007:11;:52::i;:::-;29069:46;;;;;;;;;;;;;;-1:-1:-1;;;29069:46:97;;;29102:12;29069:11;:46::i;:::-;29125:39;;;;;;;;;;;;;;-1:-1:-1;;;29125:39:97;;;29154:9;29125:11;:39::i;:::-;29244:40;;;;;;;;;;;;;;;;;;29274:9;29244:11;:40::i;:::-;29294:50;;;;;;;;;;;;;;-1:-1:-1;;;29294:50:97;;;29329:14;29294:11;:50::i;:::-;29607:25;29646:11;29635:23;;;;;;644:25:100;;632:2;617:18;;498:177;29635:23:97;;;;;;;;;;;;;29607:51;;29669:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;29669:6:97;-1:-1:-1;;;;;29669:17:97;;29687:6;29709:1;29695:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29695:16:97;;29713:12;29669:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27245:2553;;;;;;;;;;;;;;;27192:2606::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:100;;;1192:22:40;;;160:74:100;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;-1:-1:-1;;;1301:48:40;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:100;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:100;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:100;;;1482:26:40;;;160:74:100;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:100;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:100;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:100;;;1765:26:40;;;160:74:100;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:100;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:100;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:100;;;342:27:39;;;160:74:100;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;42811:15:100;;;409:201:39;;;42793:34:100;42863:15;;;42843:18;;;42836:43;42915:15;;;42895:18;;;42888:43;554:4:39;42947:18:100;;;42940:34;-1:-1:-1;42990:19:100;;;42983:35;42704:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1094:785:99;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:100;;;632:2;617:18;;498:177;1169:24:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:99;-1:-1:-1;;;;;1152:41:99;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:99;;;;;43241:74:100;;;;43331:18;;;43324:30;43390:2;43370:18;;;43363:30;43429:16;43409:18;;;43402:44;1203:8:99;;;;43463:19:100;;1203:42:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:99;;;;;-1:-1:-1;;;;;1268:11:99;;-1:-1:-1;1256:589:99;;-1:-1:-1;1256:589:99;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:99;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:99;;-1:-1:-1;;;;;;1384:52:99;;;;;;;-1:-1:-1;;;;;17430:55:100;;;1384:52:99;;;17412:74:100;17522:2;17502:18;;;17495:30;1434:1:99;17541:18:100;;;17534:29;;;17615:18;;;17608:34;17580:19;;1384:52:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:99;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:99;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:99;;1595:11;;;;-1:-1:-1;;;;;1595:11:99;1578:45;;;43705:74:100;43795:18;;;43788:30;43854:2;43834:18;;;43827:30;43893:13;43873:18;;;43866:41;1578:8:99;;;;43924:19:100;;1578:45:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:99;;-1:-1:-1;1677:1:99;;-1:-1:-1;1663:16:99;;-1:-1:-1;1663:16:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:99;-1:-1:-1;1713:14:99;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:99;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:99;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:99;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:99;;;;;-1:-1:-1;;;;;1861:11:99;;1094:785::o;1107:186:47:-;1196:1;1191:6;;:1;:6;;;1187:100;;1218:30;1244:3;1218:30;;;;;;:::i;:::-;;;;;;;;1262:14;1271:1;1274;1262:8;:14::i;357:192:98:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:98;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;610:335;555:396::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;47965:2:100;47947:21;;;48004:2;47984:18;;;47977:30;48043:34;48038:2;48023:18;;48016:62;48114:4;48109:2;48094:18;;48087:32;48151:3;48136:19;;47763:398;5293:41:44;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;2898:114:96:-;2961:7;2987:18;2997:8;2987:7;:18;:::i;6548:139:59:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:59;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:59;;;;;6612:15;:68::i;5476:178:44:-;5557:1;5552;:6;5548:100;;5579:30;5605:3;5579:30;;;;;;:::i;:::-;;;;;;;;5623:14;5632:1;5635;5623:8;:14::i;4377:185::-;4464:1;4459;:6;4455:101;;4486:31;4513:3;4486:31;;;;;;:::i;:::-;;;;;;;;4531:14;4540:1;4543;4531:8;:14::i;3293:447:96:-;3354:15;-1:-1:-1;;;3389:2:96;:12;3381:53;;;;-1:-1:-1;;;3381:53:96;;49402:2:100;3381:53:96;;;49384:21:100;49441:2;49421:18;;;49414:30;49480;49460:18;;;49453:58;49528:18;;3381:53:96;;;;;;;;;-1:-1:-1;;;;3456:2:96;3480;3519:215;3526:5;;3519:215;;3551:1;3555;3551:5;3560:1;3551:10;3547:177;;3585:10;3590:1;3593;3585:4;:10::i;:::-;3581:14;-1:-1:-1;3619:1:96;3613:7;3519:215;;3547:177;3669:16;3674:7;3683:1;3669:4;:16::i;:::-;3659:26;-1:-1:-1;3703:6:96;3708:1;3703:6;;:::i;:::-;;;3519:215;;;3371:369;;3293:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:100;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:100;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:100;;;558:39:40;;;160:74:100;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6994:145:59;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:59;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:59;;;;;7061:15;:71::i;789:312:47:-;859:1;854:6;;:1;:6;;;850:245;;881:41;;;;;50743:2:100;50725:21;;;50782:2;50762:18;;;50755:30;50821:34;50816:2;50801:18;;50794:62;50892:4;50887:2;50872:18;;50865:32;50929:3;50914:19;;50541:398;881:41:47;;;;;;;;941:52;972:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:47;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;972:20:47;;;;941:52;;;;;;:::i;:::-;;;;;;;;1012;1043:1;:20;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:47;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1043:20:47;;;;1012:52;;;;;;:::i;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;52036:74:100;;;-1:-1:-1;;;52126:18:100;;;52119:34;;;;2712:4:44;52169:18:100;;;52162:34;2489:11:44;;1671:64;2586:43;;52009:18:100;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;181:376:59:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;4095:277:44:-;4163:1;4158;:6;4154:212;;4185:44;;;;;52409:2:100;52391:21;;;52448:2;52428:18;;;52421:30;52487:34;52482:2;52467:18;;52460:62;52558:7;52553:2;52538:18;;52531:35;52598:3;52583:19;;52207:401;4185:44:44;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;3018:269:96:-;3079:15;-1:-1:-1;;;3114:2:96;:13;;3106:66;;;;-1:-1:-1;;;3106:66:96;;53521:2:100;3106:66:96;;;53503:21:100;53560:2;53540:18;;;53533:30;53599:34;53579:18;;;53572:62;53670:10;53650:18;;;53643:38;53698:19;;3106:66:96;53319:404:100;3106:66:96;-1:-1:-1;;;3190:2:96;:12;3182:53;;;;-1:-1:-1;;;3182:53:96;;53930:2:100;3182:53:96;;;53912:21:100;53969:2;53949:18;;;53942:30;54008;53988:18;;;53981:58;54056:18;;3182:53:96;53728:352:100;3182:53:96;3277:3;723:8;3254:7;3259:2;3254;:7;:::i;:::-;3253:19;;;;:::i;:::-;3252:28;;;3018:269;-1:-1:-1;;;3018:269:96:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:100:-;-1:-1:-1;;;;;941:5:100;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:100:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:100;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:100;;1273:484;-1:-1:-1;;;;;1273:484:100:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:100;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:100;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:100:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:100;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:100;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:100;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:100;;;;4211:6;-1:-1:-1;;4240:15:100;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:100;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:100:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:100:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:100;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:100;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:100;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:100;;;;6520:5;-1:-1:-1;;;6548:15:100;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:100;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:100:o;6639:184::-;-1:-1:-1;;;6688:1:100;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:100;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:100:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:100;7514:15;-1:-1:-1;;7510:29:100;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:100;7873:18;;7860:32;;-1:-1:-1;7943:2:100;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:100;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:100;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:100;;8684:803;-1:-1:-1;;;;;;;8684:803:100:o;9762:844::-;9888:6;9896;9904;9912;9920;9973:3;9961:9;9952:7;9948:23;9944:33;9941:53;;;9990:1;9987;9980:12;9941:53;10029:9;10016:23;10048:31;10073:5;10048:31;:::i;:::-;10098:5;-1:-1:-1;10155:2:100;10140:18;;10127:32;10168:33;10127:32;10168:33;:::i;:::-;10220:7;-1:-1:-1;10279:2:100;10264:18;;10251:32;10292:33;10251:32;10292:33;:::i;:::-;10344:7;-1:-1:-1;10403:2:100;10388:18;;10375:32;10416:33;10375:32;10416:33;:::i;:::-;10468:7;-1:-1:-1;10527:3:100;10512:19;;10499:33;10541;10499;10541;:::i;:::-;10593:7;10583:17;;;9762:844;;;;;;;;:::o;10611:383::-;10688:6;10696;10704;10757:2;10745:9;10736:7;10732:23;10728:32;10725:52;;;10773:1;10770;10763:12;10725:52;10812:9;10799:23;10831:31;10856:5;10831:31;:::i;:::-;10881:5;10933:2;10918:18;;10905:32;;-1:-1:-1;10984:2:100;10969:18;;;10956:32;;10611:383;-1:-1:-1;;;10611:383:100:o;10999:252::-;11086:5;11080:12;11075:3;11068:25;11050:3;11139:4;11132:5;11128:16;11122:23;11177:4;11170;11165:3;11161:14;11154:28;11198:47;11239:4;11234:3;11230:14;11216:12;11198:47;:::i;11256:873::-;11457:2;11446:9;11439:21;11502:6;11496:13;11491:2;11480:9;11476:18;11469:41;11420:4;11557;11549:6;11545:17;11539:24;-1:-1:-1;;;;;11678:2:100;11664:12;11660:21;11655:2;11644:9;11640:18;11633:49;11747:2;11741;11733:6;11729:15;11723:22;11719:31;11713:3;11702:9;11698:19;11691:60;;;11800:2;11792:6;11788:15;11782:22;11841:4;11835:3;11824:9;11820:19;11813:33;11869:63;11927:3;11916:9;11912:19;11896:14;11869:63;:::i;:::-;11988:3;11976:16;;11970:23;11963:4;11948:20;;11941:53;12049:3;12037:16;;;12031:23;12025:3;12010:19;;12003:52;-1:-1:-1;;12109:4:100;12094:20;12087:36;11855:77;11256:873::o;12326:388::-;12394:6;12402;12455:2;12443:9;12434:7;12430:23;12426:32;12423:52;;;12471:1;12468;12461:12;12423:52;12510:9;12497:23;12529:31;12554:5;12529:31;:::i;:::-;12579:5;-1:-1:-1;12636:2:100;12621:18;;12608:32;12649:33;12608:32;12649:33;:::i;:::-;12701:7;12691:17;;;12326:388;;;;;:::o;13210:385::-;13296:6;13304;13312;13320;13373:3;13361:9;13352:7;13348:23;13344:33;13341:53;;;13390:1;13387;13380:12;13341:53;-1:-1:-1;;13413:23:100;;;13483:2;13468:18;;13455:32;;-1:-1:-1;13534:2:100;13519:18;;13506:32;;13585:2;13570:18;13557:32;;-1:-1:-1;13210:385:100;-1:-1:-1;13210:385:100:o;14039:184::-;-1:-1:-1;;;14088:1:100;14081:88;14188:4;14185:1;14178:15;14212:4;14209:1;14202:15;14228:274;14268:1;14294;14284:189;;-1:-1:-1;;;14326:1:100;14319:88;14430:4;14427:1;14420:15;14458:4;14455:1;14448:15;14284:189;-1:-1:-1;14487:9:100;;14228:274::o;14809:245::-;14876:6;14929:2;14917:9;14908:7;14904:23;14900:32;14897:52;;;14945:1;14942;14935:12;14897:52;14977:9;14971:16;14996:28;15018:5;14996:28;:::i;15059:437::-;15138:1;15134:12;;;;15181;;;15202:61;;15256:4;15248:6;15244:17;15234:27;;15202:61;15309:2;15301:6;15298:14;15278:18;15275:38;15272:218;;-1:-1:-1;;;15343:1:100;15336:88;15447:4;15444:1;15437:15;15475:4;15472:1;15465:15;15272:218;;15059:437;;;:::o;15501:848::-;15700:2;15689:9;15682:21;15663:4;-1:-1:-1;;;;;15819:2:100;15810:6;15804:13;15800:22;15795:2;15784:9;15780:18;15773:50;15887:2;15881;15873:6;15869:15;15863:22;15859:31;15854:2;15843:9;15839:18;15832:59;15945:2;15937:6;15933:15;15927:22;15922:2;15911:9;15907:18;15900:50;16005:2;15997:6;15993:15;15987:22;15981:3;15970:9;15966:19;15959:51;16065:3;16057:6;16053:16;16047:23;16041:3;16030:9;16026:19;16019:52;16118:3;16110:6;16106:16;16100:23;16160:4;16154:3;16143:9;16139:19;16132:33;16188:61;16244:3;16233:9;16229:19;16215:12;16188:61;:::i;:::-;16174:75;;16316:2;16309:3;16301:6;16297:16;16291:23;16287:32;16280:4;16269:9;16265:20;16258:62;16337:6;16329:14;;;;15501:848;;;;:::o;16354:138::-;16433:13;;16455:31;16433:13;16455:31;:::i;16497:251::-;16567:6;16620:2;16608:9;16599:7;16595:23;16591:32;16588:52;;;16636:1;16633;16626:12;16588:52;16668:9;16662:16;16687:31;16712:5;16687:31;:::i;16753:184::-;16823:6;16876:2;16864:9;16855:7;16851:23;16847:32;16844:52;;;16892:1;16889;16882:12;16844:52;-1:-1:-1;16915:16:100;;16753:184;-1:-1:-1;16753:184:100:o;16942:218::-;17089:2;17078:9;17071:21;17052:4;17109:45;17150:2;17139:9;17135:18;17127:6;17109:45;:::i;18859:184::-;-1:-1:-1;;;18908:1:100;18901:88;19008:4;19005:1;18998:15;19032:4;19029:1;19022:15;19048:1065;19490:4;19519:3;19549:2;19538:9;19531:21;19575:56;19627:2;19616:9;19612:18;19604:6;19575:56;:::i;:::-;19662:2;19647:18;;;19640:34;;;;-1:-1:-1;;;;;19771:15:100;;;19766:2;19751:18;;19744:43;19823:22;;;19818:2;19803:18;;19796:50;-1:-1:-1;19855:17:100;;19941:15;;;19935:3;19920:19;;19913:44;-1:-1:-1;;19994:15:100;;;19988:3;19973:19;;19966:44;20041:3;20026:19;;20019:35;;;;20091:15;;;20085:3;20070:19;;;20063:44;;;;19889:15;;19048:1065;-1:-1:-1;19048:1065:100:o;20118:806::-;20357:2;20409:21;;;20479:13;;20382:18;;;20501:22;;;20328:4;;20357:2;20542;;20560:18;;;;20601:15;;;20328:4;20644:254;20658:6;20655:1;20652:13;20644:254;;;20717:13;;20755:9;;20743:22;;20805:11;;20799:18;20785:12;;;20778:40;20838:12;;;;20873:15;;;;20680:1;20673:9;20644:254;;;-1:-1:-1;20915:3:100;;20118:806;-1:-1:-1;;;;;;;20118:806:100:o;22010:168::-;22083:9;;;22114;;22131:15;;;22125:22;;22111:37;22101:71;;22152:18;;:::i;22183:125::-;22248:9;;;22269:10;;;22266:36;;;22282:18;;:::i;22505:159::-;22596:13;;22638:1;22628:12;;22618:40;;22654:1;22651;22644:12;22669:1237;22876:6;22884;22892;22900;22908;22916;22924;22932;22940;22948;22956:7;22965;23019:3;23007:9;22998:7;22994:23;22990:33;22987:53;;;23036:1;23033;23026:12;22987:53;23068:9;23062:16;23087:31;23112:5;23087:31;:::i;:::-;23187:2;23172:18;;23166:25;23137:5;;-1:-1:-1;23200:33:100;23166:25;23200:33;:::i;:::-;23304:2;23289:18;;23283:25;23252:7;;-1:-1:-1;23317:33:100;23283:25;23317:33;:::i;:::-;23369:7;23359:17;;;23416:2;23405:9;23401:18;23395:25;23385:35;;23460:3;23449:9;23445:19;23439:26;23429:36;;23510:3;23499:9;23495:19;23489:26;23546:1;23537:7;23534:14;23524:42;;23562:1;23559;23552:12;23524:42;23585:7;-1:-1:-1;23611:62:100;23668:3;23653:19;;23611:62;:::i;:::-;23601:72;;23713:3;23702:9;23698:19;23692:26;23682:36;;23758:3;23747:9;23743:19;23737:26;23727:36;;23803:3;23792:9;23788:19;23782:26;23772:36;;23849:3;23838:9;23834:19;23828:26;23817:37;;23895:3;23884:9;23880:19;23874:26;23863:37;;22669:1237;;;;;;;;;;;;;;:::o;24117:184::-;-1:-1:-1;;;24166:1:100;24159:88;24266:4;24263:1;24256:15;24290:4;24287:1;24280:15;24306:140;24387:1;24380:5;24377:12;24367:46;;24393:18;;:::i;:::-;24422;;24306:140::o;24451:1037::-;24858:4;24887:3;-1:-1:-1;;;;;24990:2:100;24982:6;24978:15;24967:9;24960:34;25030:6;25025:2;25014:9;25010:18;25003:34;25073:2;25068;25057:9;25053:18;25046:30;25093:45;25134:2;25123:9;25119:18;25111:6;25093:45;:::i;:::-;25085:53;;25147;25196:2;25185:9;25181:18;25173:6;25147:53;:::i;:::-;25231:3;25216:19;;25209:35;;;;-1:-1:-1;25275:3:100;25260:19;;25253:35;;;;25319:3;25304:19;;25297:35;;;;25369:15;;;25363:3;25348:19;;25341:44;25422:15;;;25416:3;25401:19;;25394:44;25469:3;25454:19;25447:35;;;;24451:1037;;-1:-1:-1;;;;24451:1037:100:o;25493:320::-;25568:5;25597:52;25613:35;25641:6;25613:35;:::i;25597:52::-;25588:61;;25672:6;25665:5;25658:21;25712:3;25703:6;25698:3;25694:16;25691:25;25688:45;;;25729:1;25726;25719:12;25688:45;25742:65;25800:6;25793:4;25786:5;25782:16;25777:3;25742:65;:::i;25818:457::-;25897:6;25950:2;25938:9;25929:7;25925:23;25921:32;25918:52;;;25966:1;25963;25956:12;25918:52;25999:9;25993:16;26032:18;26024:6;26021:30;26018:50;;;26064:1;26061;26054:12;26018:50;26087:22;;26140:4;26132:13;;26128:27;-1:-1:-1;26118:55:100;;26169:1;26166;26159:12;26118:55;26192:77;26261:7;26256:2;26250:9;26245:2;26241;26237:11;26192:77;:::i;26533:395::-;26619:6;26627;26635;26688:2;26676:9;26667:7;26663:23;26659:32;26656:52;;;26704:1;26701;26694:12;26656:52;26736:9;26730:16;26786:4;26779:5;26775:16;26768:5;26765:27;26755:55;;26806:1;26803;26796:12;26755:55;26874:2;26859:18;;26853:25;26918:2;26903:18;;;26897:25;26829:5;;26853:25;;-1:-1:-1;26897:25:100;26533:395;-1:-1:-1;;;26533:395:100:o;27329:1135::-;27762:4;27791:3;-1:-1:-1;;;;;27894:2:100;27886:6;27882:15;27871:9;27864:34;27934:6;27929:2;27918:9;27914:18;27907:34;27977:2;27972;27961:9;27957:18;27950:30;28003:45;28044:2;28033:9;28029:18;28021:6;28003:45;:::i;:::-;27989:59;;28057:53;28106:2;28095:9;28091:18;28083:6;28057:53;:::i;:::-;28147:6;28141:3;28130:9;28126:19;28119:35;28191:6;28185:3;28174:9;28170:19;28163:35;28235:6;28229:3;28218:9;28214:19;28207:35;28291:2;28283:6;28279:15;28273:3;28262:9;28258:19;28251:44;28344:2;28336:6;28332:15;28326:3;28315:9;28311:19;28304:44;;28397:9;28389:6;28385:22;28379:3;28368:9;28364:19;28357:51;28425:33;28451:6;28443;28425:33;:::i;:::-;28417:41;27329:1135;-1:-1:-1;;;;;;;;;;;;;27329:1135:100:o;28469:795::-;28627:4;28669:3;28658:9;28654:19;28646:27;;28706:6;28700:13;28689:9;28682:32;28770:4;28762:6;28758:17;28752:24;28745:4;28734:9;28730:20;28723:54;28824:4;28816:6;28812:17;28806:24;-1:-1:-1;;;;;28947:2:100;28933:12;28929:21;28922:4;28911:9;28907:20;28900:51;29000:4;28992:6;28988:17;28982:24;28960:46;;29044:1;29028:14;29025:21;29015:55;;29050:18;;:::i;:::-;29108:14;29101:4;29090:9;29086:20;29079:44;29179:4;29171:6;29167:17;29161:24;29154:4;29143:9;29139:20;29132:54;29254:2;29246:4;29238:6;29234:17;29228:24;29224:33;29217:4;29206:9;29202:20;29195:63;;;28469:795;;;;:::o;29961:493::-;30214:6;30203:9;30196:25;30257:2;30252;30241:9;30237:18;30230:30;30177:4;30283:56;30335:2;30324:9;30320:18;30312:6;30283:56;:::i;:::-;30387:9;30379:6;30375:22;30370:2;30359:9;30355:18;30348:50;30415:33;30441:6;30433;30415:33;:::i;:::-;30407:41;29961:493;-1:-1:-1;;;;;;29961:493:100:o;30968:887::-;31392:6;31381:9;31374:25;31435:3;31430:2;31419:9;31415:18;31408:31;31355:4;31462:50;31507:3;31496:9;31492:19;30877:2;30865:15;;30912:16;30905:4;30896:14;;30889:40;30954:2;30945:12;;30800:163;31462:50;31560:9;31552:6;31548:22;31543:2;31532:9;31528:18;31521:50;31594:42;31629:6;31621;31594:42;:::i;:::-;31580:56;;-1:-1:-1;;;;;31676:6:100;31672:55;31667:2;31656:9;31652:18;31645:83;31777:9;31769:6;31765:22;31759:3;31748:9;31744:19;31737:51;31805:44;31842:6;31834;31805:44;:::i;:::-;31797:52;30968:887;-1:-1:-1;;;;;;;30968:887:100:o;32866:1834::-;33288:6;33277:9;33270:25;33251:4;33314:2;-1:-1:-1;;;;;33425:2:100;33417:6;33413:15;33408:2;33397:9;33393:18;33386:43;33465:3;33460:2;33449:9;33445:18;33438:31;33492:46;33533:3;33522:9;33518:19;33510:6;33492:46;:::i;:::-;33557:2;33607;33599:6;33595:15;33590:2;33579:9;33575:18;33568:43;33648:6;33642:3;33631:9;33627:19;33620:35;33704:9;33696:6;33692:22;33686:3;33675:9;33671:19;33664:51;33745:6;33739:13;33731:6;33724:29;33772:4;33762:14;;33817:2;33809:6;33805:15;33853:2;33848;33840:6;33836:15;33829:27;33876:1;33909:12;33903:19;33945:36;33971:9;33945:36;:::i;:::-;34014:6;34009:2;34001:6;33997:15;33990:31;34052:2;34041:9;34037:18;34069:1;34064:152;;;;34230:1;34225:354;;;;34030:549;;34064:152;-1:-1:-1;;34109:24:100;;34092:15;;;34085:49;34184:14;;34177:22;34174:1;34170:30;34158:43;;34154:52;;;-1:-1:-1;34064:152:100;;34225:354;34256:12;34253:1;34246:23;34310:2;34307:1;34297:16;34335:1;34349:177;34363:6;34360:1;34357:13;34349:177;;;34453:14;;34432;;;34428:23;;34421:47;34496:16;;;;34378:10;;34349:177;;;34550:14;;34546:23;;;-1:-1:-1;;34030:549:100;;;;34625:9;34620:3;34616:19;34610:3;34599:9;34595:19;34588:48;34653:41;34690:3;34682:6;34653:41;:::i;:::-;34645:49;32866:1834;-1:-1:-1;;;;;;;;;;;;;;;32866:1834:100:o;34705:236::-;34759:5;34812:3;34805:4;34797:6;34793:17;34789:27;34779:55;;34830:1;34827;34820:12;34779:55;34852:83;34931:3;34922:6;34916:13;34909:4;34901:6;34897:17;34852:83;:::i;34946:618::-;35012:5;35060:4;35048:9;35043:3;35039:19;35035:30;35032:50;;;35078:1;35075;35068:12;35032:50;35111:4;35105:11;35155:4;35147:6;35143:17;35179:18;35247:6;35235:10;35232:22;35227:2;35215:10;35212:18;35209:46;35206:72;;;35258:18;;:::i;:::-;35300:10;35294:4;35287:24;35329:6;35320:15;;35365:9;35359:16;35351:6;35344:32;35420:2;35409:9;35405:18;35399:25;35385:39;;35447:2;35439:6;35436:14;35433:34;;;35463:1;35460;35453:12;35433:34;;35500:57;35553:3;35544:6;35533:9;35529:22;35500:57;:::i;:::-;35495:2;35487:6;35483:15;35476:82;;;34946:618;;;;:::o;35569:1028::-;35661:6;35714:2;35702:9;35693:7;35689:23;35685:32;35682:52;;;35730:1;35727;35720:12;35682:52;35763:9;35757:16;35792:18;35833:2;35825:6;35822:14;35819:34;;;35849:1;35846;35839:12;35819:34;35872:22;;;;35928:4;35910:16;;;35906:27;35903:47;;;35946:1;35943;35936:12;35903:47;35972:22;;:::i;:::-;36023:2;36017:9;36010:5;36003:24;36065:2;36061;36057:11;36051:18;36078:33;36103:7;36078:33;:::i;:::-;36138:2;36127:14;;36120:31;36189:2;36181:11;;36175:18;36202:33;36175:18;36202:33;:::i;:::-;36262:2;36251:14;;36244:31;36314:2;36306:11;;36300:18;36330:16;;;36327:36;;;36359:1;36356;36349:12;36327:36;36395:65;36452:7;36441:8;36437:2;36433:17;36395:65;:::i;:::-;36390:2;36383:5;36379:14;36372:89;;36508:3;36504:2;36500:12;36494:19;36488:3;36481:5;36477:15;36470:44;36561:3;36557:2;36553:12;36547:19;36541:3;36534:5;36530:15;36523:44;36586:5;36576:15;;;;;35569:1028;;;;:::o;37157:430::-;-1:-1:-1;;;;;;37346:6:100;37342:79;37337:3;37330:92;37312:3;37451:6;37445:13;37467:74;37534:6;37530:1;37525:3;37521:11;37514:4;37506:6;37502:17;37467:74;:::i;:::-;37561:16;;;;37579:1;37557:24;;37157:430;-1:-1:-1;;;37157:430:100:o;37592:287::-;37721:3;37759:6;37753:13;37775:66;37834:6;37829:3;37822:4;37814:6;37810:17;37775:66;:::i;:::-;37857:16;;;;;37592:287;-1:-1:-1;;37592:287:100:o;38534:128::-;38601:9;;;38622:11;;;38619:37;;;38636:18;;:::i;39559:1059::-;39654:6;39707:2;39695:9;39686:7;39682:23;39678:32;39675:52;;;39723:1;39720;39713:12;39675:52;39756:9;39750:16;39785:18;39826:2;39818:6;39815:14;39812:34;;;39842:1;39839;39832:12;39812:34;39865:22;;;;39921:4;39903:16;;;39899:27;39896:47;;;39939:1;39936;39929:12;39896:47;39965:22;;:::i;:::-;40016:2;40010:9;40003:5;39996:24;40066:2;40062;40058:11;40052:18;40047:2;40040:5;40036:14;40029:42;40110:2;40106;40102:11;40096:18;40139:2;40129:8;40126:16;40123:36;;;40155:1;40152;40145:12;40123:36;40191:56;40239:7;40228:8;40224:2;40220:17;40191:56;:::i;:::-;40186:2;40179:5;40175:14;40168:80;;40287:2;40283;40279:11;40273:18;40316:2;40306:8;40303:16;40300:36;;;40332:1;40329;40322:12;40300:36;40368:65;40425:7;40414:8;40410:2;40406:17;40368:65;:::i;:::-;40363:2;40356:5;40352:14;40345:89;;40467:43;40505:3;40501:2;40497:12;40467:43;:::i;:::-;40461:3;40454:5;40450:15;40443:68;40544:43;40582:3;40578:2;40574:12;40544:43;:::i;:::-;40538:3;40527:15;;40520:68;40531:5;39559:1059;-1:-1:-1;;;;;39559:1059:100:o;40623:896::-;41047:6;41036:9;41029:25;41090:3;41085:2;41074:9;41070:18;41063:31;41131:1;41125:3;41114:9;41110:19;41103:30;41170:11;41164:3;41153:9;41149:19;41142:40;41218:3;41213:2;41202:9;41198:18;41191:31;41010:4;41245:55;41295:3;41284:9;41280:19;41272:6;41245:55;:::i;:::-;-1:-1:-1;;;;;41340:6:100;41336:55;41331:2;41320:9;41316:18;41309:83;41441:9;41433:6;41429:22;41423:3;41412:9;41408:19;41401:51;41469:44;41506:6;41498;41469:44;:::i;41524:896::-;41948:6;41937:9;41930:25;41991:3;41986:2;41975:9;41971:18;41964:31;42032:1;42026:3;42015:9;42011:19;42004:30;42071:11;42065:3;42054:9;42050:19;42043:40;42119:3;42114:2;42103:9;42099:18;42092:31;41911:4;42146:55;42196:3;42185:9;42181:19;42173:6;42146:55;:::i;43954:446::-;44204:2;44193:9;44186:21;44243:1;44238:2;44227:9;44223:18;44216:29;44281:7;44276:2;44265:9;44261:18;44254:35;44327:3;44320:4;44309:9;44305:20;44298:33;44167:4;44348:46;44389:3;44378:9;44374:19;44366:6;44348:46;:::i;44405:545::-;44507:2;44502:3;44499:11;44496:448;;;44543:1;44568:5;44564:2;44557:17;44613:4;44609:2;44599:19;44683:2;44671:10;44667:19;44664:1;44660:27;44654:4;44650:38;44719:4;44707:10;44704:20;44701:47;;;-1:-1:-1;44742:4:100;44701:47;44797:2;44792:3;44788:12;44785:1;44781:20;44775:4;44771:31;44761:41;;44852:82;44870:2;44863:5;44860:13;44852:82;;;44915:17;;;44896:1;44885:13;44852:82;;45126:1352;45252:3;45246:10;45279:18;45271:6;45268:30;45265:56;;;45301:18;;:::i;:::-;45330:97;45420:6;45380:38;45412:4;45406:11;45380:38;:::i;:::-;45374:4;45330:97;:::i;:::-;45482:4;;45546:2;45535:14;;45563:1;45558:663;;;;46265:1;46282:6;46279:89;;;-1:-1:-1;46334:19:100;;;46328:26;46279:89;-1:-1:-1;;45083:1:100;45079:11;;;45075:24;45071:29;45061:40;45107:1;45103:11;;;45058:57;46381:81;;45528:944;;45558:663;32813:1;32806:14;;;32850:4;32837:18;;-1:-1:-1;;45594:20:100;;;45712:236;45726:7;45723:1;45720:14;45712:236;;;45815:19;;;45809:26;45794:42;;45907:27;;;;45875:1;45863:14;;;;45742:19;;45712:236;;;45716:3;45976:6;45967:7;45964:19;45961:201;;;46037:19;;;46031:26;-1:-1:-1;;46120:1:100;46116:14;;;46132:3;46112:24;46108:37;46104:42;46089:58;46074:74;;45961:201;-1:-1:-1;;;;;46208:1:100;46192:14;;;46188:22;46175:36;;-1:-1:-1;45126:1352:100:o;46483:979::-;46712:3;46741:1;46774:6;46768:13;46804:36;46830:9;46804:36;:::i;:::-;46859:1;46876:18;;;46903:133;;;;47050:1;47045:356;;;;46869:532;;46903:133;-1:-1:-1;;46936:24:100;;46924:37;;47009:14;;47002:22;46990:35;;46981:45;;;-1:-1:-1;46903:133:100;;47045:356;47076:6;47073:1;47066:17;47106:4;47151:2;47148:1;47138:16;47176:1;47190:165;47204:6;47201:1;47198:13;47190:165;;;47282:14;;47269:11;;;47262:35;47325:16;;;;47219:10;;47190:165;;;47194:3;;;47384:6;47379:3;47375:16;47368:23;;46869:532;-1:-1:-1;;47422:6:100;47410:19;;-1:-1:-1;;47454:1:100;47445:11;;46483:979;-1:-1:-1;;;46483:979:100:o;47467:291::-;47644:2;47633:9;47626:21;47607:4;47664:45;47705:2;47694:9;47690:18;47682:6;47664:45;:::i;:::-;47656:53;;47745:6;47740:2;47729:9;47725:18;47718:34;47467:291;;;;;:::o;48330:348::-;48560:2;48549:9;48542:21;48523:4;48580:49;48625:2;48614:9;48610:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:100;48262:14;;48255:36;48316:2;48307:12;;48166:159;48580:49;48572:57;;48665:6;48660:2;48649:9;48645:18;48638:34;48330:348;;;;:::o;48847:::-;49077:2;49066:9;49059:21;49040:4;49097:49;49142:2;49131:9;49127:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:100;48779:14;;48772:36;48833:2;48824:12;;48683:159;49851:340;-1:-1:-1;;;;;50032:6:100;50028:55;50017:9;50010:74;50120:2;50115;50104:9;50100:18;50093:30;49991:4;50140:45;50181:2;50170:9;50166:18;50158:6;50140:45;:::i;50196:340::-;50373:2;50362:9;50355:21;50336:4;50393:45;50434:2;50423:9;50419:18;50411:6;50393:45;:::i;:::-;50385:53;;-1:-1:-1;;;;;50478:6:100;50474:55;50469:2;50458:9;50454:18;50447:83;50196:340;;;;;:::o;50944:440::-;51194:2;51183:9;51176:21;51157:4;51220:49;51265:2;51254:9;51250:18;48243:2;48231:15;;-1:-1:-1;;;48271:4:100;48262:14;;48255:36;48316:2;48307:12;;48166:159;51220:49;51317:9;51309:6;51305:22;51300:2;51289:9;51285:18;51278:50;51345:33;51371:6;51363;51345:33;:::i;51389:440::-;51639:2;51628:9;51621:21;51602:4;51665:49;51710:2;51699:9;51695:18;48760:2;48748:15;;-1:-1:-1;;;48788:4:100;48779:14;;48772:36;48833:2;48824:12;;48683:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","POOL_AMOUNT()":"beda3db3","REQUESTED_AMOUNT()":"879ee88c","TOTAL_SUPPLY()":"902d55a5","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","_createProposal(address,uint256,uint256)":"b188bdc4","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","disabled_test_threshold_check_as_js_test()":"a6f2b82f","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","getBalance(address,address)":"d4fac45d","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testRevert_allocate_ProposalIdDuplicated()":"2da49647","testRevert_allocate_UserNotInRegistry()":"bc1687c0","testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW()":"d97d0578","testRevert_registerRecipient_ProposalIdAlreadyExist()":"9a45ff89","test_1_proposalSupported()":"757e122d","test_activate_points()":"136994c0","test_allocate_proposalSupport_empty_array()":"39b7e525","test_conviction_check_as_js_test()":"90ff95a4","test_conviction_check_function()":"de8a1354","test_deactivate_points()":"0ef639f6","test_distribute_native_token()":"8cf86e50","test_distribute_signaling_proposal()":"eaeb7195","test_proposalSupported_change_support()":"d25bba07","test_proposalSupported_conviction_threshold_2_users()":"503c712e","test_total_staked_amount()":"61164d4e","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"POOL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUESTED_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTAL_SUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenPool\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"poolAmount\",\"type\":\"uint256\"}],\"name\":\"_createProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"pool\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disabled_test_threshold_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_ProposalIdDuplicated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_UserNotInRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevert_registerRecipient_ProposalIdAlreadyExist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_1_proposalSupported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_activate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_allocate_proposalSupport_empty_array\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_as_js_test\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_conviction_check_function\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_deactivate_points\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_native_token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_distribute_signaling_proposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_change_support\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_proposalSupported_conviction_threshold_2_users\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_total_staked_amount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"_createProposal(address,uint256,uint256)\":{\"notice\":\"HELPERS FUNCTIONS\"},\"testRevert_allocate_ProposalIdDuplicated()\":{\"notice\":\"TESTS\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyTest.t.sol\":\"CVStrategyTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484\",\"dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg\"]},\"pkg/contracts/test/CVStrategyTest.t.sol\":{\"keccak256\":\"0x1ef4c79f3e868f30f5dab415e11cb91a4cbe1063c94f85b181a2f143cd2ab76e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://9361a5ca3d979907d3d0ed5a225a5e4885cd3801a69b1fbff75d77b1d0bfb7f8\",\"dweb:/ipfs/QmX4TiDmKvzMAEwi1zM5vmhYNDkzCXBa3p13XP3CTqXHou\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"POOL_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUESTED_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_tokenPool","type":"address"},{"internalType":"uint256","name":"requestAmount","type":"uint256"},{"internalType":"uint256","name":"poolAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"_createProposal","outputs":[{"internalType":"struct IAllo.Pool","name":"pool","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]},{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disabled_test_threshold_check_as_js_test"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_ProposalIdDuplicated"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_UserNotInRegistry"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRevert_registerRecipient_ProposalIdAlreadyExist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_1_proposalSupported"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_activate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_allocate_proposalSupport_empty_array"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_as_js_test"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_conviction_check_function"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_deactivate_points"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_native_token"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_distribute_signaling_proposal"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_change_support"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_proposalSupported_conviction_threshold_2_users"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_total_staked_amount"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"_createProposal(address,uint256,uint256)":{"notice":"HELPERS FUNCTIONS"},"testRevert_allocate_ProposalIdDuplicated()":{"notice":"TESTS"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyTest.t.sol":"CVStrategyTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9","urls":["bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484","dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg"],"license":"UNLICENSED"},"pkg/contracts/test/CVStrategyTest.t.sol":{"keccak256":"0x1ef4c79f3e868f30f5dab415e11cb91a4cbe1063c94f85b181a2f143cd2ab76e","urls":["bzz-raw://9361a5ca3d979907d3d0ed5a225a5e4885cd3801a69b1fbff75d77b1d0bfb7f8","dweb:/ipfs/QmX4TiDmKvzMAEwi1zM5vmhYNDkzCXBa3p13XP3CTqXHou"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyTest.t.sol","id":65393,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[61025],"CVStrategyHelpers":[62208],"CVStrategyTest":[65392],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[65466],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"RegistrySetupFull":[9534],"SafeSetup":[65847],"StdAssertions":[14047],"StdChains":[14811],"StdCheats":[17664],"StdInvariant":[17989],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"Test":[22442],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24293],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdError":[17730],"stdJson":[18581],"stdMath":[18723],"stdStorage":[20394]},"nodeType":"SourceUnit","src":"39:30910:97","nodes":[{"id":62210,"nodeType":"PragmaDirective","src":"39:24:97","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":62211,"nodeType":"ImportDirective","src":"65:28:97","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":22443,"symbolAliases":[],"unitAlias":""},{"id":62212,"nodeType":"ImportDirective","src":"94:31:97","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":32358,"symbolAliases":[],"unitAlias":""},{"id":62213,"nodeType":"ImportDirective","src":"126:56:97","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":62215,"nodeType":"ImportDirective","src":"184:66:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":62214,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"192:5:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62217,"nodeType":"ImportDirective","src":"251:74:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":62216,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"259:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62219,"nodeType":"ImportDirective","src":"344:53:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":62218,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"352:4:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62221,"nodeType":"ImportDirective","src":"398:61:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":62220,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"406:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62223,"nodeType":"ImportDirective","src":"482:67:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":62222,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"490:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62225,"nodeType":"ImportDirective","src":"550:71:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":62224,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"558:8:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62227,"nodeType":"ImportDirective","src":"622:67:97","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":62226,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"630:6:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62229,"nodeType":"ImportDirective","src":"708:68:97","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":62228,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"716:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62231,"nodeType":"ImportDirective","src":"777:80:97","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":62230,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"785:17:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62233,"nodeType":"ImportDirective","src":"858:65:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":62232,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"866:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62235,"nodeType":"ImportDirective","src":"924:65:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":62234,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"932:12:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62237,"nodeType":"ImportDirective","src":"990:59:97","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":62236,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"998:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62239,"nodeType":"ImportDirective","src":"1051:49:97","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":61026,"symbolAliases":[{"foreign":{"id":62238,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"1059:10:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62241,"nodeType":"ImportDirective","src":"1101:59:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":61841,"symbolAliases":[{"foreign":{"id":62240,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"1109:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62243,"nodeType":"ImportDirective","src":"1161:59:97","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":62242,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"1169:15:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62245,"nodeType":"ImportDirective","src":"1222:53:97","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":65467,"symbolAliases":[{"foreign":{"id":62244,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65466,"src":"1230:11:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62247,"nodeType":"ImportDirective","src":"1276:49:97","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":65848,"symbolAliases":[{"foreign":{"id":62246,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65847,"src":"1284:9:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":62249,"nodeType":"ImportDirective","src":"1326:58:97","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"./CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":65393,"sourceUnit":62209,"symbolAliases":[{"foreign":{"id":62248,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62208,"src":"1334:17:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65392,"nodeType":"ContractDefinition","src":"1525:29423:97","nodes":[{"id":62266,"nodeType":"VariableDeclaration","src":"1644:22:97","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1661:5:97","scope":65392,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":62265,"nodeType":"UserDefinedTypeName","pathNode":{"id":62264,"name":"MockERC20","nameLocations":["1644:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1644:9:97"},"referencedDeclaration":9751,"src":"1644:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":62269,"nodeType":"VariableDeclaration","src":"1672:33:97","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1687:10:97","scope":65392,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1672:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":62268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":62272,"nodeType":"VariableDeclaration","src":"1711:44:97","nodes":[],"constant":true,"functionSelector":"902d55a5","mutability":"constant","name":"TOTAL_SUPPLY","nameLocation":"1735:12:97","scope":65392,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62270,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3435303030","id":62271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1750:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"visibility":"public"},{"id":62275,"nodeType":"VariableDeclaration","src":"1761:43:97","nodes":[],"constant":true,"functionSelector":"beda3db3","mutability":"constant","name":"POOL_AMOUNT","nameLocation":"1785:11:97","scope":65392,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62273,"name":"uint256","nodeType":"ElementaryTypeName","src":"1761:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135303030","id":62274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"visibility":"public"},{"id":62278,"nodeType":"VariableDeclaration","src":"1810:42:97","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1834:13:97","scope":65392,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62276,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":62277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1850:2:97","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":62281,"nodeType":"VariableDeclaration","src":"1858:47:97","nodes":[],"constant":true,"functionSelector":"879ee88c","mutability":"constant","name":"REQUESTED_AMOUNT","nameLocation":"1882:16:97","scope":65392,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62279,"name":"uint256","nodeType":"ElementaryTypeName","src":"1858:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":62280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1901:4:97","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":62284,"nodeType":"VariableDeclaration","src":"1912:40:97","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1937:15:97","scope":65392,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":62283,"nodeType":"UserDefinedTypeName","pathNode":{"id":62282,"name":"RegistryGardens","nameLocations":["1912:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"1912:15:97"},"referencedDeclaration":61840,"src":"1912:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":62467,"nodeType":"FunctionDefinition","src":"1959:1152:97","nodes":[],"body":{"id":62466,"nodeType":"Block","src":"1983:1128:97","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62287,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1993:19:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62289,"nodeType":"ExpressionStatement","src":"1993:21:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62293,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"2044:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2044:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":62292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2036:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62291,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:97","typeDescriptions":{}}},"id":62295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2036:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62290,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"2024:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":62296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2024:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62297,"nodeType":"ExpressionStatement","src":"2024:32:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62301,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2081:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2081:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62298,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2067:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2070:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2067:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2067:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62304,"nodeType":"ExpressionStatement","src":"2067:27:97"},{"expression":{"arguments":[{"hexValue":"30","id":62308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62305,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2104:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2111:13:97","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"2104:20:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2104:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62310,"nodeType":"ExpressionStatement","src":"2104:23:97"},{"expression":{"arguments":[{"hexValue":"30","id":62314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62311,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2137:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:16:97","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2137:23:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":62315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62316,"nodeType":"ExpressionStatement","src":"2137:26:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62317,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2173:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2173:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62321,"nodeType":"ExpressionStatement","src":"2173:14:97"},{"expression":{"id":62327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62322,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"2198:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":62325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2206:13:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":62324,"nodeType":"UserDefinedTypeName","pathNode":{"id":62323,"name":"MockERC20","nameLocations":["2210:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2210:9:97"},"referencedDeclaration":9751,"src":"2210:9:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":62326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2206:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2198:23:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62328,"nodeType":"ExpressionStatement","src":"2198:23:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62332,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2242:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":62333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:7:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":62334,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"2251:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":62335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2266:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2251:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62329,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"2231:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2237:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2231:10:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62338,"nodeType":"ExpressionStatement","src":"2231:37:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62342,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2289:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2289:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":62344,"name":"TOTAL_SUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62272,"src":"2303:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":62345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2318:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2303:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62339,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"2278:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2278:10:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62348,"nodeType":"ExpressionStatement","src":"2278:42:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62354,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2352:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2352:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2344:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62352,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:97","typeDescriptions":{}}},"id":62356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62357,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62269,"src":"2361:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62349,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"2330:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2336:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2330:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2330:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62359,"nodeType":"ExpressionStatement","src":"2330:42:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62363,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2397:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2397:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62360,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2383:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2386:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2383:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2383:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62366,"nodeType":"ExpressionStatement","src":"2383:27:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62370,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2445:5:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":62371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:7:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62367,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2420:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2427:17:97","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2420:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":62372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2420:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62373,"nodeType":"ExpressionStatement","src":"2420:33:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62374,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2463:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2463:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2463:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62378,"nodeType":"ExpressionStatement","src":"2463:14:97"},{"assignments":[62381],"declarations":[{"constant":false,"id":62381,"mutability":"mutable","name":"registryFactory","nameLocation":"2556:15:97","nodeType":"VariableDeclaration","scope":62466,"src":"2540:31:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":62380,"nodeType":"UserDefinedTypeName","pathNode":{"id":62379,"name":"RegistryFactory","nameLocations":["2540:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2540:15:97"},"referencedDeclaration":61072,"src":"2540:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":62386,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":62384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2574:19:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":62383,"nodeType":"UserDefinedTypeName","pathNode":{"id":62382,"name":"RegistryFactory","nameLocations":["2578:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2578:15:97"},"referencedDeclaration":61072,"src":"2578:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":62385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2574:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2540:55:97"},{"assignments":[62391],"declarations":[{"constant":false,"id":62391,"mutability":"mutable","name":"params","nameLocation":"2645:6:97","nodeType":"VariableDeclaration","scope":62466,"src":"2605:46:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":62390,"nodeType":"UserDefinedTypeName","pathNode":{"id":62389,"name":"RegistryGardens.InitializeParams","nameLocations":["2605:15:97","2621:16:97"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"2605:32:97"},"referencedDeclaration":61245,"src":"2605:32:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":62392,"nodeType":"VariableDeclarationStatement","src":"2605:46:97"},{"expression":{"id":62401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62393,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62391,"src":"2661:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62395,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2668:5:97","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"2661:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62398,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2684:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2684:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2676:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62396,"name":"address","nodeType":"ElementaryTypeName","src":"2676:7:97","typeDescriptions":{}}},"id":62400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2676:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2661:30:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62402,"nodeType":"ExpressionStatement","src":"2661:30:97"},{"expression":{"id":62412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62403,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62391,"src":"2701:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2708:12:97","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"2701:19:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62409,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"2738:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":62408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2730:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62407,"name":"address","nodeType":"ElementaryTypeName","src":"2730:7:97","typeDescriptions":{}}},"id":62410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62406,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2723:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":62411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2723:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2701:44:97","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":62413,"nodeType":"ExpressionStatement","src":"2701:44:97"},{"expression":{"id":62418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62414,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62391,"src":"2755:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2762:19:97","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"2755:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62417,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"2784:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2755:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62419,"nodeType":"ExpressionStatement","src":"2755:42:97"},{"expression":{"id":62424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62420,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62391,"src":"2807:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2814:12:97","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"2807:19:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":62423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2829:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2807:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62425,"nodeType":"ExpressionStatement","src":"2807:23:97"},{"expression":{"id":62430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62426,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62391,"src":"2840:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2847:9:97","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"2840:16:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62429,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61866,"src":"2859:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2840:27:97","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":62431,"nodeType":"ExpressionStatement","src":"2840:27:97"},{"expression":{"id":62443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":62432,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62391,"src":"2877:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":62434,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2884:12:97","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"2877:19:97","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62439,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"2915:12:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":62440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":62438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2907:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62437,"name":"address","nodeType":"ElementaryTypeName","src":"2907:7:97","typeDescriptions":{}}},"id":62441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2907:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2899:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62435,"name":"address","nodeType":"ElementaryTypeName","src":"2899:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":62442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2877:54:97","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":62444,"nodeType":"ExpressionStatement","src":"2877:54:97"},{"expression":{"id":62452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62445,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"2941:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":62449,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62391,"src":"3006:6:97","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":62447,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62381,"src":"2975:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":62448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:14:97","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"2975:30:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":62450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2975:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62446,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"2959:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":62451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2959:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"src":"2941:73:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":62453,"nodeType":"ExpressionStatement","src":"2941:73:97"},{"expression":{"arguments":[{"arguments":[{"id":62459,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"3047:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":62458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3039:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62457,"name":"address","nodeType":"ElementaryTypeName","src":"3039:7:97","typeDescriptions":{}}},"id":62460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3039:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62461,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"3065:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":62462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61757,"src":"3065:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":62463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62454,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"3025:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3031:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3025:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62465,"nodeType":"ExpressionStatement","src":"3025:79:97"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1968:5:97","parameters":{"id":62285,"nodeType":"ParameterList","parameters":[],"src":"1973:2:97"},"returnParameters":{"id":62286,"nodeType":"ParameterList","parameters":[],"src":"1983:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62476,"nodeType":"FunctionDefinition","src":"3117:107:97","nodes":[],"body":{"id":62475,"nodeType":"Block","src":"3185:39:97","nodes":[],"statements":[{"expression":{"id":62473,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"3202:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"functionReturnParameters":62472,"id":62474,"nodeType":"Return","src":"3195:22:97"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3126:16:97","parameters":{"id":62468,"nodeType":"ParameterList","parameters":[],"src":"3142:2:97"},"returnParameters":{"id":62472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62476,"src":"3168:15:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":62470,"nodeType":"UserDefinedTypeName","pathNode":{"id":62469,"name":"RegistryGardens","nameLocations":["3168:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"3168:15:97"},"referencedDeclaration":61840,"src":"3168:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3167:17:97"},"scope":65392,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":62700,"nodeType":"FunctionDefinition","src":"3273:1814:97","nodes":[],"body":{"id":62699,"nodeType":"Block","src":"3437:1650:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62491,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62481,"src":"3451:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3468:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3451:18:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62499,"nodeType":"IfStatement","src":"3447:81:97","trueBody":{"id":62498,"nodeType":"Block","src":"3471:57:97","statements":[{"expression":{"id":62496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62494,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62481,"src":"3485:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62495,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62281,"src":"3501:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3485:32:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62497,"nodeType":"ExpressionStatement","src":"3485:32:97"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":62502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62500,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"3542:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":62501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3556:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3542:15:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62508,"nodeType":"IfStatement","src":"3538:70:97","trueBody":{"id":62507,"nodeType":"Block","src":"3559:49:97","statements":[{"expression":{"id":62505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62503,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"3573:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":62504,"name":"POOL_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62275,"src":"3586:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62506,"nodeType":"ExpressionStatement","src":"3573:24:97"}]}},{"assignments":[62510],"declarations":[{"constant":false,"id":62510,"mutability":"mutable","name":"useTokenPool","nameLocation":"3625:12:97","nodeType":"VariableDeclaration","scope":62699,"src":"3617:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62509,"name":"address","nodeType":"ElementaryTypeName","src":"3617:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":62512,"initialValue":{"id":62511,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3640:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3617:29:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62513,"name":"_tokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62479,"src":"3660:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":62516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3682:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3674:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62514,"name":"address","nodeType":"ElementaryTypeName","src":"3674:7:97","typeDescriptions":{}}},"id":62517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3674:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3660:24:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62527,"nodeType":"IfStatement","src":"3656:84:97","trueBody":{"id":62526,"nodeType":"Block","src":"3686:54:97","statements":[{"expression":{"id":62524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62519,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62510,"src":"3700:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62522,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"3723:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":62521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3715:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62520,"name":"address","nodeType":"ElementaryTypeName","src":"3715:7:97","typeDescriptions":{}}},"id":62523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3715:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3700:29:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62525,"nodeType":"ExpressionStatement","src":"3700:29:97"}]}},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":62529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3768:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":62528,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"3750:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62531,"nodeType":"ExpressionStatement","src":"3750:35:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62535,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"3873:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62532,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3862:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"3859:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62538,"nodeType":"ExpressionStatement","src":"3859:27:97"},{"assignments":[62541],"declarations":[{"constant":false,"id":62541,"mutability":"mutable","name":"strategy","nameLocation":"3908:8:97","nodeType":"VariableDeclaration","scope":62699,"src":"3897:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":62540,"nodeType":"UserDefinedTypeName","pathNode":{"id":62539,"name":"CVStrategy","nameLocations":["3897:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"3897:10:97"},"referencedDeclaration":61025,"src":"3897:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62551,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62547,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3942:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3942:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3934:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62545,"name":"address","nodeType":"ElementaryTypeName","src":"3934:7:97","typeDescriptions":{}}},"id":62549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3934:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3919:14:97","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":62543,"nodeType":"UserDefinedTypeName","pathNode":{"id":62542,"name":"CVStrategy","nameLocations":["3923:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"3923:10:97"},"referencedDeclaration":61025,"src":"3923:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":62550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3919:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"3897:53:97"},{"expression":{"id":62572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62552,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62489,"src":"3961:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62554,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3981:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3981:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":62558,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62541,"src":"3997:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":62557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3989:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62556,"name":"address","nodeType":"ElementaryTypeName","src":"3989:7:97","typeDescriptions":{}}},"id":62559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3989:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62562,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62476,"src":"4016:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$61840_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":62563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4016:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":62561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4008:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62560,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:97","typeDescriptions":{}}},"id":62564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62565,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4037:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},{"arguments":[{"id":62569,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62510,"src":"4057:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62567,"name":"address","nodeType":"ElementaryTypeName","src":"4049:7:97","typeDescriptions":{}}},"id":62570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4049:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":62553,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62039,"src":"3970:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":62571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3970:101:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3961:110:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":62573,"nodeType":"ExpressionStatement","src":"3961:110:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62574,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4082:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4085:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"4082:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4082:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62578,"nodeType":"ExpressionStatement","src":"4082:14:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62579,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62541,"src":"4107:8:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":62581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4116:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"4107:23:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4107:25:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62583,"nodeType":"ExpressionStatement","src":"4107:25:97"},{"expression":{"id":62590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":62584,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"4143:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":62588,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62489,"src":"4165:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62585,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4150:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4157:7:97","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":1389,"src":"4150:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":62589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4150:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"4143:29:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62591,"nodeType":"ExpressionStatement","src":"4143:29:97"},{"expression":{"arguments":[{"arguments":[{"id":62597,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4199:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":62596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4191:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62595,"name":"address","nodeType":"ElementaryTypeName","src":"4191:7:97","typeDescriptions":{}}},"id":62598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62599,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"4206:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":62592,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4183:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4186:4:97","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":23866,"src":"4183:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62601,"nodeType":"ExpressionStatement","src":"4183:34:97"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62602,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62510,"src":"4231:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":62603,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4247:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4231:22:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62645,"nodeType":"Block","src":"4340:203:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":62621,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4391:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":62620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4383:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62619,"name":"address","nodeType":"ElementaryTypeName","src":"4383:7:97","typeDescriptions":{}}},"id":62622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62623,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"4398:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":62616,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62510,"src":"4364:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62615,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4354:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":62617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4378:4:97","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"4354:28:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":62624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:55:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62625,"nodeType":"ExpressionStatement","src":"4354:55:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62632,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4463:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4463:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":62631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4455:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62630,"name":"address","nodeType":"ElementaryTypeName","src":"4455:7:97","typeDescriptions":{}}},"id":62634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4455:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":62635,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"4472:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":62627,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62510,"src":"4433:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62626,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"4423:9:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockERC20_$9751_$","typeString":"type(contract MockERC20)"}},"id":62628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":62629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4447:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4423:31:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":62636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4423:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":62637,"nodeType":"ExpressionStatement","src":"4423:60:97"},{"expression":{"arguments":[{"id":62641,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62489,"src":"4513:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62642,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"4521:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62638,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4497:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:8:97","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4497:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":62643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62644,"nodeType":"ExpressionStatement","src":"4497:35:97"}]},"id":62646,"nodeType":"IfStatement","src":"4227:316:97","trueBody":{"id":62614,"nodeType":"Block","src":"4255:79:97","statements":[{"expression":{"arguments":[{"id":62610,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62489,"src":"4304:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62611,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"4312:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62605,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"4269:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4276:8:97","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4269:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":62609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":62608,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62483,"src":"4292:10:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"4269:34:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$value","typeString":"function (uint256,uint256) payable external"}},"id":62612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62613,"nodeType":"ExpressionStatement","src":"4269:54:97"}]}},{"expression":{"arguments":[{"expression":{"id":62648,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62487,"src":"4562:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4567:9:97","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"4562:14:97","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62651,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"4594:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":62652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":62650,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61918,"src":"4578:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$returns$_t_bytes32_$","typeString":"function (contract IRegistry) returns (bytes32)"}},"id":62653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4578:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"706f6f6c50726f66696c654944","id":62654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4607:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""},"value":"poolProfileID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_45f8579a874d38fb7b478f77a8b6276f58269694e11de86e7ba56de4dc776331","typeString":"literal_string \"poolProfileID\""}],"id":62647,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10624,"src":"4553:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":62655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:70:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62656,"nodeType":"ExpressionStatement","src":"4553:70:97"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":62658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4738:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":62657,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"4720:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62660,"nodeType":"ExpressionStatement","src":"4720:35:97"},{"assignments":[62665],"declarations":[{"constant":false,"id":62665,"mutability":"mutable","name":"proposal","nameLocation":"4799:8:97","nodeType":"VariableDeclaration","scope":62699,"src":"4766:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":62664,"nodeType":"UserDefinedTypeName","pathNode":{"id":62663,"name":"CVStrategy.CreateProposal","nameLocations":["4766:10:97","4777:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4766:25:97"},"referencedDeclaration":59158,"src":"4766:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":62681,"initialValue":{"arguments":[{"hexValue":"31","id":62668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4849:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62669,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62489,"src":"4852:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":62670,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"4860:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4860:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":62672,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4874:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4885:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4874:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":62674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4898:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4874:31:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"id":62675,"name":"requestAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62481,"src":"4907:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":62678,"name":"useTokenPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62510,"src":"4930:12:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4922:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62676,"name":"address","nodeType":"ElementaryTypeName","src":"4922:7:97","typeDescriptions":{}}},"id":62679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62666,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4810:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4810:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":62680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:143:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4766:187:97"},{"assignments":[62683],"declarations":[{"constant":false,"id":62683,"mutability":"mutable","name":"data","nameLocation":"4976:4:97","nodeType":"VariableDeclaration","scope":62699,"src":"4963:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62682,"name":"bytes","nodeType":"ElementaryTypeName","src":"4963:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62688,"initialValue":{"arguments":[{"id":62686,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62665,"src":"4994:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":62684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4983:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4987:6:97","memberName":"encode","nodeType":"MemberAccess","src":"4983:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4983:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4963:40:97"},{"expression":{"arguments":[{"id":62692,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62489,"src":"5038:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62693,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62683,"src":"5046:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62689,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"5013:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5020:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5013:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":62694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62695,"nodeType":"ExpressionStatement","src":"5013:38:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62696,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"5062:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5062:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62698,"nodeType":"ExpressionStatement","src":"5062:18:97"}]},"documentation":{"id":62477,"nodeType":"StructuredDocumentation","src":"3230:38:97","text":" HELPERS FUNCTIONS"},"functionSelector":"b188bdc4","implemented":true,"kind":"function","modifiers":[],"name":"_createProposal","nameLocation":"3282:15:97","parameters":{"id":62484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62479,"mutability":"mutable","name":"_tokenPool","nameLocation":"3306:10:97","nodeType":"VariableDeclaration","scope":62700,"src":"3298:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62478,"name":"address","nodeType":"ElementaryTypeName","src":"3298:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62481,"mutability":"mutable","name":"requestAmount","nameLocation":"3326:13:97","nodeType":"VariableDeclaration","scope":62700,"src":"3318:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62480,"name":"uint256","nodeType":"ElementaryTypeName","src":"3318:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":62483,"mutability":"mutable","name":"poolAmount","nameLocation":"3349:10:97","nodeType":"VariableDeclaration","scope":62700,"src":"3341:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62482,"name":"uint256","nodeType":"ElementaryTypeName","src":"3341:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3297:63:97"},"returnParameters":{"id":62490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62487,"mutability":"mutable","name":"pool","nameLocation":"3411:4:97","nodeType":"VariableDeclaration","scope":62700,"src":"3393:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62486,"nodeType":"UserDefinedTypeName","pathNode":{"id":62485,"name":"IAllo.Pool","nameLocations":["3393:5:97","3399:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"3393:10:97"},"referencedDeclaration":2319,"src":"3393:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62489,"mutability":"mutable","name":"poolId","nameLocation":"3425:6:97","nodeType":"VariableDeclaration","scope":62700,"src":"3417:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62488,"name":"uint256","nodeType":"ElementaryTypeName","src":"3417:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3392:40:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62732,"nodeType":"FunctionDefinition","src":"5093:254:97","nodes":[],"body":{"id":62731,"nodeType":"Block","src":"5175:172:97","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":62711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":62709,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62702,"src":"5189:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":62710,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5199:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5189:16:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":62729,"nodeType":"Block","src":"5268:73:97","statements":[{"expression":{"arguments":[{"arguments":[{"id":62725,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62704,"src":"5322:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5314:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62723,"name":"address","nodeType":"ElementaryTypeName","src":"5314:7:97","typeDescriptions":{}}},"id":62726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5314:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":62720,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62702,"src":"5296:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62719,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"5289:6:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":62721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":62722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5304:9:97","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":6860,"src":"5289:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":62727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62708,"id":62728,"nodeType":"Return","src":"5282:48:97"}]},"id":62730,"nodeType":"IfStatement","src":"5185:156:97","trueBody":{"id":62718,"nodeType":"Block","src":"5207:55:97","statements":[{"expression":{"expression":{"arguments":[{"id":62714,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62704,"src":"5236:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5228:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62712,"name":"address","nodeType":"ElementaryTypeName","src":"5228:7:97","typeDescriptions":{}}},"id":62715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5228:15:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":62716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5244:7:97","memberName":"balance","nodeType":"MemberAccess","src":"5228:23:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":62708,"id":62717,"nodeType":"Return","src":"5221:30:97"}]}}]},"functionSelector":"d4fac45d","implemented":true,"kind":"function","modifiers":[],"name":"getBalance","nameLocation":"5102:10:97","parameters":{"id":62705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62702,"mutability":"mutable","name":"_token","nameLocation":"5121:6:97","nodeType":"VariableDeclaration","scope":62732,"src":"5113:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62701,"name":"address","nodeType":"ElementaryTypeName","src":"5113:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":62704,"mutability":"mutable","name":"holder","nameLocation":"5137:6:97","nodeType":"VariableDeclaration","scope":62732,"src":"5129:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":62703,"name":"address","nodeType":"ElementaryTypeName","src":"5129:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5112:32:97"},"returnParameters":{"id":62708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":62707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":62732,"src":"5166:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62706,"name":"uint256","nodeType":"ElementaryTypeName","src":"5166:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5165:9:97"},"scope":65392,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":62812,"nodeType":"FunctionDefinition","src":"5385:977:97","nodes":[],"body":{"id":62811,"nodeType":"Block","src":"5444:918:97","nodes":[],"statements":[{"assignments":[null,62737],"declarations":[null,{"constant":false,"id":62737,"mutability":"mutable","name":"poolId","nameLocation":"5493:6:97","nodeType":"VariableDeclaration","scope":62811,"src":"5485:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62736,"name":"uint256","nodeType":"ElementaryTypeName","src":"5485:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62743,"initialValue":{"arguments":[{"id":62739,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5519:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5527:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62738,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"5503:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5454:78:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5615:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62744,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"5597:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5597:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62747,"nodeType":"ExpressionStatement","src":"5597:39:97"},{"assignments":[62753],"declarations":[{"constant":false,"id":62753,"mutability":"mutable","name":"votes","nameLocation":"5682:5:97","nodeType":"VariableDeclaration","scope":62811,"src":"5646:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62751,"nodeType":"UserDefinedTypeName","pathNode":{"id":62750,"name":"CVStrategy.ProposalSupport","nameLocations":["5646:10:97","5657:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"5646:26:97"},"referencedDeclaration":59201,"src":"5646:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62752,"nodeType":"ArrayTypeName","src":"5646:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62760,"initialValue":{"arguments":[{"hexValue":"32","id":62758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5723:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5690:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62755,"nodeType":"UserDefinedTypeName","pathNode":{"id":62754,"name":"CVStrategy.ProposalSupport","nameLocations":["5694:10:97","5705:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"5694:26:97"},"referencedDeclaration":59201,"src":"5694:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62756,"nodeType":"ArrayTypeName","src":"5694:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5646:79:97"},{"expression":{"id":62769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62761,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62753,"src":"5813:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62763,"indexExpression":{"hexValue":"30","id":62762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5819:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5813:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5851:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":62767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5854:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":62764,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"5824:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5835:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"5824:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5813:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62770,"nodeType":"ExpressionStatement","src":"5813:44:97"},{"expression":{"id":62779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62771,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62753,"src":"5888:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62773,"indexExpression":{"hexValue":"31","id":62772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5894:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5888:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5926:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":62777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5929:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":62774,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"5899:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"5899:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"5888:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62780,"nodeType":"ExpressionStatement","src":"5888:44:97"},{"assignments":[62782],"declarations":[{"constant":false,"id":62782,"mutability":"mutable","name":"data","nameLocation":"6087:4:97","nodeType":"VariableDeclaration","scope":62811,"src":"6074:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62781,"name":"bytes","nodeType":"ElementaryTypeName","src":"6074:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62787,"initialValue":{"arguments":[{"id":62785,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62753,"src":"6105:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6094:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6098:6:97","memberName":"encode","nodeType":"MemberAccess","src":"6094:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6094:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6074:37:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62793,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"6235:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6246:25:97","memberName":"ProposalSupportDuplicated","nodeType":"MemberAccess","referencedDeclaration":59118,"src":"6235:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":62795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6272:8:97","memberName":"selector","nodeType":"MemberAccess","src":"6235:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":62796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":62797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6285:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":62791,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6212:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6216:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6212:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6212:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62788,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"6196:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6199:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"6196:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62800,"nodeType":"ExpressionStatement","src":"6196:92:97"},{"expression":{"arguments":[{"id":62804,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62737,"src":"6314:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62805,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62782,"src":"6322:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62801,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"6298:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6305:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"6298:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6298:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62807,"nodeType":"ExpressionStatement","src":"6298:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62808,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"6337:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62810,"nodeType":"ExpressionStatement","src":"6337:18:97"}]},"documentation":{"id":62733,"nodeType":"StructuredDocumentation","src":"5352:27:97","text":" TESTS"},"functionSelector":"2da49647","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_ProposalIdDuplicated","nameLocation":"5394:40:97","parameters":{"id":62734,"nodeType":"ParameterList","parameters":[],"src":"5434:2:97"},"returnParameters":{"id":62735,"nodeType":"ParameterList","parameters":[],"src":"5444:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":62898,"nodeType":"FunctionDefinition","src":"6368:1028:97","nodes":[],"body":{"id":62897,"nodeType":"Block","src":"6424:972:97","nodes":[],"statements":[{"assignments":[null,62816],"declarations":[null,{"constant":false,"id":62816,"mutability":"mutable","name":"poolId","nameLocation":"6473:6:97","nodeType":"VariableDeclaration","scope":62897,"src":"6465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62815,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62822,"initialValue":{"arguments":[{"id":62818,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"6499:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6507:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62817,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"6483:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6483:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6434:78:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62823,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"6577:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6577:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62826,"nodeType":"ExpressionStatement","src":"6577:39:97"},{"assignments":[62832],"declarations":[{"constant":false,"id":62832,"mutability":"mutable","name":"votes","nameLocation":"6662:5:97","nodeType":"VariableDeclaration","scope":62897,"src":"6626:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62830,"nodeType":"UserDefinedTypeName","pathNode":{"id":62829,"name":"CVStrategy.ProposalSupport","nameLocations":["6626:10:97","6637:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"6626:26:97"},"referencedDeclaration":59201,"src":"6626:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62831,"nodeType":"ArrayTypeName","src":"6626:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62839,"initialValue":{"arguments":[{"hexValue":"32","id":62837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6703:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":62836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6670:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62834,"nodeType":"UserDefinedTypeName","pathNode":{"id":62833,"name":"CVStrategy.ProposalSupport","nameLocations":["6674:10:97","6685:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"6674:26:97"},"referencedDeclaration":59201,"src":"6674:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62835,"nodeType":"ArrayTypeName","src":"6674:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6626:79:97"},{"expression":{"id":62848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62840,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62832,"src":"6793:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62842,"indexExpression":{"hexValue":"30","id":62841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6799:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6793:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6831:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":62846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6834:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":62843,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"6804:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"6804:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6793:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62849,"nodeType":"ExpressionStatement","src":"6793:44:97"},{"expression":{"id":62858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62850,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62832,"src":"6868:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62852,"indexExpression":{"hexValue":"31","id":62851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6874:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6868:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6906:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":62856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6909:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":62853,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"6879:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6890:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"6879:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6879:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"6868:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62859,"nodeType":"ExpressionStatement","src":"6868:44:97"},{"assignments":[62861],"declarations":[{"constant":false,"id":62861,"mutability":"mutable","name":"data","nameLocation":"7067:4:97","nodeType":"VariableDeclaration","scope":62897,"src":"7054:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62860,"name":"bytes","nodeType":"ElementaryTypeName","src":"7054:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62866,"initialValue":{"arguments":[{"id":62864,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62832,"src":"7085:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7074:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7078:6:97","memberName":"encode","nodeType":"MemberAccess","src":"7074:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7074:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7054:37:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":62870,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"7115:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":62871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7115:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62867,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7101:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7104:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"7101:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":62872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62873,"nodeType":"ExpressionStatement","src":"7101:27:97"},{"expression":{"arguments":[{"expression":{"expression":{"id":62877,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"7154:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7165:17:97","memberName":"UserNotInRegistry","nodeType":"MemberAccess","referencedDeclaration":59066,"src":"7154:28:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":62879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7183:8:97","memberName":"selector","nodeType":"MemberAccess","src":"7154:37:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":62874,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7138:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7141:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24270,"src":"7138:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":62880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7138:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62881,"nodeType":"ExpressionStatement","src":"7138:54:97"},{"expression":{"arguments":[{"id":62885,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62816,"src":"7323:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62886,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62861,"src":"7331:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62882,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7307:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7314:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7307:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62888,"nodeType":"ExpressionStatement","src":"7307:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":62889,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7347:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7350:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"7347:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62893,"nodeType":"ExpressionStatement","src":"7347:14:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62894,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"7371:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7371:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62896,"nodeType":"ExpressionStatement","src":"7371:18:97"}]},"functionSelector":"bc1687c0","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_UserNotInRegistry","nameLocation":"6377:37:97","parameters":{"id":62813,"nodeType":"ParameterList","parameters":[],"src":"6414:2:97"},"returnParameters":{"id":62814,"nodeType":"ParameterList","parameters":[],"src":"6424:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63012,"nodeType":"FunctionDefinition","src":"7402:901:97","nodes":[],"body":{"id":63011,"nodeType":"Block","src":"7490:813:97","nodes":[],"statements":[{"assignments":[62905,62907],"declarations":[{"constant":false,"id":62905,"mutability":"mutable","name":"pool","nameLocation":"7519:4:97","nodeType":"VariableDeclaration","scope":63011,"src":"7501:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":62904,"nodeType":"UserDefinedTypeName","pathNode":{"id":62903,"name":"IAllo.Pool","nameLocations":["7501:5:97","7507:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"7501:10:97"},"referencedDeclaration":2319,"src":"7501:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":62907,"mutability":"mutable","name":"poolId","nameLocation":"7533:6:97","nodeType":"VariableDeclaration","scope":63011,"src":"7525:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62906,"name":"uint256","nodeType":"ElementaryTypeName","src":"7525:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":62913,"initialValue":{"arguments":[{"id":62909,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"7559:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":62910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7567:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":62911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7570:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62908,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"7543:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":62912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7543:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7500:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":62915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7655:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":62914,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"7637:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":62916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7637:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62917,"nodeType":"ExpressionStatement","src":"7637:39:97"},{"assignments":[62923],"declarations":[{"constant":false,"id":62923,"mutability":"mutable","name":"votes","nameLocation":"7722:5:97","nodeType":"VariableDeclaration","scope":63011,"src":"7686:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":62921,"nodeType":"UserDefinedTypeName","pathNode":{"id":62920,"name":"CVStrategy.ProposalSupport","nameLocations":["7686:10:97","7697:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"7686:26:97"},"referencedDeclaration":59201,"src":"7686:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62922,"nodeType":"ArrayTypeName","src":"7686:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":62930,"initialValue":{"arguments":[{"hexValue":"31","id":62928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7763:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":62927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7730:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":62925,"nodeType":"UserDefinedTypeName","pathNode":{"id":62924,"name":"CVStrategy.ProposalSupport","nameLocations":["7734:10:97","7745:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"7734:26:97"},"referencedDeclaration":59201,"src":"7734:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":62926,"nodeType":"ArrayTypeName","src":"7734:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":62929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7730:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7686:79:97"},{"expression":{"id":62940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":62931,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62923,"src":"7775:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":62933,"indexExpression":{"hexValue":"30","id":62932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7781:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7775:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":62936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7813:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":62938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7816:4:97","subExpression":{"hexValue":"313030","id":62937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7817:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62934,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"7786:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7797:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"7786:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":62939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7786:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"7775:46:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":62941,"nodeType":"ExpressionStatement","src":"7775:46:97"},{"assignments":[62943],"declarations":[{"constant":false,"id":62943,"mutability":"mutable","name":"data","nameLocation":"7844:4:97","nodeType":"VariableDeclaration","scope":63011,"src":"7831:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":62942,"name":"bytes","nodeType":"ElementaryTypeName","src":"7831:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":62948,"initialValue":{"arguments":[{"id":62946,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62923,"src":"7862:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":62944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7851:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7855:6:97","memberName":"encode","nodeType":"MemberAccess","src":"7851:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":62947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7831:37:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":62954,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"7918:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7929:16:97","memberName":"SupportUnderflow","nodeType":"MemberAccess","referencedDeclaration":59090,"src":"7918:27:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":62956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7946:8:97","memberName":"selector","nodeType":"MemberAccess","src":"7918:36:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"30","id":62957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7956:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":62959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7959:4:97","subExpression":{"hexValue":"313030","id":62958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7960:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}},{"id":62961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7965:4:97","subExpression":{"hexValue":"313030","id":62960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7966:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":62952,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7895:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":62953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7899:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7895:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":62962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7895:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":62949,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"7879:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":62951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7882:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"7879:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":62963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7879:92:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62964,"nodeType":"ExpressionStatement","src":"7879:92:97"},{"expression":{"arguments":[{"id":62968,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62907,"src":"7997:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":62969,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62943,"src":"8005:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62965,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"7981:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":62966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":62967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7988:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7981:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":62970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7981:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62971,"nodeType":"ExpressionStatement","src":"7981:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":62972,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"8020:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":62973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8020:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":62974,"nodeType":"ExpressionStatement","src":"8020:18:97"},{"assignments":[62977],"declarations":[{"constant":false,"id":62977,"mutability":"mutable","name":"cv","nameLocation":"8060:2:97","nodeType":"VariableDeclaration","scope":63011,"src":"8049:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":62976,"nodeType":"UserDefinedTypeName","pathNode":{"id":62975,"name":"CVStrategy","nameLocations":["8049:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"8049:10:97"},"referencedDeclaration":61025,"src":"8049:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":62988,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":62983,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62905,"src":"8092:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":62984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8097:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"8092:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":62982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8084:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62981,"name":"address","nodeType":"ElementaryTypeName","src":"8084:7:97","typeDescriptions":{}}},"id":62985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8084:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":62980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8076:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":62979,"name":"address","nodeType":"ElementaryTypeName","src":"8076:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":62986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":62978,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8065:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":62987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"8049:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":62992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8153:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":62995,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8164:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":62994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8156:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":62993,"name":"address","nodeType":"ElementaryTypeName","src":"8156:7:97","typeDescriptions":{}}},"id":62996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":62990,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62977,"src":"8128:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":62991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8131:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"8128:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":62997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8128:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":62998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8172:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65416d6f756e74","id":62999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8175:18:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""},"value":"VoterStakeAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_b7f5ed3531f77866b5441344104e4c91b184dd582361e3232c593d0123bc0c83","typeString":"literal_string \"VoterStakeAmount\""}],"id":62989,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8119:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63001,"nodeType":"ExpressionStatement","src":"8119:75:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63003,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62977,"src":"8232:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8235:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"8232:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8232:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8263:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564416d6f756e74496e50726f706f73616c","id":63008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8266:29:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""},"value":"TotalStakedAmountInProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7dddf5eb943ae963f3daf3c869a6f2900d321422d197ee0f0ad4f3d7f863b514","typeString":"literal_string \"TotalStakedAmountInProposal\""}],"id":63002,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"8223:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8223:73:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63010,"nodeType":"ExpressionStatement","src":"8223:73:97"}]},"functionSelector":"d97d0578","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_allocate_removeSupport_wo_support_before_SUPPORT_UNDERFLOW","nameLocation":"7411:69:97","parameters":{"id":62899,"nodeType":"ParameterList","parameters":[],"src":"7480:2:97"},"returnParameters":{"id":62900,"nodeType":"ParameterList","parameters":[],"src":"7490:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63068,"nodeType":"FunctionDefinition","src":"8309:519:97","nodes":[],"body":{"id":63067,"nodeType":"Block","src":"8379:449:97","nodes":[],"statements":[{"assignments":[null,63016],"declarations":[null,{"constant":false,"id":63016,"mutability":"mutable","name":"poolId","nameLocation":"8400:6:97","nodeType":"VariableDeclaration","scope":63067,"src":"8392:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63015,"name":"uint256","nodeType":"ElementaryTypeName","src":"8392:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63022,"initialValue":{"arguments":[{"id":63018,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8426:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8434:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8437:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63017,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"8410:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8410:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8389:50:97"},{"assignments":[63027],"declarations":[{"constant":false,"id":63027,"mutability":"mutable","name":"proposal","nameLocation":"8483:8:97","nodeType":"VariableDeclaration","scope":63067,"src":"8450:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":63026,"nodeType":"UserDefinedTypeName","pathNode":{"id":63025,"name":"CVStrategy.CreateProposal","nameLocations":["8450:10:97","8461:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"8450:25:97"},"referencedDeclaration":59158,"src":"8450:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":63040,"initialValue":{"arguments":[{"hexValue":"31","id":63030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8533:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63031,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63016,"src":"8536:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":63032,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"8544:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":63033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":63034,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8558:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8569:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"8558:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":63036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8582:9:97","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"8558:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"id":63037,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62281,"src":"8593:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63038,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8611:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63028,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8494:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8505:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"8494:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":63039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8494:133:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"8450:177:97"},{"assignments":[63042],"declarations":[{"constant":false,"id":63042,"mutability":"mutable","name":"data","nameLocation":"8650:4:97","nodeType":"VariableDeclaration","scope":63067,"src":"8637:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63041,"name":"bytes","nodeType":"ElementaryTypeName","src":"8637:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63047,"initialValue":{"arguments":[{"id":63045,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63027,"src":"8668:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":63043,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8657:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8661:6:97","memberName":"encode","nodeType":"MemberAccess","src":"8657:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8657:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8637:40:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":63053,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"8726:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8737:22:97","memberName":"ProposalIdAlreadyExist","nodeType":"MemberAccess","referencedDeclaration":59112,"src":"8726:33:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":63055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8760:8:97","memberName":"selector","nodeType":"MemberAccess","src":"8726:42:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"31","id":63056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8770:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63051,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8703:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8707:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8703:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8703:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":63048,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"8687:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":63050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8690:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"8687:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":63058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8687:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63059,"nodeType":"ExpressionStatement","src":"8687:86:97"},{"expression":{"arguments":[{"id":63063,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63016,"src":"8808:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63064,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63042,"src":"8816:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63060,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"8783:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"8783:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":63065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8783:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63066,"nodeType":"ExpressionStatement","src":"8783:38:97"}]},"functionSelector":"9a45ff89","implemented":true,"kind":"function","modifiers":[],"name":"testRevert_registerRecipient_ProposalIdAlreadyExist","nameLocation":"8318:51:97","parameters":{"id":63013,"nodeType":"ParameterList","parameters":[],"src":"8369:2:97"},"returnParameters":{"id":63014,"nodeType":"ParameterList","parameters":[],"src":"8379:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63228,"nodeType":"FunctionDefinition","src":"8834:1541:97","nodes":[],"body":{"id":63227,"nodeType":"Block","src":"8890:1485:97","nodes":[],"statements":[{"assignments":[63075,63077],"declarations":[{"constant":false,"id":63075,"mutability":"mutable","name":"pool","nameLocation":"8919:4:97","nodeType":"VariableDeclaration","scope":63227,"src":"8901:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63074,"nodeType":"UserDefinedTypeName","pathNode":{"id":63073,"name":"IAllo.Pool","nameLocations":["8901:5:97","8907:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"8901:10:97"},"referencedDeclaration":2319,"src":"8901:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63077,"mutability":"mutable","name":"poolId","nameLocation":"8933:6:97","nodeType":"VariableDeclaration","scope":63227,"src":"8925:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63076,"name":"uint256","nodeType":"ElementaryTypeName","src":"8925:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63083,"initialValue":{"arguments":[{"id":63079,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"8959:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8967:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8970:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63078,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"8943:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8943:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8900:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9044:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63084,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"9026:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9026:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63087,"nodeType":"ExpressionStatement","src":"9026:39:97"},{"assignments":[63093],"declarations":[{"constant":false,"id":63093,"mutability":"mutable","name":"votes","nameLocation":"9111:5:97","nodeType":"VariableDeclaration","scope":63227,"src":"9075:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63091,"nodeType":"UserDefinedTypeName","pathNode":{"id":63090,"name":"CVStrategy.ProposalSupport","nameLocations":["9075:10:97","9086:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9075:26:97"},"referencedDeclaration":59201,"src":"9075:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63092,"nodeType":"ArrayTypeName","src":"9075:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63100,"initialValue":{"arguments":[{"hexValue":"31","id":63098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9152:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9119:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63095,"nodeType":"UserDefinedTypeName","pathNode":{"id":63094,"name":"CVStrategy.ProposalSupport","nameLocations":["9123:10:97","9134:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9123:26:97"},"referencedDeclaration":59201,"src":"9123:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63096,"nodeType":"ArrayTypeName","src":"9123:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9119:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9075:79:97"},{"expression":{"id":63109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63101,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63093,"src":"9164:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63103,"indexExpression":{"hexValue":"30","id":63102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9170:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9164:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9202:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":63107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9205:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":63104,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"9175:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9186:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"9175:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9175:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"9164:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63110,"nodeType":"ExpressionStatement","src":"9164:44:97"},{"assignments":[63112],"declarations":[{"constant":false,"id":63112,"mutability":"mutable","name":"data","nameLocation":"9271:4:97","nodeType":"VariableDeclaration","scope":63227,"src":"9258:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63111,"name":"bytes","nodeType":"ElementaryTypeName","src":"9258:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63117,"initialValue":{"arguments":[{"id":63115,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63093,"src":"9289:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63113,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9278:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9282:6:97","memberName":"encode","nodeType":"MemberAccess","src":"9278:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9278:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9258:37:97"},{"expression":{"arguments":[{"id":63121,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63077,"src":"9322:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63122,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63112,"src":"9330:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63118,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"9306:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9313:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"9306:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9306:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63124,"nodeType":"ExpressionStatement","src":"9306:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63125,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"9346:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63127,"nodeType":"ExpressionStatement","src":"9346:18:97"},{"assignments":[63129],"declarations":[{"constant":false,"id":63129,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"9382:13:97","nodeType":"VariableDeclaration","scope":63227,"src":"9374:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63128,"name":"uint256","nodeType":"ElementaryTypeName","src":"9374:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63135,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":63130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9398:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63131,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"9403:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9398:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9419:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9398:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9374:48:97"},{"assignments":[63138],"declarations":[{"constant":false,"id":63138,"mutability":"mutable","name":"cv","nameLocation":"9443:2:97","nodeType":"VariableDeclaration","scope":63227,"src":"9432:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63137,"nodeType":"UserDefinedTypeName","pathNode":{"id":63136,"name":"CVStrategy","nameLocations":["9432:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"9432:10:97"},"referencedDeclaration":61025,"src":"9432:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63149,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63144,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63075,"src":"9475:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9480:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"9475:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9467:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63142,"name":"address","nodeType":"ElementaryTypeName","src":"9467:7:97","typeDescriptions":{}}},"id":63146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9467:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9459:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63140,"name":"address","nodeType":"ElementaryTypeName","src":"9459:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9459:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63139,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"9448:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9448:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"9432:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9535:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63156,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9546:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":63155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9538:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63154,"name":"address","nodeType":"ElementaryTypeName","src":"9538:7:97","typeDescriptions":{}}},"id":63157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9538:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63151,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63138,"src":"9510:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9513:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"9510:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9510:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63159,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63129,"src":"9554:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63150,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9501:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63161,"nodeType":"ExpressionStatement","src":"9501:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9632:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63163,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63138,"src":"9605:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9608:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"9605:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9605:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63167,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63129,"src":"9636:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63162,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"9596:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9596:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63169,"nodeType":"ExpressionStatement","src":"9596:54:97"},{"assignments":[63175],"declarations":[{"constant":false,"id":63175,"mutability":"mutable","name":"votes2","nameLocation":"9956:6:97","nodeType":"VariableDeclaration","scope":63227,"src":"9920:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63173,"nodeType":"UserDefinedTypeName","pathNode":{"id":63172,"name":"CVStrategy.ProposalSupport","nameLocations":["9920:10:97","9931:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9920:26:97"},"referencedDeclaration":59201,"src":"9920:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63174,"nodeType":"ArrayTypeName","src":"9920:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":63182,"initialValue":{"arguments":[{"hexValue":"31","id":63180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9998:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9965:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63177,"nodeType":"UserDefinedTypeName","pathNode":{"id":63176,"name":"CVStrategy.ProposalSupport","nameLocations":["9969:10:97","9980:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"9969:26:97"},"referencedDeclaration":59201,"src":"9969:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63178,"nodeType":"ArrayTypeName","src":"9969:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9965:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9920:80:97"},{"expression":{"id":63191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63183,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63175,"src":"10010:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63185,"indexExpression":{"hexValue":"30","id":63184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10017:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10010:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10049:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3230","id":63189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:97","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"}],"expression":{"id":63186,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"10022:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10033:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"10022:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10022:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10010:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63192,"nodeType":"ExpressionStatement","src":"10010:45:97"},{"expression":{"id":63198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63193,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63112,"src":"10065:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63196,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63175,"src":"10083:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63194,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10072:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10076:6:97","memberName":"encode","nodeType":"MemberAccess","src":"10072:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10072:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"10065:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63199,"nodeType":"ExpressionStatement","src":"10065:25:97"},{"expression":{"arguments":[{"id":63203,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63077,"src":"10167:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63204,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63112,"src":"10175:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63200,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"10151:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10158:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"10151:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10151:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63206,"nodeType":"ExpressionStatement","src":"10151:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10252:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63213,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10263:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":63212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10255:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63211,"name":"address","nodeType":"ElementaryTypeName","src":"10255:7:97","typeDescriptions":{}}},"id":63214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10255:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63208,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63138,"src":"10227:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10230:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"10227:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63216,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"10271:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63207,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10218:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10218:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63218,"nodeType":"ExpressionStatement","src":"10218:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10350:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63220,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63138,"src":"10323:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10326:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"10323:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10323:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63224,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"10354:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63219,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"10314:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10314:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63226,"nodeType":"ExpressionStatement","src":"10314:54:97"}]},"functionSelector":"d25bba07","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_change_support","nameLocation":"8843:37:97","parameters":{"id":63069,"nodeType":"ParameterList","parameters":[],"src":"8880:2:97"},"returnParameters":{"id":63070,"nodeType":"ParameterList","parameters":[],"src":"8890:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63396,"nodeType":"FunctionDefinition","src":"10381:1258:97","nodes":[],"body":{"id":63395,"nodeType":"Block","src":"10430:1209:97","nodes":[],"statements":[{"assignments":[63235,63237],"declarations":[{"constant":false,"id":63235,"mutability":"mutable","name":"pool","nameLocation":"10459:4:97","nodeType":"VariableDeclaration","scope":63395,"src":"10441:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63234,"nodeType":"UserDefinedTypeName","pathNode":{"id":63233,"name":"IAllo.Pool","nameLocations":["10441:5:97","10447:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"10441:10:97"},"referencedDeclaration":2319,"src":"10441:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63237,"mutability":"mutable","name":"poolId","nameLocation":"10473:6:97","nodeType":"VariableDeclaration","scope":63395,"src":"10465:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63236,"name":"uint256","nodeType":"ElementaryTypeName","src":"10465:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63243,"initialValue":{"arguments":[{"id":63239,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"10499:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10507:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10510:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63238,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"10483:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"10440:72:97"},{"assignments":[63246],"declarations":[{"constant":false,"id":63246,"mutability":"mutable","name":"cv","nameLocation":"10534:2:97","nodeType":"VariableDeclaration","scope":63395,"src":"10523:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63245,"nodeType":"UserDefinedTypeName","pathNode":{"id":63244,"name":"CVStrategy","nameLocations":["10523:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"10523:10:97"},"referencedDeclaration":61025,"src":"10523:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63257,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63252,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63235,"src":"10566:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10571:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"10566:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10558:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63250,"name":"address","nodeType":"ElementaryTypeName","src":"10558:7:97","typeDescriptions":{}}},"id":63254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10550:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63248,"name":"address","nodeType":"ElementaryTypeName","src":"10550:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63247,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"10539:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10539:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"10523:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10619:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63261,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"10605:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63258,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63246,"src":"10593:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10596:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"10593:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63265,"nodeType":"ExpressionStatement","src":"10593:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10686:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63269,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"10672:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10672:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63266,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63246,"src":"10657:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10660:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"10657:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63273,"nodeType":"ExpressionStatement","src":"10657:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10753:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63277,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"10739:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10739:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63274,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63246,"src":"10726:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10729:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"10726:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63281,"nodeType":"ExpressionStatement","src":"10726:40:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10859:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63282,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"10841:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63285,"nodeType":"ExpressionStatement","src":"10841:39:97"},{"assignments":[63291],"declarations":[{"constant":false,"id":63291,"mutability":"mutable","name":"votes","nameLocation":"10926:5:97","nodeType":"VariableDeclaration","scope":63395,"src":"10890:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63289,"nodeType":"UserDefinedTypeName","pathNode":{"id":63288,"name":"CVStrategy.ProposalSupport","nameLocations":["10890:10:97","10901:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"10890:26:97"},"referencedDeclaration":59201,"src":"10890:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63290,"nodeType":"ArrayTypeName","src":"10890:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63298,"initialValue":{"arguments":[{"hexValue":"31","id":63296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10967:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10934:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63293,"nodeType":"UserDefinedTypeName","pathNode":{"id":63292,"name":"CVStrategy.ProposalSupport","nameLocations":["10938:10:97","10949:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"10938:26:97"},"referencedDeclaration":59201,"src":"10938:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63294,"nodeType":"ArrayTypeName","src":"10938:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10890:79:97"},{"expression":{"id":63307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63299,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"10979:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63301,"indexExpression":{"hexValue":"30","id":63300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10985:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10979:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11017:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"3830","id":63305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11020:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"}],"expression":{"id":63302,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"10990:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11001:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"10990:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10990:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"10979:44:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63308,"nodeType":"ExpressionStatement","src":"10979:44:97"},{"assignments":[63310],"declarations":[{"constant":false,"id":63310,"mutability":"mutable","name":"data","nameLocation":"11046:4:97","nodeType":"VariableDeclaration","scope":63395,"src":"11033:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63309,"name":"bytes","nodeType":"ElementaryTypeName","src":"11033:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63315,"initialValue":{"arguments":[{"id":63313,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63291,"src":"11064:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11053:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11057:6:97","memberName":"encode","nodeType":"MemberAccess","src":"11053:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11033:37:97"},{"expression":{"arguments":[{"id":63319,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63237,"src":"11096:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63320,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63310,"src":"11104:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63316,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"11080:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11087:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"11080:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11080:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63322,"nodeType":"ExpressionStatement","src":"11080:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63323,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"11119:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11119:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63325,"nodeType":"ExpressionStatement","src":"11119:18:97"},{"assignments":[63327],"declarations":[{"constant":false,"id":63327,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"11156:13:97","nodeType":"VariableDeclaration","scope":63395,"src":"11148:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63326,"name":"uint256","nodeType":"ElementaryTypeName","src":"11148:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63333,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":63330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3830","id":63328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":63329,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"11177:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11172:18:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":63331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11193:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"11172:24:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11148:48:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11240:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63340,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11251:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":63339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11243:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63338,"name":"address","nodeType":"ElementaryTypeName","src":"11243:7:97","typeDescriptions":{}}},"id":63341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11243:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63335,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63246,"src":"11215:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11218:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"11215:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11215:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63343,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63327,"src":"11259:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63334,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11206:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11206:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63345,"nodeType":"ExpressionStatement","src":"11206:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11319:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63347,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63246,"src":"11292:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11295:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"11292:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63351,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63327,"src":"11323:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63346,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11283:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11283:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63353,"nodeType":"ExpressionStatement","src":"11283:54:97"},{"assignments":[63355],"declarations":[{"constant":false,"id":63355,"mutability":"mutable","name":"cv_amount","nameLocation":"11356:9:97","nodeType":"VariableDeclaration","scope":63395,"src":"11348:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63354,"name":"uint256","nodeType":"ElementaryTypeName","src":"11348:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63362,"initialValue":{"arguments":[{"hexValue":"3130","id":63358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11391:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11395:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63360,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63327,"src":"11398:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63356,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63246,"src":"11368:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11371:19:97","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":60618,"src":"11368:22:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":63361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11368:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11348:64:97"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":63366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11434:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":63367,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63355,"src":"11451:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63363,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"11422:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"11422:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11422:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63369,"nodeType":"ExpressionStatement","src":"11422:39:97"},{"assignments":[63371],"declarations":[{"constant":false,"id":63371,"mutability":"mutable","name":"cv_cmp","nameLocation":"11479:6:97","nodeType":"VariableDeclaration","scope":63395,"src":"11471:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63370,"name":"uint256","nodeType":"ElementaryTypeName","src":"11471:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63382,"initialValue":{"arguments":[{"hexValue":"3130","id":63373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11509:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63375,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63327,"src":"11516:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":63380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":63376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11531:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":63379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":63377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11543:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":63378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:2:97","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"11543:8:97","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"11531:20:97","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":63372,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62207,"src":"11488:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":63381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11488:64:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11471:81:97"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":63386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11574:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":63387,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63371,"src":"11588:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63383,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"11562:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11570:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"11562:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63389,"nodeType":"ExpressionStatement","src":"11562:33:97"},{"expression":{"arguments":[{"id":63391,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63355,"src":"11614:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63392,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63371,"src":"11625:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63390,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"11605:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11605:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63394,"nodeType":"ExpressionStatement","src":"11605:27:97"}]},"functionSelector":"de8a1354","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_function","nameLocation":"10390:30:97","parameters":{"id":63229,"nodeType":"ParameterList","parameters":[],"src":"10420:2:97"},"returnParameters":{"id":63230,"nodeType":"ParameterList","parameters":[],"src":"10430:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63609,"nodeType":"FunctionDefinition","src":"11645:1898:97","nodes":[],"body":{"id":63608,"nodeType":"Block","src":"11696:1847:97","nodes":[],"statements":[{"assignments":[63403,63405],"declarations":[{"constant":false,"id":63403,"mutability":"mutable","name":"pool","nameLocation":"11725:4:97","nodeType":"VariableDeclaration","scope":63608,"src":"11707:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63402,"nodeType":"UserDefinedTypeName","pathNode":{"id":63401,"name":"IAllo.Pool","nameLocations":["11707:5:97","11713:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"11707:10:97"},"referencedDeclaration":2319,"src":"11707:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63405,"mutability":"mutable","name":"poolId","nameLocation":"11739:6:97","nodeType":"VariableDeclaration","scope":63608,"src":"11731:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63404,"name":"uint256","nodeType":"ElementaryTypeName","src":"11731:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63411,"initialValue":{"arguments":[{"id":63407,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"11765:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11773:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11776:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63406,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"11749:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11749:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"11706:72:97"},{"assignments":[63414],"declarations":[{"constant":false,"id":63414,"mutability":"mutable","name":"cv","nameLocation":"11800:2:97","nodeType":"VariableDeclaration","scope":63608,"src":"11789:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63413,"nodeType":"UserDefinedTypeName","pathNode":{"id":63412,"name":"CVStrategy","nameLocations":["11789:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"11789:10:97"},"referencedDeclaration":61025,"src":"11789:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63425,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63420,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63403,"src":"11832:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11837:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"11832:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11824:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63418,"name":"address","nodeType":"ElementaryTypeName","src":"11824:7:97","typeDescriptions":{}}},"id":63422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11824:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11816:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63416,"name":"address","nodeType":"ElementaryTypeName","src":"11816:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11816:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63415,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"11805:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11805:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"11789:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11885:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63429,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"11871:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11871:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63426,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63414,"src":"11859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11862:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"11859:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11859:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63433,"nodeType":"ExpressionStatement","src":"11859:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11952:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63437,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"11938:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11938:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63434,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63414,"src":"11923:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11926:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"11923:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11923:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63441,"nodeType":"ExpressionStatement","src":"11923:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12019:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63445,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"12005:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63442,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63414,"src":"11992:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11995:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"11992:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11992:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63449,"nodeType":"ExpressionStatement","src":"11992:40:97"},{"assignments":[63451],"declarations":[{"constant":false,"id":63451,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"12071:13:97","nodeType":"VariableDeclaration","scope":63608,"src":"12063:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63450,"name":"uint256","nodeType":"ElementaryTypeName","src":"12063:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63453,"initialValue":{"hexValue":"3435303030","id":63452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12087:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"12063:29:97"},{"expression":{"arguments":[{"arguments":[{"id":63457,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"12199:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12191:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63455,"name":"address","nodeType":"ElementaryTypeName","src":"12191:7:97","typeDescriptions":{}}},"id":63458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12229:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63462,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"12267:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12283:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"12267:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12304:8:97","memberName":"selector","nodeType":"MemberAccess","src":"12267:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63465,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63451,"src":"12314:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12244:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12248:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12244:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12244:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63454,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65846,"src":"12167:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12167:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63468,"nodeType":"ExpressionStatement","src":"12167:171:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12409:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63469,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"12391:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12391:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63472,"nodeType":"ExpressionStatement","src":"12391:39:97"},{"assignments":[63478],"declarations":[{"constant":false,"id":63478,"mutability":"mutable","name":"votes","nameLocation":"12476:5:97","nodeType":"VariableDeclaration","scope":63608,"src":"12440:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63476,"nodeType":"UserDefinedTypeName","pathNode":{"id":63475,"name":"CVStrategy.ProposalSupport","nameLocations":["12440:10:97","12451:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"12440:26:97"},"referencedDeclaration":59201,"src":"12440:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63477,"nodeType":"ArrayTypeName","src":"12440:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63485,"initialValue":{"arguments":[{"hexValue":"31","id":63483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12517:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12484:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63480,"nodeType":"UserDefinedTypeName","pathNode":{"id":63479,"name":"CVStrategy.ProposalSupport","nameLocations":["12488:10:97","12499:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"12488:26:97"},"referencedDeclaration":59201,"src":"12488:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63481,"nodeType":"ArrayTypeName","src":"12488:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12484:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12440:79:97"},{"expression":{"id":63494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63486,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63478,"src":"12529:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63488,"indexExpression":{"hexValue":"30","id":63487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12535:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12529:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12567:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12570:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63489,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"12540:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12551:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"12540:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12540:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"12529:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63495,"nodeType":"ExpressionStatement","src":"12529:45:97"},{"assignments":[63497],"declarations":[{"constant":false,"id":63497,"mutability":"mutable","name":"data","nameLocation":"12597:4:97","nodeType":"VariableDeclaration","scope":63608,"src":"12584:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63496,"name":"bytes","nodeType":"ElementaryTypeName","src":"12584:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63502,"initialValue":{"arguments":[{"id":63500,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63478,"src":"12615:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12604:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12608:6:97","memberName":"encode","nodeType":"MemberAccess","src":"12604:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12604:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12584:37:97"},{"expression":{"arguments":[{"id":63506,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63405,"src":"12647:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63507,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63497,"src":"12655:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63503,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"12631:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12638:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"12631:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12631:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63509,"nodeType":"ExpressionStatement","src":"12631:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63510,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"12670:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12670:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63512,"nodeType":"ExpressionStatement","src":"12670:18:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12733:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63519,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12744:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":63518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12736:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63517,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:97","typeDescriptions":{}}},"id":63520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12736:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63514,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63414,"src":"12708:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12711:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"12708:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12708:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63522,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63451,"src":"12752:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63513,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12699:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63524,"nodeType":"ExpressionStatement","src":"12699:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12812:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63526,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63414,"src":"12785:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12788:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"12785:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12785:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63530,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63451,"src":"12816:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63525,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"12776:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12776:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63532,"nodeType":"ExpressionStatement","src":"12776:54:97"},{"assignments":[63534],"declarations":[{"constant":false,"id":63534,"mutability":"mutable","name":"AMOUNT_STAKED_1","nameLocation":"12849:15:97","nodeType":"VariableDeclaration","scope":63608,"src":"12841:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63533,"name":"uint256","nodeType":"ElementaryTypeName","src":"12841:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63536,"initialValue":{"hexValue":"3135303030","id":63535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12867:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"},"nodeType":"VariableDeclarationStatement","src":"12841:31:97"},{"assignments":[63538],"declarations":[{"constant":false,"id":63538,"mutability":"mutable","name":"cv_amount","nameLocation":"12890:9:97","nodeType":"VariableDeclaration","scope":63608,"src":"12882:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63537,"name":"uint256","nodeType":"ElementaryTypeName","src":"12882:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63545,"initialValue":{"arguments":[{"hexValue":"3130","id":63541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12925:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12929:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63543,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"12932:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63539,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63414,"src":"12902:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12905:19:97","memberName":"calculateConviction","nodeType":"MemberAccess","referencedDeclaration":60618,"src":"12902:22:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":63544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12902:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12882:66:97"},{"expression":{"arguments":[{"hexValue":"63765f616d6f756e743a202573","id":63549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12971:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},"value":"cv_amount: %s"},{"id":63550,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"12988:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_351be379617cbd7c7bb36d6afe4360ddd366cf6c6447a2f5cd98c471338e4dca","typeString":"literal_string \"cv_amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63546,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"12959:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12967:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"12959:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12959:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63552,"nodeType":"ExpressionStatement","src":"12959:39:97"},{"assignments":[63554],"declarations":[{"constant":false,"id":63554,"mutability":"mutable","name":"cv_cmp","nameLocation":"13016:6:97","nodeType":"VariableDeclaration","scope":63608,"src":"13008:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63553,"name":"uint256","nodeType":"ElementaryTypeName","src":"13008:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63565,"initialValue":{"arguments":[{"hexValue":"3130","id":63556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13046:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"30","id":63557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13050:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":63558,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"13053:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"},"id":63563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"302e39","id":63559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13070:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":63562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":63560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13082:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":63561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13088:2:97","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"13082:8:97","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"13070:20:97","typeDescriptions":{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9000000_by_1","typeString":"int_const 9000000"}],"id":63555,"name":"_calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62207,"src":"13025:20:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256,uint256) pure returns (uint256)"}},"id":63564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13025:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13008:83:97"},{"expression":{"arguments":[{"hexValue":"63765f636d703a202573","id":63569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13113:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},"value":"cv_cmp: %s"},{"id":63570,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63554,"src":"13127:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8de17cfd229ecbab63eb1bd2b05bee8351839f1d4fb874f7096e5cb0bfac6464","typeString":"literal_string \"cv_cmp: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63566,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"13101:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13109:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"13101:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13101:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63572,"nodeType":"ExpressionStatement","src":"13101:33:97"},{"expression":{"arguments":[{"id":63574,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"13154:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63575,"name":"cv_cmp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63554,"src":"13165:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63573,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13145:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13145:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63577,"nodeType":"ExpressionStatement","src":"13145:27:97"},{"expression":{"arguments":[{"id":63579,"name":"AMOUNT_STAKED_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63534,"src":"13191:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3135303030","id":63580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13208:5:97","typeDescriptions":{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"},"value":"15000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_15000_by_1","typeString":"int_const 15000"}],"id":63578,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13182:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63582,"nodeType":"ExpressionStatement","src":"13182:32:97"},{"expression":{"arguments":[{"id":63584,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63451,"src":"13233:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":63585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13248:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":63583,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13224:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13224:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63587,"nodeType":"ExpressionStatement","src":"13224:30:97"},{"expression":{"arguments":[{"id":63589,"name":"cv_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63538,"src":"13273:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3937363938","id":63590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13284:5:97","typeDescriptions":{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"},"value":"97698"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_97698_by_1","typeString":"int_const 97698"}],"id":63588,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"13264:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13264:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63592,"nodeType":"ExpressionStatement","src":"13264:26:97"},{"expression":{"arguments":[{"arguments":[{"id":63596,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"13397:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13389:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63594,"name":"address","nodeType":"ElementaryTypeName","src":"13389:7:97","typeDescriptions":{}}},"id":63597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13389:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13427:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63601,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"13465:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13481:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"13465:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13502:8:97","memberName":"selector","nodeType":"MemberAccess","src":"13465:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63604,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"13512:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63599,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13442:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13446:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13442:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63593,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65846,"src":"13365:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13365:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63607,"nodeType":"ExpressionStatement","src":"13365:171:97"}]},"functionSelector":"90ff95a4","implemented":true,"kind":"function","modifiers":[],"name":"test_conviction_check_as_js_test","nameLocation":"11654:32:97","parameters":{"id":63397,"nodeType":"ParameterList","parameters":[],"src":"11686:2:97"},"returnParameters":{"id":63398,"nodeType":"ParameterList","parameters":[],"src":"11696:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63786,"nodeType":"FunctionDefinition","src":"13549:1626:97","nodes":[],"body":{"id":63785,"nodeType":"Block","src":"13608:1567:97","nodes":[],"statements":[{"assignments":[63616,63618],"declarations":[{"constant":false,"id":63616,"mutability":"mutable","name":"pool","nameLocation":"13637:4:97","nodeType":"VariableDeclaration","scope":63785,"src":"13619:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63615,"nodeType":"UserDefinedTypeName","pathNode":{"id":63614,"name":"IAllo.Pool","nameLocations":["13619:5:97","13625:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13619:10:97"},"referencedDeclaration":2319,"src":"13619:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63618,"mutability":"mutable","name":"poolId","nameLocation":"13651:6:97","nodeType":"VariableDeclaration","scope":63785,"src":"13643:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63617,"name":"uint256","nodeType":"ElementaryTypeName","src":"13643:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63624,"initialValue":{"arguments":[{"id":63620,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"13677:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13685:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13688:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63619,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"13661:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13661:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"13618:72:97"},{"assignments":[63627],"declarations":[{"constant":false,"id":63627,"mutability":"mutable","name":"cv","nameLocation":"13712:2:97","nodeType":"VariableDeclaration","scope":63785,"src":"13701:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63626,"nodeType":"UserDefinedTypeName","pathNode":{"id":63625,"name":"CVStrategy","nameLocations":["13701:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"13701:10:97"},"referencedDeclaration":61025,"src":"13701:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63638,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63633,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63616,"src":"13744:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"13744:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13736:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63631,"name":"address","nodeType":"ElementaryTypeName","src":"13736:7:97","typeDescriptions":{}}},"id":63635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13736:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13728:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63629,"name":"address","nodeType":"ElementaryTypeName","src":"13728:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13728:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63628,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"13717:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"13701:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39","id":63643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13797:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"},"value":"0.9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_900000000000000000_by_1","typeString":"int_const 900000000000000000"}],"id":63642,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"13783:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13783:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63639,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63627,"src":"13771:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13774:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"13771:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13771:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63646,"nodeType":"ExpressionStatement","src":"13771:37:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e32","id":63651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13864:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":63650,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"13850:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13850:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63647,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63627,"src":"13835:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13838:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"13835:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13835:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63654,"nodeType":"ExpressionStatement","src":"13835:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e303032","id":63659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13931:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"},"value":"0.002"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2000000000000000_by_1","typeString":"int_const 2000000000000000"}],"id":63658,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"13917:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":63660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13917:26:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63655,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63627,"src":"13904:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13907:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"13904:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13904:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63662,"nodeType":"ExpressionStatement","src":"13904:40:97"},{"expression":{"arguments":[{"arguments":[{"id":63666,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"14063:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14055:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63664,"name":"address","nodeType":"ElementaryTypeName","src":"14055:7:97","typeDescriptions":{}}},"id":63667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14055:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14081:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63671,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"14107:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14123:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"14107:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14144:8:97","memberName":"selector","nodeType":"MemberAccess","src":"14107:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":63674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14154:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":63669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14084:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14088:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14084:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14084:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63663,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65846,"src":"14031:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14031:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63677,"nodeType":"ExpressionStatement","src":"14031:139:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14241:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63678,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"14223:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14223:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63681,"nodeType":"ExpressionStatement","src":"14223:39:97"},{"assignments":[63687],"declarations":[{"constant":false,"id":63687,"mutability":"mutable","name":"votes","nameLocation":"14308:5:97","nodeType":"VariableDeclaration","scope":63785,"src":"14272:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63685,"nodeType":"UserDefinedTypeName","pathNode":{"id":63684,"name":"CVStrategy.ProposalSupport","nameLocations":["14272:10:97","14283:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"14272:26:97"},"referencedDeclaration":59201,"src":"14272:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63686,"nodeType":"ArrayTypeName","src":"14272:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63694,"initialValue":{"arguments":[{"hexValue":"31","id":63692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14349:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"14316:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63689,"nodeType":"UserDefinedTypeName","pathNode":{"id":63688,"name":"CVStrategy.ProposalSupport","nameLocations":["14320:10:97","14331:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"14320:26:97"},"referencedDeclaration":59201,"src":"14320:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63690,"nodeType":"ArrayTypeName","src":"14320:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14316:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14272:79:97"},{"expression":{"id":63703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63695,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63687,"src":"14361:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63697,"indexExpression":{"hexValue":"30","id":63696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14367:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14361:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14399:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14402:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63698,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"14372:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14383:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"14372:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14372:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"14361:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63704,"nodeType":"ExpressionStatement","src":"14361:45:97"},{"assignments":[63706],"declarations":[{"constant":false,"id":63706,"mutability":"mutable","name":"data","nameLocation":"14450:4:97","nodeType":"VariableDeclaration","scope":63785,"src":"14437:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63705,"name":"bytes","nodeType":"ElementaryTypeName","src":"14437:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63711,"initialValue":{"arguments":[{"id":63709,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63687,"src":"14468:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63707,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14457:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14461:6:97","memberName":"encode","nodeType":"MemberAccess","src":"14457:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14437:37:97"},{"expression":{"arguments":[{"id":63715,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63618,"src":"14500:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63716,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"14508:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63712,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"14484:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14491:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"14484:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14484:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63718,"nodeType":"ExpressionStatement","src":"14484:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63719,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"14523:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":63720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63721,"nodeType":"ExpressionStatement","src":"14523:18:97"},{"assignments":[63723],"declarations":[{"constant":false,"id":63723,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"14560:13:97","nodeType":"VariableDeclaration","scope":63785,"src":"14552:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63722,"name":"uint256","nodeType":"ElementaryTypeName","src":"14552:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63725,"initialValue":{"hexValue":"3435303030","id":63724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14576:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"14552:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14625:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63732,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14636:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":63731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14628:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63730,"name":"address","nodeType":"ElementaryTypeName","src":"14628:7:97","typeDescriptions":{}}},"id":63733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14628:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63727,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63627,"src":"14600:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14603:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"14600:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14600:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63735,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63723,"src":"14644:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63726,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14591:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14591:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63737,"nodeType":"ExpressionStatement","src":"14591:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14722:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63739,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63627,"src":"14695:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14698:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"14695:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63743,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63723,"src":"14726:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63738,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14686:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14686:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63745,"nodeType":"ExpressionStatement","src":"14686:54:97"},{"assignments":[63747],"declarations":[{"constant":false,"id":63747,"mutability":"mutable","name":"ct1","nameLocation":"14777:3:97","nodeType":"VariableDeclaration","scope":63785,"src":"14769:11:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63746,"name":"uint256","nodeType":"ElementaryTypeName","src":"14769:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63752,"initialValue":{"arguments":[{"hexValue":"31303030","id":63750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:4:97","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":63748,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63627,"src":"14783:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14786:18:97","memberName":"calculateThreshold","nodeType":"MemberAccess","referencedDeclaration":60713,"src":"14783:21:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14783:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14769:41:97"},{"expression":{"arguments":[{"hexValue":"7468726573686f6c64202573","id":63756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14832:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},"value":"threshold %s"},{"id":63757,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63747,"src":"14848:3:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7312e8d45076047c7d505f8aa289fbc4a505035ccc8f8377ba02bbcd9e7bb8e5","typeString":"literal_string \"threshold %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63753,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"14820:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":63755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14828:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"14820:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":63758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14820:32:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63759,"nodeType":"ExpressionStatement","src":"14820:32:97"},{"expression":{"arguments":[{"id":63761,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63723,"src":"14871:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3435303030","id":63762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14886:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"id":63760,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14862:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14862:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63764,"nodeType":"ExpressionStatement","src":"14862:30:97"},{"expression":{"arguments":[{"id":63766,"name":"ct1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63747,"src":"14911:3:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3530363235","id":63767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14916:5:97","typeDescriptions":{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"},"value":"50625"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_50625_by_1","typeString":"int_const 50625"}],"id":63765,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"14902:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63769,"nodeType":"ExpressionStatement","src":"14902:20:97"},{"expression":{"arguments":[{"arguments":[{"id":63773,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"15029:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15021:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63771,"name":"address","nodeType":"ElementaryTypeName","src":"15021:7:97","typeDescriptions":{}}},"id":63774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15021:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15059:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63778,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"15097:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15113:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"15097:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15134:8:97","memberName":"selector","nodeType":"MemberAccess","src":"15097:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63781,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"15144:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15074:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15078:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15074:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15074:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63770,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65846,"src":"14997:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14997:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63784,"nodeType":"ExpressionStatement","src":"14997:171:97"}]},"functionSelector":"a6f2b82f","implemented":true,"kind":"function","modifiers":[],"name":"disabled_test_threshold_check_as_js_test","nameLocation":"13558:40:97","parameters":{"id":63610,"nodeType":"ParameterList","parameters":[],"src":"13598:2:97"},"returnParameters":{"id":63611,"nodeType":"ParameterList","parameters":[],"src":"13608:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":63963,"nodeType":"FunctionDefinition","src":"15181:1522:97","nodes":[],"body":{"id":63962,"nodeType":"Block","src":"15224:1479:97","nodes":[],"statements":[{"assignments":[63793,63795],"declarations":[{"constant":false,"id":63793,"mutability":"mutable","name":"pool","nameLocation":"15253:4:97","nodeType":"VariableDeclaration","scope":63962,"src":"15235:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63792,"nodeType":"UserDefinedTypeName","pathNode":{"id":63791,"name":"IAllo.Pool","nameLocations":["15235:5:97","15241:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"15235:10:97"},"referencedDeclaration":2319,"src":"15235:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63795,"mutability":"mutable","name":"poolId","nameLocation":"15267:6:97","nodeType":"VariableDeclaration","scope":63962,"src":"15259:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63794,"name":"uint256","nodeType":"ElementaryTypeName","src":"15259:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63801,"initialValue":{"arguments":[{"id":63797,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"15293:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15301:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15304:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63796,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"15277:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15277:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"15234:72:97"},{"expression":{"arguments":[{"arguments":[{"id":63805,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"15404:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15396:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63803,"name":"address","nodeType":"ElementaryTypeName","src":"15396:7:97","typeDescriptions":{}}},"id":63806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15396:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15422:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63810,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"15448:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15464:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"15448:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15485:8:97","memberName":"selector","nodeType":"MemberAccess","src":"15448:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"3435303030","id":63813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15495:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"}],"expression":{"id":63808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15425:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15429:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15425:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15425:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63802,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65846,"src":"15372:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15372:139:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63816,"nodeType":"ExpressionStatement","src":"15372:139:97"},{"assignments":[63822],"declarations":[{"constant":false,"id":63822,"mutability":"mutable","name":"votes","nameLocation":"15652:5:97","nodeType":"VariableDeclaration","scope":63962,"src":"15616:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63820,"nodeType":"UserDefinedTypeName","pathNode":{"id":63819,"name":"CVStrategy.ProposalSupport","nameLocations":["15616:10:97","15627:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"15616:26:97"},"referencedDeclaration":59201,"src":"15616:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63821,"nodeType":"ArrayTypeName","src":"15616:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"documentation":" ASSERTS","id":63829,"initialValue":{"arguments":[{"hexValue":"31","id":63827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15693:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":63826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15660:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63824,"nodeType":"UserDefinedTypeName","pathNode":{"id":63823,"name":"CVStrategy.ProposalSupport","nameLocations":["15664:10:97","15675:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"15664:26:97"},"referencedDeclaration":59201,"src":"15664:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63825,"nodeType":"ArrayTypeName","src":"15664:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15660:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15616:79:97"},{"expression":{"id":63838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63830,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63822,"src":"15705:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63832,"indexExpression":{"hexValue":"30","id":63831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15711:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15705:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15743:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":63836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15746:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63833,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"15716:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15727:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"15716:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15716:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"15705:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63839,"nodeType":"ExpressionStatement","src":"15705:45:97"},{"assignments":[63841],"declarations":[{"constant":false,"id":63841,"mutability":"mutable","name":"data","nameLocation":"15773:4:97","nodeType":"VariableDeclaration","scope":63962,"src":"15760:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63840,"name":"bytes","nodeType":"ElementaryTypeName","src":"15760:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63846,"initialValue":{"arguments":[{"id":63844,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63822,"src":"15791:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15780:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15784:6:97","memberName":"encode","nodeType":"MemberAccess","src":"15780:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15780:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15760:37:97"},{"expression":{"arguments":[{"id":63850,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63795,"src":"15823:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63851,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63841,"src":"15831:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63847,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"15807:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15814:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"15807:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15807:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63853,"nodeType":"ExpressionStatement","src":"15807:29:97"},{"assignments":[63855],"declarations":[{"constant":false,"id":63855,"mutability":"mutable","name":"AMOUNT_STAKED","nameLocation":"15886:13:97","nodeType":"VariableDeclaration","scope":63962,"src":"15878:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63854,"name":"uint256","nodeType":"ElementaryTypeName","src":"15878:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63857,"initialValue":{"hexValue":"3435303030","id":63856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:5:97","typeDescriptions":{"typeIdentifier":"t_rational_45000_by_1","typeString":"int_const 45000"},"value":"45000"},"nodeType":"VariableDeclarationStatement","src":"15878:29:97"},{"assignments":[63860],"declarations":[{"constant":false,"id":63860,"mutability":"mutable","name":"cv","nameLocation":"15928:2:97","nodeType":"VariableDeclaration","scope":63962,"src":"15917:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":63859,"nodeType":"UserDefinedTypeName","pathNode":{"id":63858,"name":"CVStrategy","nameLocations":["15917:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"15917:10:97"},"referencedDeclaration":61025,"src":"15917:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":63871,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":63866,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63793,"src":"15960:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":63867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15965:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"15960:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":63865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15952:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63864,"name":"address","nodeType":"ElementaryTypeName","src":"15952:7:97","typeDescriptions":{}}},"id":63868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15952:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15944:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":63862,"name":"address","nodeType":"ElementaryTypeName","src":"15944:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":63869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15944:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":63861,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"15933:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"15917:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16020:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63878,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16031:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":63877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16023:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63876,"name":"address","nodeType":"ElementaryTypeName","src":"16023:7:97","typeDescriptions":{}}},"id":63879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16023:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63873,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63860,"src":"15995:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15998:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"15995:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15995:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63881,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63855,"src":"16039:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63872,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"15986:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15986:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63883,"nodeType":"ExpressionStatement","src":"15986:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16099:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63885,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63860,"src":"16072:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16075:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"16072:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16072:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63889,"name":"AMOUNT_STAKED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63855,"src":"16103:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":63884,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"16063:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":63890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16063:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63891,"nodeType":"ExpressionStatement","src":"16063:54:97"},{"expression":{"id":63901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63892,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63822,"src":"16128:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63894,"indexExpression":{"hexValue":"30","id":63893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16134:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16128:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":63897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16166:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":63899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"16169:4:97","subExpression":{"hexValue":"313030","id":63898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16170:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_minus_100_by_1","typeString":"int_const -100"}],"expression":{"id":63895,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"16139:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":63896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16150:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"16139:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":63900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16139:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"16128:46:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":63902,"nodeType":"ExpressionStatement","src":"16128:46:97"},{"expression":{"id":63908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63903,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63841,"src":"16184:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":63906,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63822,"src":"16202:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":63904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16191:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16195:6:97","memberName":"encode","nodeType":"MemberAccess","src":"16191:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":63907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"16184:24:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":63909,"nodeType":"ExpressionStatement","src":"16184:24:97"},{"expression":{"arguments":[{"id":63913,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63795,"src":"16234:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":63914,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63841,"src":"16242:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63910,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"16218:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":63911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":63912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16225:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"16218:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":63915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16218:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63916,"nodeType":"ExpressionStatement","src":"16218:29:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16292:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":63923,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16303:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":63922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16295:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63921,"name":"address","nodeType":"ElementaryTypeName","src":"16295:7:97","typeDescriptions":{}}},"id":63924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16295:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":63918,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63860,"src":"16267:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16270:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"16267:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":63925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16267:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16311:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"566f7465725374616b65","id":63927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16314:12:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""},"value":"VoterStake"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_9f531b452d5d4ff6da43afc7dd7ed2f7fa85fd866aa72f0148a58779e6b6cc59","typeString":"literal_string \"VoterStake\""}],"id":63917,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16258:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16258:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63929,"nodeType":"ExpressionStatement","src":"16258:69:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":63933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16373:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":63931,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63860,"src":"16346:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16349:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"16346:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":63934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16346:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16377:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"5374616b6564416d6f756e74","id":63936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16380:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""},"value":"StakedAmount"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_2cd7b2ba38320119a0ac7c05810d2f9cce9791161735dea058921ce424c4bbf1","typeString":"literal_string \"StakedAmount\""}],"id":63930,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16337:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16337:58:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63938,"nodeType":"ExpressionStatement","src":"16337:58:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":63940,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63860,"src":"16415:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":63941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16418:11:97","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":59239,"src":"16415:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":63942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16415:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":63943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16433:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"546f74616c5374616b6564","id":63944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16436:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""},"value":"TotalStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_dc88c137f5dd01bd16b5a48970eef92400e7e402ceaef5303ace5f9fa27ae5c0","typeString":"literal_string \"TotalStaked\""}],"id":63939,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"16406:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":63945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:44:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63946,"nodeType":"ExpressionStatement","src":"16406:44:97"},{"expression":{"arguments":[{"arguments":[{"id":63950,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"16557:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":63949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16549:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63948,"name":"address","nodeType":"ElementaryTypeName","src":"16549:7:97","typeDescriptions":{}}},"id":63951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16549:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16587:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":63955,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"16625:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":63956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16641:20:97","memberName":"setBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61769,"src":"16625:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":63957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16662:8:97","memberName":"selector","nodeType":"MemberAccess","src":"16625:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":63958,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"16672:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":63953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16602:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":63954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16606:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16602:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":63959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:84:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63947,"name":"safeHelper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65846,"src":"16525:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":63960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16525:171:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63961,"nodeType":"ExpressionStatement","src":"16525:171:97"}]},"functionSelector":"61164d4e","implemented":true,"kind":"function","modifiers":[],"name":"test_total_staked_amount","nameLocation":"15190:24:97","parameters":{"id":63787,"nodeType":"ParameterList","parameters":[],"src":"15214:2:97"},"returnParameters":{"id":63788,"nodeType":"ParameterList","parameters":[],"src":"15224:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64062,"nodeType":"FunctionDefinition","src":"16709:866:97","nodes":[],"body":{"id":64061,"nodeType":"Block","src":"16769:806:97","nodes":[],"statements":[{"assignments":[63970,63972],"declarations":[{"constant":false,"id":63970,"mutability":"mutable","name":"pool","nameLocation":"16798:4:97","nodeType":"VariableDeclaration","scope":64061,"src":"16780:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":63969,"nodeType":"UserDefinedTypeName","pathNode":{"id":63968,"name":"IAllo.Pool","nameLocations":["16780:5:97","16786:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"16780:10:97"},"referencedDeclaration":2319,"src":"16780:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":63972,"mutability":"mutable","name":"poolId","nameLocation":"16812:6:97","nodeType":"VariableDeclaration","scope":64061,"src":"16804:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63971,"name":"uint256","nodeType":"ElementaryTypeName","src":"16804:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":63978,"initialValue":{"arguments":[{"id":63974,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16838:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":63975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16846:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":63976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16849:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":63973,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"16822:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":63977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"16779:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":63980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16934:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":63979,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"16916:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":63981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63982,"nodeType":"ExpressionStatement","src":"16916:39:97"},{"assignments":[63988],"declarations":[{"constant":false,"id":63988,"mutability":"mutable","name":"votes","nameLocation":"17001:5:97","nodeType":"VariableDeclaration","scope":64061,"src":"16965:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":63986,"nodeType":"UserDefinedTypeName","pathNode":{"id":63985,"name":"CVStrategy.ProposalSupport","nameLocations":["16965:10:97","16976:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"16965:26:97"},"referencedDeclaration":59201,"src":"16965:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63987,"nodeType":"ArrayTypeName","src":"16965:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":63995,"initialValue":{"arguments":[{"hexValue":"32","id":63993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17042:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":63992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17009:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":63990,"nodeType":"UserDefinedTypeName","pathNode":{"id":63989,"name":"CVStrategy.ProposalSupport","nameLocations":["17013:10:97","17024:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"17013:26:97"},"referencedDeclaration":59201,"src":"17013:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":63991,"nodeType":"ArrayTypeName","src":"17013:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":63994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17009:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16965:79:97"},{"expression":{"id":64004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":63996,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63988,"src":"17054:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":63998,"indexExpression":{"hexValue":"30","id":63997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17060:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17054:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17092:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"313030","id":64002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17095:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":63999,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"17065:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17076:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"17065:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:34:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"17054:45:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64005,"nodeType":"ExpressionStatement","src":"17054:45:97"},{"expression":{"baseExpression":{"id":64006,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63988,"src":"17109:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64008,"indexExpression":{"hexValue":"31","id":64007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17115:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17109:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64009,"nodeType":"ExpressionStatement","src":"17109:8:97"},{"assignments":[64011],"declarations":[{"constant":false,"id":64011,"mutability":"mutable","name":"data","nameLocation":"17140:4:97","nodeType":"VariableDeclaration","scope":64061,"src":"17127:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64010,"name":"bytes","nodeType":"ElementaryTypeName","src":"17127:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64016,"initialValue":{"arguments":[{"id":64014,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63988,"src":"17158:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17147:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17151:6:97","memberName":"encode","nodeType":"MemberAccess","src":"17147:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17147:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17127:37:97"},{"expression":{"arguments":[{"id":64020,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63972,"src":"17296:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64021,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64011,"src":"17304:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64017,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"17280:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17287:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"17280:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64023,"nodeType":"ExpressionStatement","src":"17280:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64024,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"17319:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17319:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64026,"nodeType":"ExpressionStatement","src":"17319:18:97"},{"assignments":[64029],"declarations":[{"constant":false,"id":64029,"mutability":"mutable","name":"cv","nameLocation":"17359:2:97","nodeType":"VariableDeclaration","scope":64061,"src":"17348:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64028,"nodeType":"UserDefinedTypeName","pathNode":{"id":64027,"name":"CVStrategy","nameLocations":["17348:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"17348:10:97"},"referencedDeclaration":61025,"src":"17348:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64040,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64035,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63970,"src":"17391:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17396:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17391:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17383:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64033,"name":"address","nodeType":"ElementaryTypeName","src":"17383:7:97","typeDescriptions":{}}},"id":64037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17383:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17375:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64031,"name":"address","nodeType":"ElementaryTypeName","src":"17375:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17375:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64030,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"17364:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17364:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17348:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17452:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64047,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17463:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":64046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17455:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64045,"name":"address","nodeType":"ElementaryTypeName","src":"17455:7:97","typeDescriptions":{}}},"id":64048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64042,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64029,"src":"17427:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17430:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"17427:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17427:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64050,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"17471:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64041,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17418:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17418:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64052,"nodeType":"ExpressionStatement","src":"17418:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17550:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64054,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64029,"src":"17523:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17526:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"17523:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64058,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"17554:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64053,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"17514:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17514:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64060,"nodeType":"ExpressionStatement","src":"17514:54:97"}]},"functionSelector":"39b7e525","implemented":true,"kind":"function","modifiers":[],"name":"test_allocate_proposalSupport_empty_array","nameLocation":"16718:41:97","parameters":{"id":63964,"nodeType":"ParameterList","parameters":[],"src":"16759:2:97"},"returnParameters":{"id":63965,"nodeType":"ParameterList","parameters":[],"src":"16769:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64444,"nodeType":"FunctionDefinition","src":"17581:3967:97","nodes":[],"body":{"id":64443,"nodeType":"Block","src":"17651:3897:97","nodes":[],"statements":[{"assignments":[64069,64071],"declarations":[{"constant":false,"id":64069,"mutability":"mutable","name":"pool","nameLocation":"17680:4:97","nodeType":"VariableDeclaration","scope":64443,"src":"17662:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64068,"nodeType":"UserDefinedTypeName","pathNode":{"id":64067,"name":"IAllo.Pool","nameLocations":["17662:5:97","17668:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"17662:10:97"},"referencedDeclaration":2319,"src":"17662:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64071,"mutability":"mutable","name":"poolId","nameLocation":"17694:6:97","nodeType":"VariableDeclaration","scope":64443,"src":"17686:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64070,"name":"uint256","nodeType":"ElementaryTypeName","src":"17686:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64080,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":64075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17728:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17720:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64073,"name":"address","nodeType":"ElementaryTypeName","src":"17720:7:97","typeDescriptions":{}}},"id":64076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17720:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"3530","id":64077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17732:8:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},"value":"50"},{"hexValue":"315f303030","id":64078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17742:11:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_50000000000000000000_by_1","typeString":"int_const 50000000000000000000"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}],"id":64072,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"17704:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17704:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"17661:93:97"},{"assignments":[64083],"declarations":[{"constant":false,"id":64083,"mutability":"mutable","name":"cv","nameLocation":"17776:2:97","nodeType":"VariableDeclaration","scope":64443,"src":"17765:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64082,"nodeType":"UserDefinedTypeName","pathNode":{"id":64081,"name":"CVStrategy","nameLocations":["17765:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"17765:10:97"},"referencedDeclaration":61025,"src":"17765:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64094,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64089,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64069,"src":"17808:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64090,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17813:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17808:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17800:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64087,"name":"address","nodeType":"ElementaryTypeName","src":"17800:7:97","typeDescriptions":{}}},"id":64091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17800:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17792:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64085,"name":"address","nodeType":"ElementaryTypeName","src":"17792:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17792:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64084,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"17781:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17781:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"17765:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":64099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18110:15:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":64098,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"18096:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18096:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64095,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"18084:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18087:8:97","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"18084:11:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18084:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64102,"nodeType":"ExpressionStatement","src":"18084:43:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":64107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18183:9:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":64106,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"18169:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18169:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64103,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"18154:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18157:11:97","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"18154:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18154:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64110,"nodeType":"ExpressionStatement","src":"18154:40:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":64115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18250:12:97","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":64114,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"18236:13:97","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":64116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18236:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64111,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"18223:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18226:9:97","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"18223:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18223:41:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64118,"nodeType":"ExpressionStatement","src":"18223:41:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18367:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64119,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"18349:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18349:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64122,"nodeType":"ExpressionStatement","src":"18349:39:97"},{"assignments":[64124],"declarations":[{"constant":false,"id":64124,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"18405:11:97","nodeType":"VariableDeclaration","scope":64443,"src":"18398:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64123,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64126,"initialValue":{"hexValue":"313030","id":64125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18419:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"18398:24:97"},{"assignments":[64132],"declarations":[{"constant":false,"id":64132,"mutability":"mutable","name":"votes","nameLocation":"18468:5:97","nodeType":"VariableDeclaration","scope":64443,"src":"18432:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64130,"nodeType":"UserDefinedTypeName","pathNode":{"id":64129,"name":"CVStrategy.ProposalSupport","nameLocations":["18432:10:97","18443:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"18432:26:97"},"referencedDeclaration":59201,"src":"18432:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64131,"nodeType":"ArrayTypeName","src":"18432:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64139,"initialValue":{"arguments":[{"hexValue":"31","id":64137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18509:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18476:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64134,"nodeType":"UserDefinedTypeName","pathNode":{"id":64133,"name":"CVStrategy.ProposalSupport","nameLocations":["18480:10:97","18491:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"18480:26:97"},"referencedDeclaration":59201,"src":"18480:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64135,"nodeType":"ArrayTypeName","src":"18480:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18476:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18432:79:97"},{"expression":{"id":64148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64140,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64132,"src":"18521:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64142,"indexExpression":{"hexValue":"30","id":64141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18527:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18521:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18559:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64146,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64124,"src":"18562:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64143,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"18532:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18543:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"18532:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18532:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"18521:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64149,"nodeType":"ExpressionStatement","src":"18521:53:97"},{"assignments":[64151],"declarations":[{"constant":false,"id":64151,"mutability":"mutable","name":"data","nameLocation":"18618:4:97","nodeType":"VariableDeclaration","scope":64443,"src":"18605:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64150,"name":"bytes","nodeType":"ElementaryTypeName","src":"18605:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64156,"initialValue":{"arguments":[{"id":64154,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64132,"src":"18636:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18625:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18629:6:97","memberName":"encode","nodeType":"MemberAccess","src":"18625:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18625:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18605:37:97"},{"expression":{"arguments":[{"id":64160,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"18668:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64161,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64151,"src":"18676:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64157,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"18652:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18659:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"18652:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18652:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64163,"nodeType":"ExpressionStatement","src":"18652:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64164,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"18691:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64166,"nodeType":"ExpressionStatement","src":"18691:18:97"},{"assignments":[64168],"declarations":[{"constant":false,"id":64168,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"18728:13:97","nodeType":"VariableDeclaration","scope":64443,"src":"18720:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64167,"name":"uint256","nodeType":"ElementaryTypeName","src":"18720:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64177,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64171,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64124,"src":"18752:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18744:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64169,"name":"uint256","nodeType":"ElementaryTypeName","src":"18744:7:97","typeDescriptions":{}}},"id":64172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18744:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64173,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"18767:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18744:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18783:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"18744:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18720:66:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18830:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64184,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18841:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":64183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18833:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64182,"name":"address","nodeType":"ElementaryTypeName","src":"18833:7:97","typeDescriptions":{}}},"id":64185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18833:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64179,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"18805:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18808:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"18805:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18805:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64187,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64168,"src":"18849:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64178,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18796:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18796:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64189,"nodeType":"ExpressionStatement","src":"18796:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18927:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64191,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"18900:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18903:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"18900:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18900:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64195,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64168,"src":"18931:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64190,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"18891:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18891:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64197,"nodeType":"ExpressionStatement","src":"18891:54:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64201,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19042:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19042:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64198,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19028:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19031:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"19028:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19028:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64204,"nodeType":"ExpressionStatement","src":"19028:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64205,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"19158:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19161:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"19158:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19158:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64209,"nodeType":"ExpressionStatement","src":"19158:19:97"},{"assignments":[64215],"declarations":[{"constant":false,"id":64215,"mutability":"mutable","name":"votes2","nameLocation":"19224:6:97","nodeType":"VariableDeclaration","scope":64443,"src":"19188:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64213,"nodeType":"UserDefinedTypeName","pathNode":{"id":64212,"name":"CVStrategy.ProposalSupport","nameLocations":["19188:10:97","19199:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"19188:26:97"},"referencedDeclaration":59201,"src":"19188:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64214,"nodeType":"ArrayTypeName","src":"19188:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64222,"initialValue":{"arguments":[{"hexValue":"31","id":64220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19266:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19233:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64217,"nodeType":"UserDefinedTypeName","pathNode":{"id":64216,"name":"CVStrategy.ProposalSupport","nameLocations":["19237:10:97","19248:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"19237:26:97"},"referencedDeclaration":59201,"src":"19237:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64218,"nodeType":"ArrayTypeName","src":"19237:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19233:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19188:80:97"},{"assignments":[64224],"declarations":[{"constant":false,"id":64224,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"19285:12:97","nodeType":"VariableDeclaration","scope":64443,"src":"19278:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64223,"name":"int256","nodeType":"ElementaryTypeName","src":"19278:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64226,"initialValue":{"hexValue":"313030","id":64225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19300:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"19278:25:97"},{"expression":{"id":64235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64227,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64215,"src":"19313:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64229,"indexExpression":{"hexValue":"30","id":64228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19320:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19313:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19352:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64233,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64224,"src":"19355:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64230,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"19325:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19336:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"19325:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19325:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"19313:55:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64236,"nodeType":"ExpressionStatement","src":"19313:55:97"},{"expression":{"id":64242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64237,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64151,"src":"19378:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64240,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64215,"src":"19396:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19385:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19389:6:97","memberName":"encode","nodeType":"MemberAccess","src":"19385:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19385:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"19378:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":64243,"nodeType":"ExpressionStatement","src":"19378:25:97"},{"expression":{"arguments":[{"id":64247,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64071,"src":"19480:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64248,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64151,"src":"19488:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64244,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"19464:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19471:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"19464:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19464:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64250,"nodeType":"ExpressionStatement","src":"19464:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64251,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"19503:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19506:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"19503:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19503:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64255,"nodeType":"ExpressionStatement","src":"19503:14:97"},{"assignments":[64257],"declarations":[{"constant":false,"id":64257,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"19536:14:97","nodeType":"VariableDeclaration","scope":64443,"src":"19528:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64256,"name":"uint256","nodeType":"ElementaryTypeName","src":"19528:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64266,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64260,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64224,"src":"19561:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19553:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64258,"name":"uint256","nodeType":"ElementaryTypeName","src":"19553:7:97","typeDescriptions":{}}},"id":64261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19553:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64262,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"19577:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19553:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19593:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"19553:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19528:68:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19641:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64273,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"19652:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19652:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19644:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64271,"name":"address","nodeType":"ElementaryTypeName","src":"19644:7:97","typeDescriptions":{}}},"id":64275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19644:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64268,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"19616:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19619:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"19616:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64277,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64257,"src":"19668:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64267,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19607:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19607:76:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64279,"nodeType":"ExpressionStatement","src":"19607:76:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19748:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64281,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"19721:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19724:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"19721:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19721:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64285,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64168,"src":"19752:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":64286,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64257,"src":"19768:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19752:30:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64280,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"19712:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19712:71:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64289,"nodeType":"ExpressionStatement","src":"19712:71:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":64293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19860:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":64294,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"19883:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19889:6:97","memberName":"number","nodeType":"MemberAccess","src":"19883:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64290,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"19848:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19856:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"19848:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19848:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64297,"nodeType":"ExpressionStatement","src":"19848:48:97"},{"assignments":[64299],"declarations":[{"constant":false,"id":64299,"mutability":"mutable","name":"totalEffectiveActivePoints","nameLocation":"19914:26:97","nodeType":"VariableDeclaration","scope":64443,"src":"19906:34:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64298,"name":"uint256","nodeType":"ElementaryTypeName","src":"19906:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64303,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64300,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"19943:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19946:26:97","memberName":"totalEffectiveActivePoints","nodeType":"MemberAccess","referencedDeclaration":60850,"src":"19943:29:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19943:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19906:68:97"},{"expression":{"arguments":[{"hexValue":"746f74616c456666656374697665416374697665506f696e7473","id":64307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19996:28:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},"value":"totalEffectiveActivePoints"},{"id":64308,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64299,"src":"20026:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_204dc4cd8bbf859136ba10718cbfd803bd42f6b9d4e6abda737a5238ef8c2a64","typeString":"literal_string \"totalEffectiveActivePoints\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64304,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"19984:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19992:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"19984:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19984:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64310,"nodeType":"ExpressionStatement","src":"19984:69:97"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":64314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20075:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"id":64317,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64299,"src":"20110:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64315,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"20090:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20093:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20090:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20090:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64311,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20063:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20071:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20063:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:75:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64320,"nodeType":"ExpressionStatement","src":"20063:75:97"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":64324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20160:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":64329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20222:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64327,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"20195:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20198:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"20195:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20195:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64325,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"20175:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20178:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20175:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20175:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64321,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20148:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20156:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20148:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20148:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64333,"nodeType":"ExpressionStatement","src":"20148:78:97"},{"expression":{"arguments":[{"arguments":[{"id":64337,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64299,"src":"20266:26:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64335,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"20246:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20249:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20246:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20246:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"323839303334","id":64339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20295:6:97","typeDescriptions":{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},"value":"289034"},{"hexValue":"6d61784356537570706c79","id":64340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20303:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_289034_by_1","typeString":"int_const 289034"},{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""}],"id":64334,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20237:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20237:80:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64342,"nodeType":"ExpressionStatement","src":"20237:80:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"31","id":64348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20383:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64346,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"20356:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20359:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"20356:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20356:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64344,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"20336:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20339:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"20336:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20336:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3238393033","id":64351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20388:5:97","typeDescriptions":{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},"value":"28903"},{"hexValue":"6d617843565374616b6564","id":64352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20395:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_28903_by_1","typeString":"int_const 28903"},{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""}],"id":64343,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"20327:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20327:82:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64354,"nodeType":"ExpressionStatement","src":"20327:82:97"},{"expression":{"arguments":[{"hexValue":"313130","id":64358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20428:3:97","typeDescriptions":{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"},"value":"110"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"}],"expression":{"id":64355,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"20420:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20423:4:97","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23849,"src":"20420:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20420:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64360,"nodeType":"ExpressionStatement","src":"20420:12:97"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":64364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20454:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":64365,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20476:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20482:6:97","memberName":"number","nodeType":"MemberAccess","src":"20476:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64361,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"20442:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20450:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"20442:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20442:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64368,"nodeType":"ExpressionStatement","src":"20442:47:97"},{"expression":{"arguments":[{"hexValue":"31","id":64372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20774:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64369,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"20746:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20749:24:97","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":60948,"src":"20746:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":64373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20746:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64374,"nodeType":"ExpressionStatement","src":"20746:30:97"},{"assignments":[null,null,null,64376,64378,null,null,null,64380,null,64382,64384],"declarations":[null,null,null,{"constant":false,"id":64376,"mutability":"mutable","name":"requestedAmount","nameLocation":"20851:15:97","nodeType":"VariableDeclaration","scope":64443,"src":"20843:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64375,"name":"uint256","nodeType":"ElementaryTypeName","src":"20843:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64378,"mutability":"mutable","name":"stakedTokens","nameLocation":"20888:12:97","nodeType":"VariableDeclaration","scope":64443,"src":"20880:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64377,"name":"uint256","nodeType":"ElementaryTypeName","src":"20880:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":64380,"mutability":"mutable","name":"convictionLast","nameLocation":"20964:14:97","nodeType":"VariableDeclaration","scope":64443,"src":"20956:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64379,"name":"uint256","nodeType":"ElementaryTypeName","src":"20956:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64382,"mutability":"mutable","name":"threshold","nameLocation":"21014:9:97","nodeType":"VariableDeclaration","scope":64443,"src":"21006:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64381,"name":"uint256","nodeType":"ElementaryTypeName","src":"21006:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64384,"mutability":"mutable","name":"voterPointsPct","nameLocation":"21045:14:97","nodeType":"VariableDeclaration","scope":64443,"src":"21037:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64383,"name":"uint256","nodeType":"ElementaryTypeName","src":"21037:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64389,"initialValue":{"arguments":[{"hexValue":"31","id":64387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21087:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64385,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64083,"src":"21072:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21075:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"21072:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"20787:302:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21112:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64394,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64376,"src":"21136:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64390,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21100:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21108:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21100:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21100:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64396,"nodeType":"ExpressionStatement","src":"21100:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21174:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64401,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64378,"src":"21195:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64397,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21162:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21170:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21162:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21162:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64403,"nodeType":"ExpressionStatement","src":"21162:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21230:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64408,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64382,"src":"21247:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64404,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21218:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21226:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21218:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21218:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64410,"nodeType":"ExpressionStatement","src":"21218:39:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21279:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64415,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64380,"src":"21302:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64411,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21267:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21275:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21267:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21267:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64417,"nodeType":"ExpressionStatement","src":"21267:50:97"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":64421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21339:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":64422,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64384,"src":"21362:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64418,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"21327:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21335:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"21327:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21327:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64424,"nodeType":"ExpressionStatement","src":"21327:50:97"},{"expression":{"arguments":[{"id":64426,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64382,"src":"21396:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3537383036","id":64427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21407:5:97","typeDescriptions":{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},"value":"57806"},{"hexValue":"7468726573686f6c64","id":64428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21414:11:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""},"value":"threshold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_57806_by_1","typeString":"int_const 57806"},{"typeIdentifier":"t_stringliteral_d46c2b20c7303c2e50535d224276492e8a1eda2a3d7398e0bea254640c1154e7","typeString":"literal_string \"threshold\""}],"id":64425,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21387:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21387:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64430,"nodeType":"ExpressionStatement","src":"21387:39:97"},{"expression":{"arguments":[{"id":64432,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64380,"src":"21445:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"39303933","id":64433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21461:4:97","typeDescriptions":{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},"value":"9093"},{"hexValue":"636f6e76696374696f6e4c617374","id":64434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21467:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""},"value":"convictionLast"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_9093_by_1","typeString":"int_const 9093"},{"typeIdentifier":"t_stringliteral_05cda19f7bc72bf19d305b988f9899075675d4be4c188c4f1eedbaa1e1593001","typeString":"literal_string \"convictionLast\""}],"id":64431,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21436:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21436:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64436,"nodeType":"ExpressionStatement","src":"21436:48:97"},{"expression":{"arguments":[{"id":64438,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64384,"src":"21503:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"313030","id":64439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21519:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"766f746572506f696e7473506374","id":64440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21524:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""},"value":"voterPointsPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_286d8846d238f1a49f710a931738af6a1c16dc6a9ad2f2d7748163b0b8c2f6b2","typeString":"literal_string \"voterPointsPct\""}],"id":64437,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"21494:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21494:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64442,"nodeType":"ExpressionStatement","src":"21494:47:97"}]},"functionSelector":"503c712e","implemented":true,"kind":"function","modifiers":[],"name":"test_proposalSupported_conviction_threshold_2_users","nameLocation":"17590:51:97","parameters":{"id":64063,"nodeType":"ParameterList","parameters":[],"src":"17641:2:97"},"returnParameters":{"id":64064,"nodeType":"ParameterList","parameters":[],"src":"17651:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64801,"nodeType":"FunctionDefinition","src":"21554:3158:97","nodes":[],"body":{"id":64800,"nodeType":"Block","src":"21597:3115:97","nodes":[],"statements":[{"assignments":[64451,64453],"declarations":[{"constant":false,"id":64451,"mutability":"mutable","name":"pool","nameLocation":"21626:4:97","nodeType":"VariableDeclaration","scope":64800,"src":"21608:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64450,"nodeType":"UserDefinedTypeName","pathNode":{"id":64449,"name":"IAllo.Pool","nameLocations":["21608:5:97","21614:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21608:10:97"},"referencedDeclaration":2319,"src":"21608:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64453,"mutability":"mutable","name":"poolId","nameLocation":"21640:6:97","nodeType":"VariableDeclaration","scope":64800,"src":"21632:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64452,"name":"uint256","nodeType":"ElementaryTypeName","src":"21632:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64459,"initialValue":{"arguments":[{"id":64455,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21666:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":64456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21674:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":64457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21677:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64454,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"21650:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21650:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21607:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21762:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64460,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"21744:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21744:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64463,"nodeType":"ExpressionStatement","src":"21744:39:97"},{"assignments":[64465],"declarations":[{"constant":false,"id":64465,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"21800:11:97","nodeType":"VariableDeclaration","scope":64800,"src":"21793:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64464,"name":"int256","nodeType":"ElementaryTypeName","src":"21793:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64467,"initialValue":{"hexValue":"3830","id":64466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21814:2:97","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"nodeType":"VariableDeclarationStatement","src":"21793:23:97"},{"assignments":[64473],"declarations":[{"constant":false,"id":64473,"mutability":"mutable","name":"votes","nameLocation":"21862:5:97","nodeType":"VariableDeclaration","scope":64800,"src":"21826:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64471,"nodeType":"UserDefinedTypeName","pathNode":{"id":64470,"name":"CVStrategy.ProposalSupport","nameLocations":["21826:10:97","21837:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"21826:26:97"},"referencedDeclaration":59201,"src":"21826:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64472,"nodeType":"ArrayTypeName","src":"21826:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64480,"initialValue":{"arguments":[{"hexValue":"31","id":64478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21903:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"21870:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64475,"nodeType":"UserDefinedTypeName","pathNode":{"id":64474,"name":"CVStrategy.ProposalSupport","nameLocations":["21874:10:97","21885:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"21874:26:97"},"referencedDeclaration":59201,"src":"21874:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64476,"nodeType":"ArrayTypeName","src":"21874:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21870:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"21826:79:97"},{"expression":{"id":64489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64481,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"21915:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64483,"indexExpression":{"hexValue":"30","id":64482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21921:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21915:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21953:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64487,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64465,"src":"21956:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64484,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"21926:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21937:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"21926:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21926:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"21915:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64490,"nodeType":"ExpressionStatement","src":"21915:53:97"},{"assignments":[64492],"declarations":[{"constant":false,"id":64492,"mutability":"mutable","name":"data","nameLocation":"22012:4:97","nodeType":"VariableDeclaration","scope":64800,"src":"21999:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64491,"name":"bytes","nodeType":"ElementaryTypeName","src":"21999:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64497,"initialValue":{"arguments":[{"id":64495,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64473,"src":"22030:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22019:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22023:6:97","memberName":"encode","nodeType":"MemberAccess","src":"22019:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22019:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"21999:37:97"},{"expression":{"arguments":[{"id":64501,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64453,"src":"22062:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64502,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64492,"src":"22070:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64498,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22046:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22053:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"22046:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22046:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64504,"nodeType":"ExpressionStatement","src":"22046:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64505,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"22085:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22085:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64507,"nodeType":"ExpressionStatement","src":"22085:18:97"},{"assignments":[64509],"declarations":[{"constant":false,"id":64509,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"22122:13:97","nodeType":"VariableDeclaration","scope":64800,"src":"22114:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64508,"name":"uint256","nodeType":"ElementaryTypeName","src":"22114:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64518,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64512,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64465,"src":"22146:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22138:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64510,"name":"uint256","nodeType":"ElementaryTypeName","src":"22138:7:97","typeDescriptions":{}}},"id":64513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22138:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64514,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"22161:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22138:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22177:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"22138:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22114:66:97"},{"assignments":[64521],"declarations":[{"constant":false,"id":64521,"mutability":"mutable","name":"cv","nameLocation":"22201:2:97","nodeType":"VariableDeclaration","scope":64800,"src":"22190:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64520,"nodeType":"UserDefinedTypeName","pathNode":{"id":64519,"name":"CVStrategy","nameLocations":["22190:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"22190:10:97"},"referencedDeclaration":61025,"src":"22190:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64532,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64527,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64451,"src":"22233:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22238:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"22233:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22225:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64525,"name":"address","nodeType":"ElementaryTypeName","src":"22225:7:97","typeDescriptions":{}}},"id":64529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22225:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22217:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64523,"name":"address","nodeType":"ElementaryTypeName","src":"22217:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64522,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"22206:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22206:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"22190:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22293:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64539,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22304:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":64538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22296:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64537,"name":"address","nodeType":"ElementaryTypeName","src":"22296:7:97","typeDescriptions":{}}},"id":64540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22296:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64534,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"22268:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22271:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"22268:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22268:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64542,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"22312:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6531","id":64543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22327:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""},"value":"ProposalVoterStake1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_73cffc25c49575331371814045e7cedd08049dc752d013adb25fafcab3f2cb74","typeString":"literal_string \"ProposalVoterStake1\""}],"id":64533,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"22259:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22259:90:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64545,"nodeType":"ExpressionStatement","src":"22259:90:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22413:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64547,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"22386:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22389:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"22386:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22386:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64551,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64509,"src":"22417:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64546,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"22377:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22377:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64553,"nodeType":"ExpressionStatement","src":"22377:54:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64557,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22528:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64554,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"22514:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22517:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"22514:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":64559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22514:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64560,"nodeType":"ExpressionStatement","src":"22514:27:97"},{"assignments":[64562],"declarations":[{"constant":false,"id":64562,"mutability":"mutable","name":"proposalID2","nameLocation":"22560:11:97","nodeType":"VariableDeclaration","scope":64800,"src":"22552:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64561,"name":"uint256","nodeType":"ElementaryTypeName","src":"22552:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64564,"initialValue":{"hexValue":"32","id":64563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22574:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"22552:23:97"},{"assignments":[64569],"declarations":[{"constant":false,"id":64569,"mutability":"mutable","name":"proposal","nameLocation":"22618:8:97","nodeType":"VariableDeclaration","scope":64800,"src":"22585:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":64568,"nodeType":"UserDefinedTypeName","pathNode":{"id":64567,"name":"CVStrategy.CreateProposal","nameLocations":["22585:10:97","22596:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"22585:25:97"},"referencedDeclaration":59158,"src":"22585:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":64585,"initialValue":{"arguments":[{"id":64572,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"22668:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64573,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64453,"src":"22681:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":64574,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"22689:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22689:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":64576,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"22703:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22714:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"22703:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":64578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22727:7:97","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"22703:31:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"id":64579,"name":"REQUESTED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62281,"src":"22736:16:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":64582,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"22762:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":64581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22754:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64580,"name":"address","nodeType":"ElementaryTypeName","src":"22754:7:97","typeDescriptions":{}}},"id":64583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22754:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64570,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"22629:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22640:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"22629:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":64584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22629:149:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"22585:193:97"},{"assignments":[64587],"declarations":[{"constant":false,"id":64587,"mutability":"mutable","name":"data2","nameLocation":"22801:5:97","nodeType":"VariableDeclaration","scope":64800,"src":"22788:18:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64586,"name":"bytes","nodeType":"ElementaryTypeName","src":"22788:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64592,"initialValue":{"arguments":[{"id":64590,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64569,"src":"22820:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":64588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22809:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22813:6:97","memberName":"encode","nodeType":"MemberAccess","src":"22809:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22809:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"22788:41:97"},{"expression":{"arguments":[{"id":64596,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64453,"src":"22864:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64597,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64587,"src":"22872:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64593,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"22839:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22846:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"22839:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":64598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22839:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64599,"nodeType":"ExpressionStatement","src":"22839:39:97"},{"expression":{"arguments":[{"arguments":[{"id":64605,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"22911:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":64604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22903:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64603,"name":"address","nodeType":"ElementaryTypeName","src":"22903:7:97","typeDescriptions":{}}},"id":64606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22903:24:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64607,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"22929:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":64608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22945:20:97","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":61757,"src":"22929:36:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22929:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64600,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62266,"src":"22889:5:97","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":64602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22895:7:97","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"22889:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":64610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22889:79:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64611,"nodeType":"ExpressionStatement","src":"22889:79:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64612,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"23031:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"23031:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23031:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64616,"nodeType":"ExpressionStatement","src":"23031:19:97"},{"assignments":[64622],"declarations":[{"constant":false,"id":64622,"mutability":"mutable","name":"votes2","nameLocation":"23097:6:97","nodeType":"VariableDeclaration","scope":64800,"src":"23061:42:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64620,"nodeType":"UserDefinedTypeName","pathNode":{"id":64619,"name":"CVStrategy.ProposalSupport","nameLocations":["23061:10:97","23072:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"23061:26:97"},"referencedDeclaration":59201,"src":"23061:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64621,"nodeType":"ArrayTypeName","src":"23061:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64629,"initialValue":{"arguments":[{"hexValue":"31","id":64627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23139:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"23106:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64624,"nodeType":"UserDefinedTypeName","pathNode":{"id":64623,"name":"CVStrategy.ProposalSupport","nameLocations":["23110:10:97","23121:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"23110:26:97"},"referencedDeclaration":59201,"src":"23110:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64625,"nodeType":"ArrayTypeName","src":"23110:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23106:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"23061:80:97"},{"assignments":[64631],"declarations":[{"constant":false,"id":64631,"mutability":"mutable","name":"SUPPORT_PCT2","nameLocation":"23158:12:97","nodeType":"VariableDeclaration","scope":64800,"src":"23151:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64630,"name":"int256","nodeType":"ElementaryTypeName","src":"23151:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64633,"initialValue":{"hexValue":"313030","id":64632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23173:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"23151:25:97"},{"expression":{"id":64642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64634,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64622,"src":"23186:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64636,"indexExpression":{"hexValue":"30","id":64635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23193:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23186:9:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64639,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"23225:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64640,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64631,"src":"23238:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64637,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"23198:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23209:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"23198:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:53:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"23186:65:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64643,"nodeType":"ExpressionStatement","src":"23186:65:97"},{"expression":{"id":64649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64644,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64492,"src":"23261:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64647,"name":"votes2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64622,"src":"23279:6:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64645,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23268:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23272:6:97","memberName":"encode","nodeType":"MemberAccess","src":"23268:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23268:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"23261:25:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":64650,"nodeType":"ExpressionStatement","src":"23261:25:97"},{"expression":{"arguments":[{"id":64654,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64453,"src":"23363:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64655,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64492,"src":"23371:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64651,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"23347:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23354:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"23347:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23347:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64657,"nodeType":"ExpressionStatement","src":"23347:29:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64658,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23386:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23389:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"23386:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":64661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23386:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64662,"nodeType":"ExpressionStatement","src":"23386:14:97"},{"assignments":[64664],"declarations":[{"constant":false,"id":64664,"mutability":"mutable","name":"STAKED_AMOUNT2","nameLocation":"23419:14:97","nodeType":"VariableDeclaration","scope":64800,"src":"23411:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64663,"name":"uint256","nodeType":"ElementaryTypeName","src":"23411:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64673,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64667,"name":"SUPPORT_PCT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64631,"src":"23444:12:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23436:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64665,"name":"uint256","nodeType":"ElementaryTypeName","src":"23436:7:97","typeDescriptions":{}}},"id":64668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23436:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64669,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"23460:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23436:37:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23476:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"23436:43:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23411:68:97"},{"expression":{"arguments":[{"arguments":[{"id":64677,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"23524:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":64680,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"23545:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":64681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23545:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23537:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64678,"name":"address","nodeType":"ElementaryTypeName","src":"23537:7:97","typeDescriptions":{}}},"id":64682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23537:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64675,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"23499:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23502:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"23499:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23499:60:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64684,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64664,"src":"23561:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"50726f706f73616c566f7465725374616b6532","id":64685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23577:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""},"value":"ProposalVoterStake2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_15e9d7ccf0f376abdd0365d88398ff8e8c684fb369c0d2965a124be25b26b912","typeString":"literal_string \"ProposalVoterStake2\""}],"id":64674,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23490:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:109:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64687,"nodeType":"ExpressionStatement","src":"23490:109:97"},{"expression":{"arguments":[{"arguments":[{"id":64691,"name":"proposalID2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"23664:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64689,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"23637:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23640:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"23637:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23637:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64693,"name":"STAKED_AMOUNT2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64664,"src":"23678:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"5374616b65644d6f756e7432","id":64694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23694:14:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""},"value":"StakedMount2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_1cde12fd44aa4fd543a7472bd832a906271f8e3849a785d73581b3ac8707ed6b","typeString":"literal_string \"StakedMount2\""}],"id":64688,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10763,"src":"23628:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":64695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23628:81:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64696,"nodeType":"ExpressionStatement","src":"23628:81:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"6265666f726520626c6f636b2e6e756d626572","id":64700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23786:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},"value":"before block.number"},{"expression":{"id":64701,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23809:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23815:6:97","memberName":"number","nodeType":"MemberAccess","src":"23809:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_df6dc31258fa0265b2d7640dd05b9bfa31e1b4720de00fa7b859b231620452e0","typeString":"literal_string \"before block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64697,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23774:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23782:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23774:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23774:48:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64704,"nodeType":"ExpressionStatement","src":"23774:48:97"},{"expression":{"arguments":[{"hexValue":"6d61784356537570706c79","id":64708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23844:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},"value":"maxCVSupply"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":64711,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"23879:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23882:11:97","memberName":"totalStaked","nodeType":"MemberAccess","referencedDeclaration":59239,"src":"23879:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23879:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64709,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"23859:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23862:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"23859:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23859:37:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6bb5a339dde51c217b756ca5bd15e0ef9c9d154766600bb12df87a287836349","typeString":"literal_string \"maxCVSupply\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64705,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23832:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23840:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23832:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23832:65:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64716,"nodeType":"ExpressionStatement","src":"23832:65:97"},{"expression":{"arguments":[{"hexValue":"6d617843565374616b6564","id":64720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23919:13:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},"value":"maxCVStaked"},{"arguments":[{"arguments":[{"hexValue":"31","id":64725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23981:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64723,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"23954:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23957:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"23954:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23954:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64721,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"23934:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23937:16:97","memberName":"getMaxConviction","nodeType":"MemberAccess","referencedDeclaration":60966,"src":"23934:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23934:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d29c7df9e50b36766f884d46bcb2bb106e1d0a8675d5c3eaeb7a25c8b4230d0","typeString":"literal_string \"maxCVStaked\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64717,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"23907:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23915:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"23907:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23907:78:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64729,"nodeType":"ExpressionStatement","src":"23907:78:97"},{"expression":{"arguments":[{"hexValue":"3130","id":64733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24003:2:97","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}],"expression":{"id":64730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"23995:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":64732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23998:4:97","memberName":"roll","nodeType":"MemberAccess","referencedDeclaration":23849,"src":"23995:7:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":64734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23995:11:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64735,"nodeType":"ExpressionStatement","src":"23995:11:97"},{"expression":{"arguments":[{"hexValue":"616674657220626c6f636b2e6e756d626572","id":64739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24028:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},"value":"after block.number"},{"expression":{"id":64740,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24050:5:97","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":64741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24056:6:97","memberName":"number","nodeType":"MemberAccess","src":"24050:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddc9e7d0ae6483f2ca01fb6543cff799ca45dea27793746c987958f6dfb10cf5","typeString":"literal_string \"after block.number\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64736,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24016:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24024:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24016:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24016:47:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64743,"nodeType":"ExpressionStatement","src":"24016:47:97"},{"expression":{"arguments":[{"hexValue":"31","id":64747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24102:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64744,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"24074:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24077:24:97","memberName":"updateProposalConviction","nodeType":"MemberAccess","referencedDeclaration":60948,"src":"24074:27:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) external returns (uint256)"}},"id":64748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24074:30:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64749,"nodeType":"ExpressionStatement","src":"24074:30:97"},{"assignments":[null,null,null,64751,64753,null,null,null,64755,null,64757,64759],"declarations":[null,null,null,{"constant":false,"id":64751,"mutability":"mutable","name":"requestedAmount","nameLocation":"24179:15:97","nodeType":"VariableDeclaration","scope":64800,"src":"24171:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64750,"name":"uint256","nodeType":"ElementaryTypeName","src":"24171:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64753,"mutability":"mutable","name":"stakedTokens","nameLocation":"24216:12:97","nodeType":"VariableDeclaration","scope":64800,"src":"24208:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64752,"name":"uint256","nodeType":"ElementaryTypeName","src":"24208:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,null,{"constant":false,"id":64755,"mutability":"mutable","name":"convictionLast","nameLocation":"24292:14:97","nodeType":"VariableDeclaration","scope":64800,"src":"24284:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64754,"name":"uint256","nodeType":"ElementaryTypeName","src":"24284:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64757,"mutability":"mutable","name":"threshold","nameLocation":"24342:9:97","nodeType":"VariableDeclaration","scope":64800,"src":"24334:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64756,"name":"uint256","nodeType":"ElementaryTypeName","src":"24334:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64759,"mutability":"mutable","name":"voterPointsPct","nameLocation":"24373:14:97","nodeType":"VariableDeclaration","scope":64800,"src":"24365:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64758,"name":"uint256","nodeType":"ElementaryTypeName","src":"24365:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64764,"initialValue":{"arguments":[{"hexValue":"31","id":64762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24415:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64760,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64521,"src":"24400:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24403:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"24400:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24400:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24115:302:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24440:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64769,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64751,"src":"24464:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64765,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24428:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24436:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24428:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24428:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64771,"nodeType":"ExpressionStatement","src":"24428:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24502:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64776,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64753,"src":"24523:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64772,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24490:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24498:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24490:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64778,"nodeType":"ExpressionStatement","src":"24490:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24558:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64783,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64757,"src":"24575:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64779,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24546:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24554:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24546:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24546:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64785,"nodeType":"ExpressionStatement","src":"24546:39:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24607:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64790,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64755,"src":"24630:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64786,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24595:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24603:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24595:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24595:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64792,"nodeType":"ExpressionStatement","src":"24595:50:97"},{"expression":{"arguments":[{"hexValue":"566f74657220706f696e747320706374202573","id":64796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24667:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},"value":"Voter points pct %s"},{"id":64797,"name":"voterPointsPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64759,"src":"24690:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da30d1ef31829fdf95ea35f3993cf3101519cb8e72d1ddfaa8fd1cc5d3a10e43","typeString":"literal_string \"Voter points pct %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64793,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"24655:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24663:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"24655:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24655:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64799,"nodeType":"ExpressionStatement","src":"24655:50:97"}]},"functionSelector":"757e122d","implemented":true,"kind":"function","modifiers":[],"name":"test_1_proposalSupported","nameLocation":"21563:24:97","parameters":{"id":64445,"nodeType":"ParameterList","parameters":[],"src":"21587:2:97"},"returnParameters":{"id":64446,"nodeType":"ParameterList","parameters":[],"src":"21597:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65011,"nodeType":"FunctionDefinition","src":"24718:2468:97","nodes":[],"body":{"id":65010,"nodeType":"Block","src":"24765:2421:97","nodes":[],"statements":[{"assignments":[64808,64810],"declarations":[{"constant":false,"id":64808,"mutability":"mutable","name":"pool","nameLocation":"24794:4:97","nodeType":"VariableDeclaration","scope":65010,"src":"24776:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":64807,"nodeType":"UserDefinedTypeName","pathNode":{"id":64806,"name":"IAllo.Pool","nameLocations":["24776:5:97","24782:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"24776:10:97"},"referencedDeclaration":2319,"src":"24776:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":64810,"mutability":"mutable","name":"poolId","nameLocation":"24808:6:97","nodeType":"VariableDeclaration","scope":65010,"src":"24800:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64809,"name":"uint256","nodeType":"ElementaryTypeName","src":"24800:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64816,"initialValue":{"arguments":[{"id":64812,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"24834:6:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":64813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24842:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":64814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24845:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64811,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"24818:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":64815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24818:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24775:72:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":64818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":64817,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"24912:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":64819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24912:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64820,"nodeType":"ExpressionStatement","src":"24912:39:97"},{"assignments":[64822],"declarations":[{"constant":false,"id":64822,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"24968:11:97","nodeType":"VariableDeclaration","scope":65010,"src":"24961:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64821,"name":"int256","nodeType":"ElementaryTypeName","src":"24961:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":64824,"initialValue":{"hexValue":"313030","id":64823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24982:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"24961:24:97"},{"assignments":[64830],"declarations":[{"constant":false,"id":64830,"mutability":"mutable","name":"votes","nameLocation":"25031:5:97","nodeType":"VariableDeclaration","scope":65010,"src":"24995:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":64828,"nodeType":"UserDefinedTypeName","pathNode":{"id":64827,"name":"CVStrategy.ProposalSupport","nameLocations":["24995:10:97","25006:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"24995:26:97"},"referencedDeclaration":59201,"src":"24995:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64829,"nodeType":"ArrayTypeName","src":"24995:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":64837,"initialValue":{"arguments":[{"hexValue":"31","id":64835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25072:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"25039:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":64832,"nodeType":"UserDefinedTypeName","pathNode":{"id":64831,"name":"CVStrategy.ProposalSupport","nameLocations":["25043:10:97","25054:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"25043:26:97"},"referencedDeclaration":59201,"src":"25043:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":64833,"nodeType":"ArrayTypeName","src":"25043:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":64836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25039:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"24995:79:97"},{"expression":{"id":64846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64838,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64830,"src":"25084:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":64840,"indexExpression":{"hexValue":"30","id":64839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25090:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25084:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":64843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25122:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":64844,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64822,"src":"25125:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":64841,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"25095:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25106:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"25095:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":64845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25095:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"25084:53:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":64847,"nodeType":"ExpressionStatement","src":"25084:53:97"},{"expression":{"arguments":[{"id":64851,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64810,"src":"25217:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":64854,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64830,"src":"25236:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":64852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25225:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25229:6:97","memberName":"encode","nodeType":"MemberAccess","src":"25225:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25225:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64848,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"25201:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25208:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"25201:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":64856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25201:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64857,"nodeType":"ExpressionStatement","src":"25201:42:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64858,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"25253:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":64859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25253:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64860,"nodeType":"ExpressionStatement","src":"25253:18:97"},{"assignments":[64862],"declarations":[{"constant":false,"id":64862,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"25290:13:97","nodeType":"VariableDeclaration","scope":65010,"src":"25282:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64861,"name":"uint256","nodeType":"ElementaryTypeName","src":"25282:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64871,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":64865,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64822,"src":"25314:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":64864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25306:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64863,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:97","typeDescriptions":{}}},"id":64866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25306:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":64867,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"25329:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25306:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":64869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25345:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"25306:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25282:66:97"},{"assignments":[64874],"declarations":[{"constant":false,"id":64874,"mutability":"mutable","name":"cv","nameLocation":"25369:2:97","nodeType":"VariableDeclaration","scope":65010,"src":"25358:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":64873,"nodeType":"UserDefinedTypeName","pathNode":{"id":64872,"name":"CVStrategy","nameLocations":["25358:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"25358:10:97"},"referencedDeclaration":61025,"src":"25358:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":64885,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":64880,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64808,"src":"25401:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25406:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"25401:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":64879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25393:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64878,"name":"address","nodeType":"ElementaryTypeName","src":"25393:7:97","typeDescriptions":{}}},"id":64882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25393:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25385:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":64876,"name":"address","nodeType":"ElementaryTypeName","src":"25385:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":64883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25385:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":64875,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"25374:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":64884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25374:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"25358:59:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25461:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"id":64892,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"25472:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":64891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25464:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64890,"name":"address","nodeType":"ElementaryTypeName","src":"25464:7:97","typeDescriptions":{}}},"id":64893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25464:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64887,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64874,"src":"25436:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25439:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"25436:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":64894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25436:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64895,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64862,"src":"25480:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64886,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25427:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25427:67:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64897,"nodeType":"ExpressionStatement","src":"25427:67:97"},{"expression":{"arguments":[{"arguments":[{"hexValue":"31","id":64901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25558:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64899,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64874,"src":"25531:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25534:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"25531:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":64902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:29:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64903,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64862,"src":"25562:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64898,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"25522:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25522:54:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64905,"nodeType":"ExpressionStatement","src":"25522:54:97"},{"assignments":[null,64907,null,64909,64911,null,null,64913,64915,null,64917,null],"declarations":[null,{"constant":false,"id":64907,"mutability":"mutable","name":"beneficiary","nameLocation":"25641:11:97","nodeType":"VariableDeclaration","scope":65010,"src":"25633:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64906,"name":"address","nodeType":"ElementaryTypeName","src":"25633:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null,{"constant":false,"id":64909,"mutability":"mutable","name":"requestedAmount","nameLocation":"25688:15:97","nodeType":"VariableDeclaration","scope":65010,"src":"25680:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64908,"name":"uint256","nodeType":"ElementaryTypeName","src":"25680:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64911,"mutability":"mutable","name":"stakedTokens","nameLocation":"25725:12:97","nodeType":"VariableDeclaration","scope":65010,"src":"25717:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64910,"name":"uint256","nodeType":"ElementaryTypeName","src":"25717:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":64913,"mutability":"mutable","name":"blockLast","nameLocation":"25787:9:97","nodeType":"VariableDeclaration","scope":65010,"src":"25779:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64912,"name":"uint256","nodeType":"ElementaryTypeName","src":"25779:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64915,"mutability":"mutable","name":"convictionLast","nameLocation":"25818:14:97","nodeType":"VariableDeclaration","scope":65010,"src":"25810:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64914,"name":"uint256","nodeType":"ElementaryTypeName","src":"25810:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":64917,"mutability":"mutable","name":"threshold","nameLocation":"25868:9:97","nodeType":"VariableDeclaration","scope":65010,"src":"25860:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64916,"name":"uint256","nodeType":"ElementaryTypeName","src":"25860:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":64922,"initialValue":{"arguments":[{"hexValue":"31","id":64920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25944:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64918,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64874,"src":"25929:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":64919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25932:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"25929:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":64921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25929:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"25605:341:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":64926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26154:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":64927,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64909,"src":"26178:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64923,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26142:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26150:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26142:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26142:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64929,"nodeType":"ExpressionStatement","src":"26142:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":64933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26216:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":64934,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64911,"src":"26237:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64930,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26204:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26212:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26204:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26204:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64936,"nodeType":"ExpressionStatement","src":"26204:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":64940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26272:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":64941,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64917,"src":"26289:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64937,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26260:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26268:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26260:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26260:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64943,"nodeType":"ExpressionStatement","src":"26260:39:97"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":64947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26391:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":64948,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64913,"src":"26409:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64944,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26379:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26387:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26379:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26379:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64950,"nodeType":"ExpressionStatement","src":"26379:40:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":64954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26441:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":64955,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64915,"src":"26464:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64951,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"26429:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":64953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26437:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"26429:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":64956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26429:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64957,"nodeType":"ExpressionStatement","src":"26429:50:97"},{"assignments":[64962],"declarations":[{"constant":false,"id":64962,"mutability":"mutable","name":"recipients","nameLocation":"26677:10:97","nodeType":"VariableDeclaration","scope":65010,"src":"26660:27:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64960,"name":"address","nodeType":"ElementaryTypeName","src":"26660:7:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64961,"nodeType":"ArrayTypeName","src":"26660:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":64968,"initialValue":{"arguments":[{"hexValue":"30","id":64966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26704:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"26690:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":64963,"name":"address","nodeType":"ElementaryTypeName","src":"26694:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64964,"nodeType":"ArrayTypeName","src":"26694:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":64967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26690:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"26660:46:97"},{"assignments":[64970],"declarations":[{"constant":false,"id":64970,"mutability":"mutable","name":"dataProposal","nameLocation":"26768:12:97","nodeType":"VariableDeclaration","scope":65010,"src":"26755:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64969,"name":"bytes","nodeType":"ElementaryTypeName","src":"26755:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":64975,"initialValue":{"arguments":[{"hexValue":"31","id":64973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26794:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":64971,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26783:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26787:6:97","memberName":"encode","nodeType":"MemberAccess","src":"26783:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26783:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"26755:41:97"},{"assignments":[64977],"declarations":[{"constant":false,"id":64977,"mutability":"mutable","name":"amount","nameLocation":"26815:6:97","nodeType":"VariableDeclaration","scope":65010,"src":"26807:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64976,"name":"uint256","nodeType":"ElementaryTypeName","src":"26807:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64983,"initialValue":{"arguments":[{"expression":{"id":64979,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64808,"src":"26835:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":64980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26840:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26835:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64981,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64907,"src":"26847:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":64978,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62732,"src":"26824:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":64982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26824:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26807:52:97"},{"expression":{"arguments":[{"id":64985,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64977,"src":"26945:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":64986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26953:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":64984,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"26936:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":64987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26936:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64988,"nodeType":"ExpressionStatement","src":"26936:19:97"},{"expression":{"arguments":[{"id":64992,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64810,"src":"26984:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64993,"name":"recipients","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64962,"src":"26992:10:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":64994,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64970,"src":"27004:12:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":64989,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"26966:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":64990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":64991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26973:10:97","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"26966:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":64995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26966:51:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64996,"nodeType":"ExpressionStatement","src":"26966:51:97"},{"expression":{"id":65003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64997,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64977,"src":"27027:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":64999,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64808,"src":"27047:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27052:5:97","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"27047:10:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65001,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64907,"src":"27059:11:97","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":64998,"name":"getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62732,"src":"27036:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":65002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27036:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27027:44:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65004,"nodeType":"ExpressionStatement","src":"27027:44:97"},{"expression":{"arguments":[{"id":65006,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64977,"src":"27155:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65007,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64909,"src":"27163:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65005,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"27146:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27146:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65009,"nodeType":"ExpressionStatement","src":"27146:33:97"}]},"functionSelector":"8cf86e50","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_native_token","nameLocation":"24727:28:97","parameters":{"id":64802,"nodeType":"ParameterList","parameters":[],"src":"24755:2:97"},"returnParameters":{"id":64803,"nodeType":"ParameterList","parameters":[],"src":"24765:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65237,"nodeType":"FunctionDefinition","src":"27192:2606:97","nodes":[],"body":{"id":65236,"nodeType":"Block","src":"27245:2553:97","nodes":[],"statements":[{"assignments":[65018,65020],"declarations":[{"constant":false,"id":65018,"mutability":"mutable","name":"pool","nameLocation":"27274:4:97","nodeType":"VariableDeclaration","scope":65236,"src":"27256:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65017,"nodeType":"UserDefinedTypeName","pathNode":{"id":65016,"name":"IAllo.Pool","nameLocations":["27256:5:97","27262:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"27256:10:97"},"referencedDeclaration":2319,"src":"27256:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65020,"mutability":"mutable","name":"poolId","nameLocation":"27288:6:97","nodeType":"VariableDeclaration","scope":65236,"src":"27280:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65019,"name":"uint256","nodeType":"ElementaryTypeName","src":"27280:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65029,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27322:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27314:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65022,"name":"address","nodeType":"ElementaryTypeName","src":"27314:7:97","typeDescriptions":{}}},"id":65025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27314:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27326:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27329:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65021,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"27298:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27298:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"27255:76:97"},{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":65031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27360:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":65030,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"27342:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27342:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65033,"nodeType":"ExpressionStatement","src":"27342:35:97"},{"assignments":[65038],"declarations":[{"constant":false,"id":65038,"mutability":"mutable","name":"proposal","nameLocation":"27421:8:97","nodeType":"VariableDeclaration","scope":65236,"src":"27388:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":65037,"nodeType":"UserDefinedTypeName","pathNode":{"id":65036,"name":"CVStrategy.CreateProposal","nameLocations":["27388:10:97","27399:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"27388:25:97"},"referencedDeclaration":59158,"src":"27388:25:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":65056,"initialValue":{"arguments":[{"hexValue":"32","id":65041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27470:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":65042,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"27473:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":65045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27489:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27481:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65043,"name":"address","nodeType":"ElementaryTypeName","src":"27481:7:97","typeDescriptions":{}}},"id":65046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27481:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":65047,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"27493:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27504:12:97","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"27493:23:97","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":65049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27517:9:97","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"27493:33:97","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":65050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27528:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27539:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27531:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65051,"name":"address","nodeType":"ElementaryTypeName","src":"27531:7:97","typeDescriptions":{}}},"id":65054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27531:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65039,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"27444:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27455:14:97","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"27444:25:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":65055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27444:98:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"27388:154:97"},{"assignments":[65058],"declarations":[{"constant":false,"id":65058,"mutability":"mutable","name":"data","nameLocation":"27565:4:97","nodeType":"VariableDeclaration","scope":65236,"src":"27552:17:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65057,"name":"bytes","nodeType":"ElementaryTypeName","src":"27552:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65063,"initialValue":{"arguments":[{"id":65061,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65038,"src":"27583:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":65059,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27572:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27576:6:97","memberName":"encode","nodeType":"MemberAccess","src":"27572:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27572:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"27552:40:97"},{"expression":{"arguments":[{"id":65067,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"27627:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65068,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65058,"src":"27635:4:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65064,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"27602:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27609:17:97","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"27602:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":65069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27602:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65070,"nodeType":"ExpressionStatement","src":"27602:38:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65071,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"27651:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27651:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65073,"nodeType":"ExpressionStatement","src":"27651:18:97"},{"documentation":" ASSERTS","expression":{"arguments":[{"hexValue":"537570706f727420612050726f706f73616c","id":65075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27751:20:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""},"value":"Support a Proposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_514141554692ad262e1564b67ae94d4b5cf8fa9d425224765340931ed1dc5acb","typeString":"literal_string \"Support a Proposal\""}],"id":65074,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"27733:17:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65077,"nodeType":"ExpressionStatement","src":"27733:39:97"},{"assignments":[65079],"declarations":[{"constant":false,"id":65079,"mutability":"mutable","name":"SUPPORT_PCT","nameLocation":"27789:11:97","nodeType":"VariableDeclaration","scope":65236,"src":"27782:18:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":65078,"name":"int256","nodeType":"ElementaryTypeName","src":"27782:6:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":65081,"initialValue":{"hexValue":"313030","id":65080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27803:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"VariableDeclarationStatement","src":"27782:24:97"},{"assignments":[65083],"declarations":[{"constant":false,"id":65083,"mutability":"mutable","name":"PROPOSAL_ID","nameLocation":"27824:11:97","nodeType":"VariableDeclaration","scope":65236,"src":"27816:19:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65082,"name":"uint256","nodeType":"ElementaryTypeName","src":"27816:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65085,"initialValue":{"hexValue":"32","id":65084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27838:1:97","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"VariableDeclarationStatement","src":"27816:23:97"},{"assignments":[65091],"declarations":[{"constant":false,"id":65091,"mutability":"mutable","name":"votes","nameLocation":"27885:5:97","nodeType":"VariableDeclaration","scope":65236,"src":"27849:41:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport[]"},"typeName":{"baseType":{"id":65089,"nodeType":"UserDefinedTypeName","pathNode":{"id":65088,"name":"CVStrategy.ProposalSupport","nameLocations":["27849:10:97","27860:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"27849:26:97"},"referencedDeclaration":59201,"src":"27849:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":65090,"nodeType":"ArrayTypeName","src":"27849:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}},"visibility":"internal"}],"id":65098,"initialValue":{"arguments":[{"hexValue":"31","id":65096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27926:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"27893:32:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct CVStrategy.ProposalSupport memory[] memory)"},"typeName":{"baseType":{"id":65093,"nodeType":"UserDefinedTypeName","pathNode":{"id":65092,"name":"CVStrategy.ProposalSupport","nameLocations":["27897:10:97","27908:15:97"],"nodeType":"IdentifierPath","referencedDeclaration":59201,"src":"27897:26:97"},"referencedDeclaration":59201,"src":"27897:26:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_storage_ptr","typeString":"struct CVStrategy.ProposalSupport"}},"id":65094,"nodeType":"ArrayTypeName","src":"27897:28:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_storage_$dyn_storage_ptr","typeString":"struct CVStrategy.ProposalSupport[]"}}},"id":65097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27893:35:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"27849:79:97"},{"expression":{"id":65107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65099,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65091,"src":"27938:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}},"id":65101,"indexExpression":{"hexValue":"30","id":65100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27944:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27938:8:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65104,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65083,"src":"27976:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65105,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65079,"src":"27989:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":65102,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"27949:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27960:15:97","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":59201,"src":"27949:26:97","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$59201_storage_ptr_$","typeString":"type(struct CVStrategy.ProposalSupport storage pointer)"}},"id":65106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27949:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"src":"27938:63:97","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$59201_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory"}},"id":65108,"nodeType":"ExpressionStatement","src":"27938:63:97"},{"expression":{"arguments":[{"id":65112,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"28081:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":65115,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65091,"src":"28100:5:97","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$59201_memory_ptr_$dyn_memory_ptr","typeString":"struct CVStrategy.ProposalSupport memory[] memory"}],"expression":{"id":65113,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28089:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28093:6:97","memberName":"encode","nodeType":"MemberAccess","src":"28089:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28089:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65109,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"28065:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28072:8:97","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":604,"src":"28065:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) payable external"}},"id":65117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28065:42:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65118,"nodeType":"ExpressionStatement","src":"28065:42:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65119,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65465,"src":"28117:16:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28117:18:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65121,"nodeType":"ExpressionStatement","src":"28117:18:97"},{"assignments":[65123],"declarations":[{"constant":false,"id":65123,"mutability":"mutable","name":"STAKED_AMOUNT","nameLocation":"28154:13:97","nodeType":"VariableDeclaration","scope":65236,"src":"28146:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65122,"name":"uint256","nodeType":"ElementaryTypeName","src":"28146:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65132,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":65126,"name":"SUPPORT_PCT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65079,"src":"28178:11:97","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":65125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28170:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":65124,"name":"uint256","nodeType":"ElementaryTypeName","src":"28170:7:97","typeDescriptions":{}}},"id":65127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28170:20:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":65128,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62278,"src":"28193:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28170:36:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":65130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28209:3:97","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"28170:42:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28146:66:97"},{"assignments":[65135],"declarations":[{"constant":false,"id":65135,"mutability":"mutable","name":"cv","nameLocation":"28233:2:97","nodeType":"VariableDeclaration","scope":65236,"src":"28222:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65134,"nodeType":"UserDefinedTypeName","pathNode":{"id":65133,"name":"CVStrategy","nameLocations":["28222:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"28222:10:97"},"referencedDeclaration":61025,"src":"28222:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65146,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65141,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65018,"src":"28265:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28270:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"28265:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28257:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65139,"name":"address","nodeType":"ElementaryTypeName","src":"28257:7:97","typeDescriptions":{}}},"id":65143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28257:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28249:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65137,"name":"address","nodeType":"ElementaryTypeName","src":"28249:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28249:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65136,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"28238:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28238:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"28222:59:97"},{"expression":{"arguments":[{"arguments":[{"id":65150,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65083,"src":"28325:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":65153,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28346:4:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyTest_$65392","typeString":"contract CVStrategyTest"}],"id":65152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28338:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65151,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:97","typeDescriptions":{}}},"id":65154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28338:13:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65148,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65135,"src":"28300:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28303:21:97","memberName":"getProposalVoterStake","nodeType":"MemberAccess","referencedDeclaration":60065,"src":"28300:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view external returns (uint256)"}},"id":65155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28300:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65156,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65123,"src":"28354:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65147,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28291:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28291:77:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65158,"nodeType":"ExpressionStatement","src":"28291:77:97"},{"expression":{"arguments":[{"arguments":[{"id":65162,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65083,"src":"28432:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65160,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65135,"src":"28405:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28408:23:97","memberName":"getProposalStakedAmount","nodeType":"MemberAccess","referencedDeclaration":60078,"src":"28405:26:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":65163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28405:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65164,"name":"STAKED_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65123,"src":"28446:13:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65159,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"28396:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28396:64:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65166,"nodeType":"ExpressionStatement","src":"28396:64:97"},{"assignments":[null,null,null,65168,65170,null,null,65172,65174,null,65176,null],"declarations":[null,null,null,{"constant":false,"id":65168,"mutability":"mutable","name":"requestedAmount","nameLocation":"28553:15:97","nodeType":"VariableDeclaration","scope":65236,"src":"28545:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65167,"name":"uint256","nodeType":"ElementaryTypeName","src":"28545:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65170,"mutability":"mutable","name":"stakedTokens","nameLocation":"28590:12:97","nodeType":"VariableDeclaration","scope":65236,"src":"28582:20:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65169,"name":"uint256","nodeType":"ElementaryTypeName","src":"28582:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,null,{"constant":false,"id":65172,"mutability":"mutable","name":"blockLast","nameLocation":"28652:9:97","nodeType":"VariableDeclaration","scope":65236,"src":"28644:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65171,"name":"uint256","nodeType":"ElementaryTypeName","src":"28644:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65174,"mutability":"mutable","name":"convictionLast","nameLocation":"28683:14:97","nodeType":"VariableDeclaration","scope":65236,"src":"28675:22:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65173,"name":"uint256","nodeType":"ElementaryTypeName","src":"28675:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null,{"constant":false,"id":65176,"mutability":"mutable","name":"threshold","nameLocation":"28733:9:97","nodeType":"VariableDeclaration","scope":65236,"src":"28725:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65175,"name":"uint256","nodeType":"ElementaryTypeName","src":"28725:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":65181,"initialValue":{"arguments":[{"hexValue":"31","id":65179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28809:1:97","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":65177,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65135,"src":"28794:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28797:11:97","memberName":"getProposal","nodeType":"MemberAccess","referencedDeclaration":60049,"src":"28794:14:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"id":65180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28794:17:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalType_$59144_$_t_enum$_ProposalStatus_$59163_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum CVStrategy.ProposalType,enum CVStrategy.ProposalStatus,uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"28489:322:97"},{"expression":{"arguments":[{"hexValue":"52657175657374656420416d6f756e743a202573","id":65185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29019:22:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},"value":"Requested Amount: %s"},{"id":65186,"name":"requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65168,"src":"29043:15:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b73f91b2ae0e5548936a935a1c943498f10536fe31a510dd64c8292694e5bc37","typeString":"literal_string \"Requested Amount: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65182,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29007:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29015:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29007:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29007:52:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65188,"nodeType":"ExpressionStatement","src":"29007:52:97"},{"expression":{"arguments":[{"hexValue":"5374616b656420546f6b656e733a202573","id":65192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29081:19:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},"value":"Staked Tokens: %s"},{"id":65193,"name":"stakedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65170,"src":"29102:12:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da25dabb9882cdd00c5dd5c756c358efc318393ba8e1ababb75f4ad130b7b4ad","typeString":"literal_string \"Staked Tokens: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65189,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29069:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29077:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29069:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:46:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65195,"nodeType":"ExpressionStatement","src":"29069:46:97"},{"expression":{"arguments":[{"hexValue":"5468726573686f6c643a202573","id":65199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29137:15:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},"value":"Threshold: %s"},{"id":65200,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65176,"src":"29154:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb1e5749d8f98f35759354a3f71ee1ec7dfe5a8b520152a94f5d6ec2e9e49096","typeString":"literal_string \"Threshold: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65196,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29125:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29133:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29125:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29125:39:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65202,"nodeType":"ExpressionStatement","src":"29125:39:97"},{"expression":{"arguments":[{"hexValue":"426c6f636b204c6173743a202573","id":65206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29256:16:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},"value":"Block Last: %s"},{"id":65207,"name":"blockLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65172,"src":"29274:9:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_310e46e251101787bf4b80f7962f984143aba2d3c47822f7015ef3be1b561513","typeString":"literal_string \"Block Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65203,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29244:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29252:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29244:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29244:40:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65209,"nodeType":"ExpressionStatement","src":"29244:40:97"},{"expression":{"arguments":[{"hexValue":"436f6e76696374696f6e204c6173743a202573","id":65213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29306:21:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},"value":"Conviction Last: %s"},{"id":65214,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65174,"src":"29329:14:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6ddbf8bcf6ab402430be99a42a25b1cdb5ba7cb4d5926bb650082b8110fbedfe","typeString":"literal_string \"Conviction Last: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65210,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32357,"src":"29294:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$32357_$","typeString":"type(library console)"}},"id":65212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29302:3:97","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25001,"src":"29294:11:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":65215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29294:50:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65216,"nodeType":"ExpressionStatement","src":"29294:50:97"},{"assignments":[65218],"declarations":[{"constant":false,"id":65218,"mutability":"mutable","name":"dataProposal","nameLocation":"29620:12:97","nodeType":"VariableDeclaration","scope":65236,"src":"29607:25:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65217,"name":"bytes","nodeType":"ElementaryTypeName","src":"29607:5:97","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":65223,"initialValue":{"arguments":[{"id":65221,"name":"PROPOSAL_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65083,"src":"29646:11:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29635:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29639:6:97","memberName":"encode","nodeType":"MemberAccess","src":"29635:10:97","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29635:23:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"29607:51:97"},{"expression":{"arguments":[{"id":65227,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"29687:6:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":65231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29709:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29695:13:97","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":65228,"name":"address","nodeType":"ElementaryTypeName","src":"29699:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65229,"nodeType":"ArrayTypeName","src":"29699:9:97","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":65232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29695:16:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":65233,"name":"dataProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65218,"src":"29713:12:97","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65224,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"29669:4:97","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:6:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29676:10:97","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":676,"src":"29669:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,address[] memory,bytes memory) external"}},"id":65234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29669:57:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65235,"nodeType":"ExpressionStatement","src":"29669:57:97"}]},"functionSelector":"eaeb7195","implemented":true,"kind":"function","modifiers":[],"name":"test_distribute_signaling_proposal","nameLocation":"27201:34:97","parameters":{"id":65012,"nodeType":"ParameterList","parameters":[],"src":"27235:2:97"},"returnParameters":{"id":65013,"nodeType":"ParameterList","parameters":[],"src":"27245:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65314,"nodeType":"FunctionDefinition","src":"29804:496:97","nodes":[],"body":{"id":65313,"nodeType":"Block","src":"29843:457:97","nodes":[],"statements":[{"assignments":[65244,65246],"declarations":[{"constant":false,"id":65244,"mutability":"mutable","name":"pool","nameLocation":"29872:4:97","nodeType":"VariableDeclaration","scope":65313,"src":"29854:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65243,"nodeType":"UserDefinedTypeName","pathNode":{"id":65242,"name":"IAllo.Pool","nameLocations":["29854:5:97","29860:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"29854:10:97"},"referencedDeclaration":2319,"src":"29854:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65246,"mutability":"mutable","name":"poolId","nameLocation":"29886:6:97","nodeType":"VariableDeclaration","scope":65313,"src":"29878:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65245,"name":"uint256","nodeType":"ElementaryTypeName","src":"29878:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65255,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29920:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29912:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65248,"name":"address","nodeType":"ElementaryTypeName","src":"29912:7:97","typeDescriptions":{}}},"id":65251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29912:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29924:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29927:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65247,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"29896:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29896:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"29853:76:97"},{"assignments":[65258],"declarations":[{"constant":false,"id":65258,"mutability":"mutable","name":"cv","nameLocation":"29951:2:97","nodeType":"VariableDeclaration","scope":65313,"src":"29940:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65257,"nodeType":"UserDefinedTypeName","pathNode":{"id":65256,"name":"CVStrategy","nameLocations":["29940:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"29940:10:97"},"referencedDeclaration":61025,"src":"29940:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65269,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65264,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65244,"src":"29983:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29988:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"29983:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29975:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65262,"name":"address","nodeType":"ElementaryTypeName","src":"29975:7:97","typeDescriptions":{}}},"id":65266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29967:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65260,"name":"address","nodeType":"ElementaryTypeName","src":"29967:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29967:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65259,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"29956:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29956:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"29940:59:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65275,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"30049:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":65276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30065:20:97","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":61211,"src":"30049:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30086:8:97","memberName":"selector","nodeType":"MemberAccess","src":"30049:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65273,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30026:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30030:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30026:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30026:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65270,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30010:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30013:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"30010:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30010:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65280,"nodeType":"ExpressionStatement","src":"30010:86:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65281,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65258,"src":"30106:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30109:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30106:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30106:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65285,"nodeType":"ExpressionStatement","src":"30106:19:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65289,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30150:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30150:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30136:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30139:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"30136:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30136:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65292,"nodeType":"ExpressionStatement","src":"30136:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65293,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65258,"src":"30173:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30176:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30173:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30173:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65297,"nodeType":"ExpressionStatement","src":"30173:19:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65298,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30202:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30205:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"30202:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30202:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65302,"nodeType":"ExpressionStatement","src":"30202:14:97"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65306,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30261:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30261:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65304,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62284,"src":"30236:15:97","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":65305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30252:8:97","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":61643,"src":"30236:24:97","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":65308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30236:38:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":65309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30276:4:97","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"69734d656d626572","id":65310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30282:10:97","typeDescriptions":{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""},"value":"isMember"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80cbf05d7d5f69e2416d469e0845258b3b8e691fa1ebde9da67f087708fd5755","typeString":"literal_string \"isMember\""}],"id":65303,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":12773,"src":"30227:8:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory)"}},"id":65311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30227:66:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65312,"nodeType":"ExpressionStatement","src":"30227:66:97"}]},"functionSelector":"136994c0","implemented":true,"kind":"function","modifiers":[],"name":"test_activate_points","nameLocation":"29813:20:97","parameters":{"id":65238,"nodeType":"ParameterList","parameters":[],"src":"29833:2:97"},"returnParameters":{"id":65239,"nodeType":"ParameterList","parameters":[],"src":"29843:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65391,"nodeType":"FunctionDefinition","src":"30306:640:97","nodes":[],"body":{"id":65390,"nodeType":"Block","src":"30347:599:97","nodes":[],"statements":[{"assignments":[65321,65323],"declarations":[{"constant":false,"id":65321,"mutability":"mutable","name":"pool","nameLocation":"30376:4:97","nodeType":"VariableDeclaration","scope":65390,"src":"30358:22:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":65320,"nodeType":"UserDefinedTypeName","pathNode":{"id":65319,"name":"IAllo.Pool","nameLocations":["30358:5:97","30364:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"30358:10:97"},"referencedDeclaration":2319,"src":"30358:10:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"},{"constant":false,"id":65323,"mutability":"mutable","name":"poolId","nameLocation":"30390:6:97","nodeType":"VariableDeclaration","scope":65390,"src":"30382:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65322,"name":"uint256","nodeType":"ElementaryTypeName","src":"30382:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65332,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30","id":65327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30424:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30416:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65325,"name":"address","nodeType":"ElementaryTypeName","src":"30416:7:97","typeDescriptions":{}}},"id":65328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30416:10:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30428:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30431:1:97","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65324,"name":"_createProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62700,"src":"30400:15:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"function (address,uint256,uint256) returns (struct IAllo.Pool memory,uint256)"}},"id":65331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30400:33:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_struct$_Pool_$2319_memory_ptr_$_t_uint256_$","typeString":"tuple(struct IAllo.Pool memory,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"30357:76:97"},{"assignments":[65335],"declarations":[{"constant":false,"id":65335,"mutability":"mutable","name":"cv","nameLocation":"30455:2:97","nodeType":"VariableDeclaration","scope":65390,"src":"30444:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65334,"nodeType":"UserDefinedTypeName","pathNode":{"id":65333,"name":"CVStrategy","nameLocations":["30444:10:97"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"30444:10:97"},"referencedDeclaration":61025,"src":"30444:10:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":65346,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":65341,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65321,"src":"30487:4:97","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":65342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30492:8:97","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"30487:13:97","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":65340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30479:7:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65339,"name":"address","nodeType":"ElementaryTypeName","src":"30479:7:97","typeDescriptions":{}}},"id":65343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30479:22:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30471:8:97","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65337,"name":"address","nodeType":"ElementaryTypeName","src":"30471:8:97","stateMutability":"payable","typeDescriptions":{}}},"id":65344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30471:31:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":65336,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"30460:10:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":65345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30460:43:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"30444:59:97"},{"expression":{"arguments":[{"arguments":[{"expression":{"expression":{"id":65352,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"30553:15:97","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":65353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30569:20:97","memberName":"UserAlreadyActivated","nodeType":"MemberAccess","referencedDeclaration":61211,"src":"30553:36:97","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":65354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30590:8:97","memberName":"selector","nodeType":"MemberAccess","src":"30553:45:97","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":65350,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30530:3:97","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30534:18:97","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30530:22:97","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30530:69:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30514:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30517:12:97","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":24265,"src":"30514:15:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":65356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30514:86:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65357,"nodeType":"ExpressionStatement","src":"30514:86:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65358,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65335,"src":"30610:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30613:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30610:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30610:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65362,"nodeType":"ExpressionStatement","src":"30610:19:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65363,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65335,"src":"30640:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30643:16:97","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":59618,"src":"30640:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30640:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65367,"nodeType":"ExpressionStatement","src":"30640:21:97"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65371,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"30761:10:97","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30761:12:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65368,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30747:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30750:10:97","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"30747:13:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30747:27:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65374,"nodeType":"ExpressionStatement","src":"30747:27:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65375,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65335,"src":"30784:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30787:14:97","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"30784:17:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30784:19:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65379,"nodeType":"ExpressionStatement","src":"30784:19:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65380,"name":"cv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65335,"src":"30813:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30816:16:97","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":59618,"src":"30813:19:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30813:21:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65384,"nodeType":"ExpressionStatement","src":"30813:21:97"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65385,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"30844:2:97","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30847:9:97","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"30844:12:97","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30844:14:97","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65389,"nodeType":"ExpressionStatement","src":"30844:14:97"}]},"functionSelector":"0ef639f6","implemented":true,"kind":"function","modifiers":[],"name":"test_deactivate_points","nameLocation":"30315:22:97","parameters":{"id":65315,"nodeType":"ParameterList","parameters":[],"src":"30337:2:97"},"returnParameters":{"id":65316,"nodeType":"ParameterList","parameters":[],"src":"30347:0:97"},"scope":65392,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":62250,"name":"Test","nameLocations":["1552:4:97"],"nodeType":"IdentifierPath","referencedDeclaration":22442,"src":"1552:4:97"},"id":62251,"nodeType":"InheritanceSpecifier","src":"1552:4:97"},{"baseName":{"id":62252,"name":"AlloSetup","nameLocations":["1558:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1558:9:97"},"id":62253,"nodeType":"InheritanceSpecifier","src":"1558:9:97"},{"baseName":{"id":62254,"name":"RegistrySetupFull","nameLocations":["1569:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1569:17:97"},"id":62255,"nodeType":"InheritanceSpecifier","src":"1569:17:97"},{"baseName":{"id":62256,"name":"CVStrategyHelpers","nameLocations":["1588:17:97"],"nodeType":"IdentifierPath","referencedDeclaration":62208,"src":"1588:17:97"},"id":62257,"nodeType":"InheritanceSpecifier","src":"1588:17:97"},{"baseName":{"id":62258,"name":"Errors","nameLocations":["1607:6:97"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1607:6:97"},"id":62259,"nodeType":"InheritanceSpecifier","src":"1607:6:97"},{"baseName":{"id":62260,"name":"GasHelpers2","nameLocations":["1615:11:97"],"nodeType":"IdentifierPath","referencedDeclaration":65466,"src":"1615:11:97"},"id":62261,"nodeType":"InheritanceSpecifier","src":"1615:11:97"},{"baseName":{"id":62262,"name":"SafeSetup","nameLocations":["1628:9:97"],"nodeType":"IdentifierPath","referencedDeclaration":65847,"src":"1628:9:97"},"id":62263,"nodeType":"InheritanceSpecifier","src":"1628:9:97"}],"canonicalName":"CVStrategyTest","contractDependencies":[1390,2295,9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65392,65847,65466,3089,62208,9534,9370,9325,9264,22442,22391,17989,17664,16871,14811,14047,12515,12581,12578,3106],"name":"CVStrategyTest","nameLocation":"1534:14:97","scope":65393,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":97} \ No newline at end of file diff --git a/pkg/contracts/out/DeployCV.s.sol/DeployCV.json b/pkg/contracts/out/DeployCV.s.sol/DeployCV.json index 06cb31578..1eecf4b3d 100644 --- a/pkg/contracts/out/DeployCV.s.sol/DeployCV.json +++ b/pkg/contracts/out/DeployCV.s.sol/DeployCV.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a081905260139283559091906014906200006090826200012f565b5050601f805460ff19166001908117909155602255503480156200008357600080fd5b50620001fb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b557607f821691505b602082108103620000d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012a57600081815260208120601f850160051c81016020861015620001055750805b601f850160051c820191505b81811015620001265782815560010162000111565b5050505b505050565b81516001600160401b038111156200014b576200014b6200008a565b62000163816200015c8454620000a0565b84620000dc565b602080601f8311600181146200019b5760008415620001825750858301515b600019600386901b1c1916600185901b17855562000126565b600085815260208120601f198616915b82811015620001cc57888601518255948401946001909101908401620001ab565b5085821015620001eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201592b806200020c6000396000f3fe60806040523480156200001157600080fd5b5060043610620003cc5760003560e01c80637b2edf321162000205578063ae1596011162000125578063da4bf08711620000bb578063ef0d790f1162000086578063ef0d790f14620006c7578063f8ccbf4714620006d1578063fa7626d414620006df578063fc0c546a14620006ed57600080fd5b8063da4bf0871462000692578063dac4eb16146200069c578063e20c9f7114620006a6578063e99ce91114620006b057600080fd5b8063c040622611620000fc578063c0406226146200066a578063d1e82b581462000674578063d1f2cd88146200067e578063d5bee9f5146200068857600080fd5b8063ae159601146200062e578063b5508aa91462000645578063ba414fa6146200064f57600080fd5b80638e0d1a50116200019b578063916a17c61162000172578063916a17c614620005f4578063a0cf0aea14620005fe578063a407c67a146200061a578063aa3744bd146200062457600080fd5b80638e0d1a5014620005815780638e3c249314620005d3578063914a5f6d14620005dd57600080fd5b8063829e423f11620001dc578063829e423f146200043f57806385226c8114620005a6578063896546a114620005bf5780638c7408c4146200043f57600080fd5b80637b2edf3214620005775780637cbe79ed14620005815780638125937b146200059c57600080fd5b80633f7286f411620002f15780636c53db9a116200028757806374d9284e116200025e57806374d9284e146200043f578063759c9a8614620005595780637658524d146200056357806379e62d0d146200056d57600080fd5b80636c53db9a146200051d5780636db52510146200053657806370a32944146200054f57600080fd5b80635aff599911620002c85780635aff599914620004e657806366d003ac14620004f057806366d9a9a014620004fa5780636a38dd0a146200051357600080fd5b80633f7286f414620004c85780634bf4ba2114620004d2578063587c124314620004dc57600080fd5b80631ae726d911620003675780631ed7831c116200033e5780631ed7831c14620004725780632ade3880146200048b578063392f37e914620004a45780633e5e3c2314620004be57600080fd5b80631ae726d914620004475780631b96dce6146200045e5780631e7bcb2e146200046857600080fd5b80630688b13511620003a85780630688b135146200041657806308dbbb0314620004205780630f166ad41462000438578063174eedde146200043f57600080fd5b8062b1fad714620003d1578063030e400614620003f85780630522b7db1462000402575b600080fd5b620003db62000701565b6040516001600160a01b0390911681526020015b60405180910390f35b620003db62000748565b602054620003db906001600160a01b031681565b620003db6200078a565b62000429603281565b604051908152602001620003ef565b30620003db565b6000620003db565b620003db6200045836600462004097565b620007cc565b620003db62000b26565b620003db62000b68565b6200047c62000baa565b604051620003ef919062004104565b6200049562000c0e565b604051620003ef91906200416d565b620004ae62000d5c565b604051620003ef92919062004233565b6200047c62000dfb565b6200047c62000e5d565b6200047c62000ebf565b620003db62000ee2565b620003db62000f24565b620003db62000f66565b6200050462000fa8565b604051620003ef919062004256565b620003db62001092565b601f54620003db9061010090046001600160a01b031681565b6200054d6200054736600462004382565b620010d4565b005b6200047c620013a5565b620003db62001447565b6200042960225481565b6200047c62001489565b620003db620014f8565b73f39fd6e51aad88f6f4ce6ab8827279cfffb92266620003db565b620003db6200153a565b620005b062001710565b604051620003ef919062004428565b602154620003db906001600160a01b031681565b620003db620017ea565b62000429620005ee36600462004097565b6200182c565b620005046200192c565b620003db73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200047c62001a16565b620003db62001a85565b620004296200063f3660046200448e565b62001ac7565b620005b062001cc7565b6200065962001da1565b6040519015158152602001620003ef565b6200054d62001eef565b620003db6200343d565b620003db6200347f565b620003db620034c1565b620003db62003503565b620003db62003545565b6200047c62003587565b62000429620006c13660046200450a565b620035e9565b620003db62003697565b601f54620006599060ff1681565b600754620006599060ff1681565b602354620003db906001600160a01b031681565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620036d4565b905090565b6000620007436040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620036d4565b6000620007436040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620036d4565b6020546000906001600160a01b031662000b15576000604051620007f09062003fb4565b604051809103906000f0801580156200080d573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082f9062003fc2565b604051809103906000f0801580156200084c573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cf91906200453d565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200097f57600080fd5b505af115801562000994573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2457600080fd5b505af115801562000a39573d6000803e3d6000fd5b50600092506001915062000a4a9050565b60405190808252806020026020018201604052801562000a74578160200160208202803683370190505b509050848160008151811062000a8e5762000a8e6200455d565b6001600160a01b039283166020918202929092018101919091525460405163b63e800d60e01b815291169063b63e800d9062000add908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562000af857600080fd5b505af115801562000b0d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b6000620007436040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620036d4565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c0457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000be5575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d3b57838290600052602060002001805462000ca790620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000cd590620045da565b801562000d265780601f1062000cfa5761010080835404028352916020019162000d26565b820191906000526020600020905b81548152906001019060200180831162000d0857829003601f168201915b50505050508152602001906001019062000c85565b50505050815250508152602001906001019062000c32565b50505050905090565b601380546014805491929162000d7290620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000da090620045da565b801562000df15780601f1062000dc55761010080835404028352916020019162000df1565b820191906000526020600020905b81548152906001019060200180831162000dd357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620036d4565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200107957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200103a5790505b5050505050815250508152602001906001019062000fcc565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620036d4565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200115a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001180919062004616565b6040518b63ffffffff1660e01b8152600401620011a79a999897969594939291906200465d565b600060405180830381865afa158015620011c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620011ef9190810190620046d4565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200129c919062004754565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001353908c908c908c90600090819081908190819081908d9060650162004793565b6020604051808303816000875af115801562001373573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139991906200481a565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013d462000b68565b81600081518110620013ea57620013ea6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620014f8565b816001815181106200142a576200142a6200455d565b6001600160a01b0390921660209283029190910190910152919050565b6000620007436040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620036d4565b60408051600280825260608083018452926000929190602083019080368337019050509050620014b862000701565b81600081518110620014ce57620014ce6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250506200141462001092565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620036d4565b60006040516200154a9062003fd0565b604051809103906000f08015801562001567573d6000803e3d6000fd5b506025805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563c4d66de8620015a362003545565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015e557600080fd5b505af1158015620015fa573d6000803e3d6000fd5b505050506040516200160c9062003fde565b604051809103906000f08015801562001629573d6000803e3d6000fd5b506024805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563a6b63eb873f39fd6e51aad88f6f4ce6ab8827279cfffb922666025546001600160a01b03166200168662003503565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152600060648201819052608482015260a401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b50506024546001600160a01b03169392505050565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d535783829060005260206000200180546200175690620045da565b80601f01602080910402602001604051908101604052809291908181526020018280546200178490620045da565b8015620017d55780601f10620017a957610100808354040283529160200191620017d5565b820191906000526020600020905b815481529060010190602001808311620017b757829003601f168201915b50505050508152602001906001019062001734565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620036d4565b6015546000906200192457816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c65310000000000000000000000000000000000000000815250815250620018af73f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b620018b962001489565b6040518563ffffffff1660e01b8152600401620018da94939291906200485f565b6020604051808303816000875af1158015620018fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001920919062004616565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620019fd57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019be5790505b5050505050815250508152602001906001019062001950565b6040805160028082526060808301845292600092919060208301908036833701905050905062001a4562000ee2565b8160008151811062001a5b5762001a5b6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620017ea565b6000620007436040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620036d4565b604080516080810182526000808252602082018190529181018290526060810182905262001afd670de0a46bc207d800620036e8565b602082015262001b156702c68af0bb140000620036e8565b604082015262001b2c66038d7ea4c68000620036e8565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001b7a5762001b7a6200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001bb15762001bb16200455d565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001be85750835b886001600160a01b031663e1007d4a62001c02886200182c565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001c749796959493929190620048dc565b6020604051808303816000875af115801562001c94573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cba919062004616565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357838290600052602060002001805462001d0d90620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462001d3b90620045da565b801562001d8c5780601f1062001d605761010080835404028352916020019162001d8c565b820191906000526020600020905b81548152906001019060200180831162001d6e57829003601f168201915b50505050508152602001906001019062001ceb565b600754600090610100900460ff161562001dc45750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001eea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001e6c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620049f9565b60408051601f198184030181529082905262001e889162004a2b565b6000604051808303816000865af19150503d806000811462001ec7576040519150601f19603f3d011682016040523d82523d6000602084013e62001ecc565b606091505b509150508080602001905181019062001ee691906200481a565b9150505b919050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f6057600080fd5b505af115801562001f75573d6000803e3d6000fd5b50505050600062001f856200153a565b905060405162001f959062003fec565b604051809103906000f08015801562001fb2573d6000803e3d6000fd5b50602360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200201a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200204091906200453d565b90506000604051620020529062003ffa565b604051809103906000f0801580156200206f573d6000803e3d6000fd5b5090506200207c62004008565b6001600160a01b038085168252602354166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020cd90620045da565b80601f0160208091040260200160405190810160405280929190818152602001828054620020fb90620045da565b80156200214c5780601f1062002120576101008083540402835291602001916200214c565b820191906000526020600020905b8154815290600101906020018083116200212e57829003601f168201915b5050509190925250505060a08201526200216562003701565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb290620021b790859060040162004a49565b6020604051808303816000875af1158015620021d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021fd91906200453d565b6023549091506001600160a01b03166340c10f1973f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200227057600080fd5b505af115801562002285573d6000803e3d6000fd5b505050506000856040516200229a9062004073565b6001600160a01b039091168152602001604051809103906000f080158015620022c7573d6000803e3d6000fd5b509050600086604051620022db9062004073565b6001600160a01b039091168152602001604051809103906000f08015801562002308573d6000803e3d6000fd5b5090506000620023318884868a602360009054906101000a90046001600160a01b031662001ac7565b90506000620023458984878b600062001ac7565b60408051600480825260a082019092529192506000919060208201608080368337019050509050846001600160a01b03166369fa25c46200238e670dd46c0831659000620036e8565b6040518263ffffffff1660e01b8152600401620023ad91815260200190565b600060405180830381600087803b158015620023c857600080fd5b505af1158015620023dd573d6000803e3d6000fd5b50505050846001600160a01b03166311f22ae36200240367016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200242291815260200190565b600060405180830381600087803b1580156200243d57600080fd5b505af115801562002452573d6000803e3d6000fd5b50505050846001600160a01b031663fc1711f2620024776601c6bf52634000620036e8565b6040518263ffffffff1660e01b81526004016200249691815260200190565b600060405180830381600087803b158015620024b157600080fd5b505af1158015620024c6573d6000803e3d6000fd5b50505050836001600160a01b03166369fa25c4620024ec670dd46c0831659000620036e8565b6040518263ffffffff1660e01b81526004016200250b91815260200190565b600060405180830381600087803b1580156200252657600080fd5b505af11580156200253b573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae36200256167016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200258091815260200190565b600060405180830381600087803b1580156200259b57600080fd5b505af1158015620025b0573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620025d56601c6bf52634000620036e8565b6040518263ffffffff1660e01b8152600401620025f491815260200190565b600060405180830381600087803b1580156200260f57600080fd5b505af115801562002624573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200268757600080fd5b505af11580156200269c573d6000803e3d6000fd5b5050505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600081518110620026cb57620026cb6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816001815181106200271657620027166200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050733c44cdddb6a900fa2b585dd299e03d12fa4293bc816002815181106200276157620027616200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507390f79bf6eb2c4f870365e785982e1f101e93b90681600381518110620027ac57620027ac6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b815181101562002ad7577f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fec2a8d8383815181106200282057620028206200455d565b60200260200101516040518263ffffffff1660e01b81526004016200285491906001600160a01b0391909116815260200190565b600060405180830381600087803b1580156200286f57600080fd5b505af115801562002884573d6000803e3d6000fd5b505060235484516001600160a01b0390911692506340c10f199150849084908110620028b457620028b46200455d565b602002602001015160646040518363ffffffff1660e01b8152600401620028f09291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200290b57600080fd5b505af115801562002920573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038b8116600483015260326024830152909116925063095ea7b391506044016020604051808303816000875af115801562002978573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200299e91906200481a565b50856001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620029db57600080fd5b505af1158015620029f0573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a3057600080fd5b505af115801562002a45573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002aa857600080fd5b505af115801562002abd573d6000803e3d6000fd5b50505050808062002ace9062004ad5565b915050620027cf565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002b4957600080fd5b505af115801562002b5e573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038e811660048301526000196024830152909116925063095ea7b391506044016020604051808303816000875af115801562002bb7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bdd91906200481a565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018490526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b15801562002c4257600080fd5b505af115801562002c57573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018581526020018360008151811062002c8b5762002c8b6200455d565b60200260200101516001600160a01b031681526020016001600281111562002cb75762002cb762004630565b815260326020808301919091526023546001600160a01b0316604092830152905191925060009162002cec9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002d2c908890859060040162004233565b6020604051808303816000875af115801562002d4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d7291906200453d565b506040518060c00160405280600281526020018681526020018460018151811062002da15762002da16200455d565b60200260200101516001600160a01b031681526020016001600281111562002dcd5762002dcd62004630565b815260196020808301919091526023546001600160a01b0316604092830152905191935062002dff9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002e3f908890859060040162004233565b6020604051808303816000875af115801562002e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e8591906200453d565b506040518060c00160405280600381526020018681526020018460028151811062002eb45762002eb46200455d565b60200260200101516001600160a01b031681526020016001600281111562002ee05762002ee062004630565b8152600a6020808301919091526023546001600160a01b0316604092830152905191935062002f129184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002f52908890859060040162004233565b6020604051808303816000875af115801562002f72573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f9891906200453d565b5060006040518060c00160405280600181526020018681526020018560008151811062002fc95762002fc96200455d565b60200260200101516001600160a01b031681526020016000600281111562002ff55762002ff562004630565b81526020016000815260200160006001600160a01b0316815250905060008160405160200162003026919062004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062003066908990859060040162004233565b6020604051808303816000875af115801562003086573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030ac91906200453d565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200310c57600080fd5b505af115801562003121573d6000803e3d6000fd5b50505050620031666040518060400160405280600a81526020017f506f6f6c49643a202573000000000000000000000000000000000000000000008152508862003b98565b620031a76040518060400160405280601281526020017f53747261746567793120416464723a20257300000000000000000000000000008152508a62003bfe565b620031e86040518060400160405280601381526020017f706f6f6c49645369676e616c696e673a202573000000000000000000000000008152508762003b98565b620032296040518060400160405280601281526020017f53747261746567793220416464723a20257300000000000000000000000000008152508962003bfe565b6200326a6040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f62003bfe565b60408051808201909152600e81527f546f6b656e20416464723a2025730000000000000000000000000000000000006020820152602354620032b691906001600160a01b031662003bfe565b6200330b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee62003bfe565b6200334c6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508b62003bfe565b6200338d6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508e62003bfe565b620033e96040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a20257300000000000000000000000000815250620033e373f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b62003bfe565b6200342d6040518060400160405280601581526020017f436f756e63696c205361666520416464723a2025730000000000000000000000815250620033e362003701565b5050505050505050505050505050565b6000620007436040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620036d4565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b600084816200360b6200360462989680608087901b62004b5a565b8362003c47565b905060806f800000000000000000000000000000006200362f866298968062004b7d565b6200363f84600160801b62004b7d565b6200364e629896808a62004b93565b6200365a919062004b93565b62003666919062004b5a565b62003672898562004b93565b6200367e919062004bad565b6200368a919062004bad565b901c979650505050505050565b6000620007436040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620036e18262003d00565b5092915050565b6000620036fb64174876e8008362004b5a565b92915050565b6022546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa18649916200375a9160040190815260200190565b602060405180830381865afa15801562003778573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200379e91906200453d565b6021805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200384c57600080fd5b505af115801562003861573d6000803e3d6000fd5b5050601f5461010090046001600160a01b0316915062003b8390505760006040516200388d9062003fb4565b604051809103906000f080158015620038aa573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620038cc9062003fc2565b604051809103906000f080158015620038e9573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003946573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200396c91906200453d565b601f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620039ef9392041662003e35565b601f54604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562003a8057600080fd5b505af115801562003a95573d6000803e3d6000fd5b50600092506001915062003aa69050565b60405190808252806020026020018201604052801562003ad0578160200160208202803683370190505b5060215481519192506001600160a01b031690829060009062003af75762003af76200455d565b6001600160a01b039283166020918202929092010152601f5460405163b63e800d60e01b81526101009091049091169063b63e800d9062003b4b908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562003b6657600080fd5b505af115801562003b7b573d6000803e3d6000fd5b505050505050505b50601f5461010090046001600160a01b031690565b62003bfa828260405160240162003bb192919062004bc3565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc0000000000000000000000000000000000000000000000000000000017905262003e7e565b5050565b62003bfa828260405160240162003c1792919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003e7e565b6000600160801b831062003ca25760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801562003cf8578060011660000362003cd55762003cca828362003e8c565b915060011c62003cab565b62003ce1838362003e8c565b925062003cf060018262004b7d565b905062003cab565b505092915050565b6000808260405160200162003d16919062004a2b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe91906200453d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189062003dfc908590879060040162004c14565b600060405180830381600087803b15801562003e1757600080fd5b505af115801562003e2c573d6000803e3d6000fd5b50505050915091565b62003bfa828260405160240162003e4e92919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003f93565b62003e898162003f93565b50565b6000600160801b83111562003f0a5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162003c99565b600160801b821062003f5f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162003c99565b60806f8000000000000000000000000000000062003f7e848662004b93565b62003f8a919062004bad565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6108528062004c3983390190565b613594806200548b83390190565b612eb68062008a1f83390190565b6135c1806200b8d583390190565b610e67806200ee9683390190565b612768806200fcfd83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162004066604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806201246583390190565b6001600160a01b038116811462003e8957600080fd5b600060208284031215620040aa57600080fd5b8135620040b78162004081565b9392505050565b600081518084526020808501945080840160005b83811015620040f95781516001600160a01b031687529582019590820190600101620040d2565b509495945050505050565b602081526000620040b76020830184620040be565b60005b83811015620041365781810151838201526020016200411c565b50506000910152565b600081518084526200415981602086016020860162004119565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200422357603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200420c57605f19898503018352620041f98486516200413f565b948e01949350918d0191600101620041da565b505050978a01979450509188019160010162004194565b50919a9950505050505050505050565b8281526040602082015260006200424e60408301846200413f565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620042fe57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620042e85783516001600160e01b0319168252928b019260019290920191908b0190620042bc565b50978a019795505050918701916001016200427e565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200434f576200434f6200430d565b604052919050565b600067ffffffffffffffff8211156200437457620043746200430d565b50601f01601f191660200190565b6000806000606084860312156200439857600080fd5b8335620043a58162004081565b925060208401359150604084013567ffffffffffffffff811115620043c957600080fd5b8401601f81018613620043db57600080fd5b8035620043f2620043ec8262004357565b62004323565b8181528760208385010111156200440857600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200448157603f198886030184526200446e8583516200413f565b945092850192908501906001016200444f565b5092979650505050505050565b600080600080600060a08688031215620044a757600080fd5b8535620044b48162004081565b94506020860135620044c68162004081565b93506040860135620044d88162004081565b92506060860135620044ea8162004081565b91506080860135620044fc8162004081565b809150509295509295909350565b600080600080608085870312156200452157600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156200455057600080fd5b8151620040b78162004081565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620045898184018b620040be565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c90821680620045ef57607f821691505b6020821081036200461057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156200462957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062004659576200465962004630565b9052565b60006101406001600160a01b03808e1684528c6020850152816040850152620046898285018d6200413f565b92506200469a606085018c62004646565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b600060208284031215620046e757600080fd5b815167ffffffffffffffff811115620046ff57600080fd5b8201601f810184136200471157600080fd5b805162004722620043ec8262004357565b8181528560208385010111156200473857600080fd5b6200474b82602083016020860162004119565b95945050505050565b6000806000606084860312156200476a57600080fd5b835160ff811681146200477c57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620047bf8285018d6200413f565b9150620047d0606085018c62004646565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200480981856200413f565b9d9c50505050505050505050505050565b6000602082840312156200482d57600080fd5b81518015158114620040b757600080fd5b8051825260006020820151604060208501526200424e60408501826200413f565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e060408201526000620048ae60e08301866200483e565b6001600160a01b03851660608401528281036080840152620048d18185620040be565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200490860e085018a6200413f565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806200494957607f821691505b87821081036200496757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156200498b5760018114620049a257620049cf565b60ff198416875282151560051b87019450620049cf565b60008681526020902060005b84811015620049c957815489820152908901908a01620049ae565b88019550505b5050505086810360c0880152620049e78189620040be565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162004a1d81600485016020870162004119565b919091016004019392505050565b6000825162004a3f81846020870162004119565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004aa66101008501826200483e565b90508160c08601511660e0850152809250505092915050565b634e487b7160e01b600052601160045260246000fd5b60006001820162004aea5762004aea62004abf565b5060010190565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004b365762004b3662004630565b816060850152608085015160808501528060a08601511660a0850152505092915050565b60008262004b7857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620036fb57620036fb62004abf565b8082028115828204841417620036fb57620036fb62004abf565b80820180821115620036fb57620036fb62004abf565b60408152600062004bd860408301856200413f565b90508260208301529392505050565b60408152600062004bfc60408301856200413f565b90506001600160a01b03831660208301529392505050565b6001600160a01b03831681526040602082015260006200424e60408301846200413f56fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220d376a9fc5da106553102defa0051057d2d7a010e38f58104beecb3206882917964736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;939:5438:91;534:52:96;;;1572:26:44;939:5438:91;534:52:96;;;;;;-1:-1:-1;;;534:52:96;;;;;;507:79;;;;939:5438:91;;507:79:96;;;;;;;:::i;:::-;-1:-1:-1;;800:28:46;;;-1:-1:-1;;800:28:46;824:4;800:28;;;;;;339:34:100;;-1:-1:-1;939:5438:91;;;;;;;;;;;;14:127:101;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;:::-;939:5438:91;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620003cc5760003560e01c80637b2edf321162000205578063ae1596011162000125578063da4bf08711620000bb578063ef0d790f1162000086578063ef0d790f14620006c7578063f8ccbf4714620006d1578063fa7626d414620006df578063fc0c546a14620006ed57600080fd5b8063da4bf0871462000692578063dac4eb16146200069c578063e20c9f7114620006a6578063e99ce91114620006b057600080fd5b8063c040622611620000fc578063c0406226146200066a578063d1e82b581462000674578063d1f2cd88146200067e578063d5bee9f5146200068857600080fd5b8063ae159601146200062e578063b5508aa91462000645578063ba414fa6146200064f57600080fd5b80638e0d1a50116200019b578063916a17c61162000172578063916a17c614620005f4578063a0cf0aea14620005fe578063a407c67a146200061a578063aa3744bd146200062457600080fd5b80638e0d1a5014620005815780638e3c249314620005d3578063914a5f6d14620005dd57600080fd5b8063829e423f11620001dc578063829e423f146200043f57806385226c8114620005a6578063896546a114620005bf5780638c7408c4146200043f57600080fd5b80637b2edf3214620005775780637cbe79ed14620005815780638125937b146200059c57600080fd5b80633f7286f411620002f15780636c53db9a116200028757806374d9284e116200025e57806374d9284e146200043f578063759c9a8614620005595780637658524d146200056357806379e62d0d146200056d57600080fd5b80636c53db9a146200051d5780636db52510146200053657806370a32944146200054f57600080fd5b80635aff599911620002c85780635aff599914620004e657806366d003ac14620004f057806366d9a9a014620004fa5780636a38dd0a146200051357600080fd5b80633f7286f414620004c85780634bf4ba2114620004d2578063587c124314620004dc57600080fd5b80631ae726d911620003675780631ed7831c116200033e5780631ed7831c14620004725780632ade3880146200048b578063392f37e914620004a45780633e5e3c2314620004be57600080fd5b80631ae726d914620004475780631b96dce6146200045e5780631e7bcb2e146200046857600080fd5b80630688b13511620003a85780630688b135146200041657806308dbbb0314620004205780630f166ad41462000438578063174eedde146200043f57600080fd5b8062b1fad714620003d1578063030e400614620003f85780630522b7db1462000402575b600080fd5b620003db62000701565b6040516001600160a01b0390911681526020015b60405180910390f35b620003db62000748565b602054620003db906001600160a01b031681565b620003db6200078a565b62000429603281565b604051908152602001620003ef565b30620003db565b6000620003db565b620003db6200045836600462004097565b620007cc565b620003db62000b26565b620003db62000b68565b6200047c62000baa565b604051620003ef919062004104565b6200049562000c0e565b604051620003ef91906200416d565b620004ae62000d5c565b604051620003ef92919062004233565b6200047c62000dfb565b6200047c62000e5d565b6200047c62000ebf565b620003db62000ee2565b620003db62000f24565b620003db62000f66565b6200050462000fa8565b604051620003ef919062004256565b620003db62001092565b601f54620003db9061010090046001600160a01b031681565b6200054d6200054736600462004382565b620010d4565b005b6200047c620013a5565b620003db62001447565b6200042960225481565b6200047c62001489565b620003db620014f8565b73f39fd6e51aad88f6f4ce6ab8827279cfffb92266620003db565b620003db6200153a565b620005b062001710565b604051620003ef919062004428565b602154620003db906001600160a01b031681565b620003db620017ea565b62000429620005ee36600462004097565b6200182c565b620005046200192c565b620003db73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200047c62001a16565b620003db62001a85565b620004296200063f3660046200448e565b62001ac7565b620005b062001cc7565b6200065962001da1565b6040519015158152602001620003ef565b6200054d62001eef565b620003db6200343d565b620003db6200347f565b620003db620034c1565b620003db62003503565b620003db62003545565b6200047c62003587565b62000429620006c13660046200450a565b620035e9565b620003db62003697565b601f54620006599060ff1681565b600754620006599060ff1681565b602354620003db906001600160a01b031681565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620036d4565b905090565b6000620007436040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620036d4565b6000620007436040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620036d4565b6020546000906001600160a01b031662000b15576000604051620007f09062003fb4565b604051809103906000f0801580156200080d573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082f9062003fc2565b604051809103906000f0801580156200084c573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cf91906200453d565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200097f57600080fd5b505af115801562000994573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2457600080fd5b505af115801562000a39573d6000803e3d6000fd5b50600092506001915062000a4a9050565b60405190808252806020026020018201604052801562000a74578160200160208202803683370190505b509050848160008151811062000a8e5762000a8e6200455d565b6001600160a01b039283166020918202929092018101919091525460405163b63e800d60e01b815291169063b63e800d9062000add908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562000af857600080fd5b505af115801562000b0d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b6000620007436040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620036d4565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c0457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000be5575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d3b57838290600052602060002001805462000ca790620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000cd590620045da565b801562000d265780601f1062000cfa5761010080835404028352916020019162000d26565b820191906000526020600020905b81548152906001019060200180831162000d0857829003601f168201915b50505050508152602001906001019062000c85565b50505050815250508152602001906001019062000c32565b50505050905090565b601380546014805491929162000d7290620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000da090620045da565b801562000df15780601f1062000dc55761010080835404028352916020019162000df1565b820191906000526020600020905b81548152906001019060200180831162000dd357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620036d4565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200107957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200103a5790505b5050505050815250508152602001906001019062000fcc565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620036d4565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200115a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001180919062004616565b6040518b63ffffffff1660e01b8152600401620011a79a999897969594939291906200465d565b600060405180830381865afa158015620011c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620011ef9190810190620046d4565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200129c919062004754565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001353908c908c908c90600090819081908190819081908d9060650162004793565b6020604051808303816000875af115801562001373573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139991906200481a565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013d462000b68565b81600081518110620013ea57620013ea6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620014f8565b816001815181106200142a576200142a6200455d565b6001600160a01b0390921660209283029190910190910152919050565b6000620007436040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620036d4565b60408051600280825260608083018452926000929190602083019080368337019050509050620014b862000701565b81600081518110620014ce57620014ce6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250506200141462001092565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620036d4565b60006040516200154a9062003fd0565b604051809103906000f08015801562001567573d6000803e3d6000fd5b506025805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563c4d66de8620015a362003545565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015e557600080fd5b505af1158015620015fa573d6000803e3d6000fd5b505050506040516200160c9062003fde565b604051809103906000f08015801562001629573d6000803e3d6000fd5b506024805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563a6b63eb873f39fd6e51aad88f6f4ce6ab8827279cfffb922666025546001600160a01b03166200168662003503565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152600060648201819052608482015260a401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b50506024546001600160a01b03169392505050565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d535783829060005260206000200180546200175690620045da565b80601f01602080910402602001604051908101604052809291908181526020018280546200178490620045da565b8015620017d55780601f10620017a957610100808354040283529160200191620017d5565b820191906000526020600020905b815481529060010190602001808311620017b757829003601f168201915b50505050508152602001906001019062001734565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620036d4565b6015546000906200192457816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c65310000000000000000000000000000000000000000815250815250620018af73f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b620018b962001489565b6040518563ffffffff1660e01b8152600401620018da94939291906200485f565b6020604051808303816000875af1158015620018fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001920919062004616565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620019fd57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019be5790505b5050505050815250508152602001906001019062001950565b6040805160028082526060808301845292600092919060208301908036833701905050905062001a4562000ee2565b8160008151811062001a5b5762001a5b6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620017ea565b6000620007436040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620036d4565b604080516080810182526000808252602082018190529181018290526060810182905262001afd670de0a46bc207d800620036e8565b602082015262001b156702c68af0bb140000620036e8565b604082015262001b2c66038d7ea4c68000620036e8565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001b7a5762001b7a6200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001bb15762001bb16200455d565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001be85750835b886001600160a01b031663e1007d4a62001c02886200182c565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001c749796959493929190620048dc565b6020604051808303816000875af115801562001c94573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cba919062004616565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357838290600052602060002001805462001d0d90620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462001d3b90620045da565b801562001d8c5780601f1062001d605761010080835404028352916020019162001d8c565b820191906000526020600020905b81548152906001019060200180831162001d6e57829003601f168201915b50505050508152602001906001019062001ceb565b600754600090610100900460ff161562001dc45750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001eea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001e6c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620049f9565b60408051601f198184030181529082905262001e889162004a2b565b6000604051808303816000865af19150503d806000811462001ec7576040519150601f19603f3d011682016040523d82523d6000602084013e62001ecc565b606091505b509150508080602001905181019062001ee691906200481a565b9150505b919050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f6057600080fd5b505af115801562001f75573d6000803e3d6000fd5b50505050600062001f856200153a565b905060405162001f959062003fec565b604051809103906000f08015801562001fb2573d6000803e3d6000fd5b50602360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200201a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200204091906200453d565b90506000604051620020529062003ffa565b604051809103906000f0801580156200206f573d6000803e3d6000fd5b5090506200207c62004008565b6001600160a01b038085168252602354166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020cd90620045da565b80601f0160208091040260200160405190810160405280929190818152602001828054620020fb90620045da565b80156200214c5780601f1062002120576101008083540402835291602001916200214c565b820191906000526020600020905b8154815290600101906020018083116200212e57829003601f168201915b5050509190925250505060a08201526200216562003701565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb290620021b790859060040162004a49565b6020604051808303816000875af1158015620021d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021fd91906200453d565b6023549091506001600160a01b03166340c10f1973f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200227057600080fd5b505af115801562002285573d6000803e3d6000fd5b505050506000856040516200229a9062004073565b6001600160a01b039091168152602001604051809103906000f080158015620022c7573d6000803e3d6000fd5b509050600086604051620022db9062004073565b6001600160a01b039091168152602001604051809103906000f08015801562002308573d6000803e3d6000fd5b5090506000620023318884868a602360009054906101000a90046001600160a01b031662001ac7565b90506000620023458984878b600062001ac7565b60408051600480825260a082019092529192506000919060208201608080368337019050509050846001600160a01b03166369fa25c46200238e670dd46c0831659000620036e8565b6040518263ffffffff1660e01b8152600401620023ad91815260200190565b600060405180830381600087803b158015620023c857600080fd5b505af1158015620023dd573d6000803e3d6000fd5b50505050846001600160a01b03166311f22ae36200240367016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200242291815260200190565b600060405180830381600087803b1580156200243d57600080fd5b505af115801562002452573d6000803e3d6000fd5b50505050846001600160a01b031663fc1711f2620024776601c6bf52634000620036e8565b6040518263ffffffff1660e01b81526004016200249691815260200190565b600060405180830381600087803b158015620024b157600080fd5b505af1158015620024c6573d6000803e3d6000fd5b50505050836001600160a01b03166369fa25c4620024ec670dd46c0831659000620036e8565b6040518263ffffffff1660e01b81526004016200250b91815260200190565b600060405180830381600087803b1580156200252657600080fd5b505af11580156200253b573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae36200256167016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200258091815260200190565b600060405180830381600087803b1580156200259b57600080fd5b505af1158015620025b0573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620025d56601c6bf52634000620036e8565b6040518263ffffffff1660e01b8152600401620025f491815260200190565b600060405180830381600087803b1580156200260f57600080fd5b505af115801562002624573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200268757600080fd5b505af11580156200269c573d6000803e3d6000fd5b5050505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600081518110620026cb57620026cb6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816001815181106200271657620027166200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050733c44cdddb6a900fa2b585dd299e03d12fa4293bc816002815181106200276157620027616200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507390f79bf6eb2c4f870365e785982e1f101e93b90681600381518110620027ac57620027ac6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b815181101562002ad7577f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fec2a8d8383815181106200282057620028206200455d565b60200260200101516040518263ffffffff1660e01b81526004016200285491906001600160a01b0391909116815260200190565b600060405180830381600087803b1580156200286f57600080fd5b505af115801562002884573d6000803e3d6000fd5b505060235484516001600160a01b0390911692506340c10f199150849084908110620028b457620028b46200455d565b602002602001015160646040518363ffffffff1660e01b8152600401620028f09291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200290b57600080fd5b505af115801562002920573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038b8116600483015260326024830152909116925063095ea7b391506044016020604051808303816000875af115801562002978573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200299e91906200481a565b50856001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620029db57600080fd5b505af1158015620029f0573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a3057600080fd5b505af115801562002a45573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002aa857600080fd5b505af115801562002abd573d6000803e3d6000fd5b50505050808062002ace9062004ad5565b915050620027cf565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002b4957600080fd5b505af115801562002b5e573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038e811660048301526000196024830152909116925063095ea7b391506044016020604051808303816000875af115801562002bb7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bdd91906200481a565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018490526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b15801562002c4257600080fd5b505af115801562002c57573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018581526020018360008151811062002c8b5762002c8b6200455d565b60200260200101516001600160a01b031681526020016001600281111562002cb75762002cb762004630565b815260326020808301919091526023546001600160a01b0316604092830152905191925060009162002cec9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002d2c908890859060040162004233565b6020604051808303816000875af115801562002d4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d7291906200453d565b506040518060c00160405280600281526020018681526020018460018151811062002da15762002da16200455d565b60200260200101516001600160a01b031681526020016001600281111562002dcd5762002dcd62004630565b815260196020808301919091526023546001600160a01b0316604092830152905191935062002dff9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002e3f908890859060040162004233565b6020604051808303816000875af115801562002e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e8591906200453d565b506040518060c00160405280600381526020018681526020018460028151811062002eb45762002eb46200455d565b60200260200101516001600160a01b031681526020016001600281111562002ee05762002ee062004630565b8152600a6020808301919091526023546001600160a01b0316604092830152905191935062002f129184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002f52908890859060040162004233565b6020604051808303816000875af115801562002f72573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f9891906200453d565b5060006040518060c00160405280600181526020018681526020018560008151811062002fc95762002fc96200455d565b60200260200101516001600160a01b031681526020016000600281111562002ff55762002ff562004630565b81526020016000815260200160006001600160a01b0316815250905060008160405160200162003026919062004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062003066908990859060040162004233565b6020604051808303816000875af115801562003086573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030ac91906200453d565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200310c57600080fd5b505af115801562003121573d6000803e3d6000fd5b50505050620031666040518060400160405280600a81526020017f506f6f6c49643a202573000000000000000000000000000000000000000000008152508862003b98565b620031a76040518060400160405280601281526020017f53747261746567793120416464723a20257300000000000000000000000000008152508a62003bfe565b620031e86040518060400160405280601381526020017f706f6f6c49645369676e616c696e673a202573000000000000000000000000008152508762003b98565b620032296040518060400160405280601281526020017f53747261746567793220416464723a20257300000000000000000000000000008152508962003bfe565b6200326a6040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f62003bfe565b60408051808201909152600e81527f546f6b656e20416464723a2025730000000000000000000000000000000000006020820152602354620032b691906001600160a01b031662003bfe565b6200330b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee62003bfe565b6200334c6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508b62003bfe565b6200338d6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508e62003bfe565b620033e96040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a20257300000000000000000000000000815250620033e373f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b62003bfe565b6200342d6040518060400160405280601581526020017f436f756e63696c205361666520416464723a2025730000000000000000000000815250620033e362003701565b5050505050505050505050505050565b6000620007436040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620036d4565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b600084816200360b6200360462989680608087901b62004b5a565b8362003c47565b905060806f800000000000000000000000000000006200362f866298968062004b7d565b6200363f84600160801b62004b7d565b6200364e629896808a62004b93565b6200365a919062004b93565b62003666919062004b5a565b62003672898562004b93565b6200367e919062004bad565b6200368a919062004bad565b901c979650505050505050565b6000620007436040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620036e18262003d00565b5092915050565b6000620036fb64174876e8008362004b5a565b92915050565b6022546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa18649916200375a9160040190815260200190565b602060405180830381865afa15801562003778573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200379e91906200453d565b6021805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200384c57600080fd5b505af115801562003861573d6000803e3d6000fd5b5050601f5461010090046001600160a01b0316915062003b8390505760006040516200388d9062003fb4565b604051809103906000f080158015620038aa573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620038cc9062003fc2565b604051809103906000f080158015620038e9573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003946573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200396c91906200453d565b601f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620039ef9392041662003e35565b601f54604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562003a8057600080fd5b505af115801562003a95573d6000803e3d6000fd5b50600092506001915062003aa69050565b60405190808252806020026020018201604052801562003ad0578160200160208202803683370190505b5060215481519192506001600160a01b031690829060009062003af75762003af76200455d565b6001600160a01b039283166020918202929092010152601f5460405163b63e800d60e01b81526101009091049091169063b63e800d9062003b4b908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562003b6657600080fd5b505af115801562003b7b573d6000803e3d6000fd5b505050505050505b50601f5461010090046001600160a01b031690565b62003bfa828260405160240162003bb192919062004bc3565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc0000000000000000000000000000000000000000000000000000000017905262003e7e565b5050565b62003bfa828260405160240162003c1792919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003e7e565b6000600160801b831062003ca25760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801562003cf8578060011660000362003cd55762003cca828362003e8c565b915060011c62003cab565b62003ce1838362003e8c565b925062003cf060018262004b7d565b905062003cab565b505092915050565b6000808260405160200162003d16919062004a2b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe91906200453d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189062003dfc908590879060040162004c14565b600060405180830381600087803b15801562003e1757600080fd5b505af115801562003e2c573d6000803e3d6000fd5b50505050915091565b62003bfa828260405160240162003e4e92919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003f93565b62003e898162003f93565b50565b6000600160801b83111562003f0a5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162003c99565b600160801b821062003f5f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162003c99565b60806f8000000000000000000000000000000062003f7e848662004b93565b62003f8a919062004bad565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6108528062004c3983390190565b613594806200548b83390190565b612eb68062008a1f83390190565b6135c1806200b8d583390190565b610e67806200ee9683390190565b612768806200fcfd83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162004066604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806201246583390190565b6001600160a01b038116811462003e8957600080fd5b600060208284031215620040aa57600080fd5b8135620040b78162004081565b9392505050565b600081518084526020808501945080840160005b83811015620040f95781516001600160a01b031687529582019590820190600101620040d2565b509495945050505050565b602081526000620040b76020830184620040be565b60005b83811015620041365781810151838201526020016200411c565b50506000910152565b600081518084526200415981602086016020860162004119565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200422357603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200420c57605f19898503018352620041f98486516200413f565b948e01949350918d0191600101620041da565b505050978a01979450509188019160010162004194565b50919a9950505050505050505050565b8281526040602082015260006200424e60408301846200413f565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620042fe57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620042e85783516001600160e01b0319168252928b019260019290920191908b0190620042bc565b50978a019795505050918701916001016200427e565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200434f576200434f6200430d565b604052919050565b600067ffffffffffffffff8211156200437457620043746200430d565b50601f01601f191660200190565b6000806000606084860312156200439857600080fd5b8335620043a58162004081565b925060208401359150604084013567ffffffffffffffff811115620043c957600080fd5b8401601f81018613620043db57600080fd5b8035620043f2620043ec8262004357565b62004323565b8181528760208385010111156200440857600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200448157603f198886030184526200446e8583516200413f565b945092850192908501906001016200444f565b5092979650505050505050565b600080600080600060a08688031215620044a757600080fd5b8535620044b48162004081565b94506020860135620044c68162004081565b93506040860135620044d88162004081565b92506060860135620044ea8162004081565b91506080860135620044fc8162004081565b809150509295509295909350565b600080600080608085870312156200452157600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156200455057600080fd5b8151620040b78162004081565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620045898184018b620040be565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c90821680620045ef57607f821691505b6020821081036200461057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156200462957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062004659576200465962004630565b9052565b60006101406001600160a01b03808e1684528c6020850152816040850152620046898285018d6200413f565b92506200469a606085018c62004646565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b600060208284031215620046e757600080fd5b815167ffffffffffffffff811115620046ff57600080fd5b8201601f810184136200471157600080fd5b805162004722620043ec8262004357565b8181528560208385010111156200473857600080fd5b6200474b82602083016020860162004119565b95945050505050565b6000806000606084860312156200476a57600080fd5b835160ff811681146200477c57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620047bf8285018d6200413f565b9150620047d0606085018c62004646565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200480981856200413f565b9d9c50505050505050505050505050565b6000602082840312156200482d57600080fd5b81518015158114620040b757600080fd5b8051825260006020820151604060208501526200424e60408501826200413f565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e060408201526000620048ae60e08301866200483e565b6001600160a01b03851660608401528281036080840152620048d18185620040be565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200490860e085018a6200413f565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806200494957607f821691505b87821081036200496757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156200498b5760018114620049a257620049cf565b60ff198416875282151560051b87019450620049cf565b60008681526020902060005b84811015620049c957815489820152908901908a01620049ae565b88019550505b5050505086810360c0880152620049e78189620040be565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162004a1d81600485016020870162004119565b919091016004019392505050565b6000825162004a3f81846020870162004119565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004aa66101008501826200483e565b90508160c08601511660e0850152809250505092915050565b634e487b7160e01b600052601160045260246000fd5b60006001820162004aea5762004aea62004abf565b5060010190565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004b365762004b3662004630565b816060850152608085015160808501528060a08601511660a0850152505092915050565b60008262004b7857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620036fb57620036fb62004abf565b8082028115828204841417620036fb57620036fb62004abf565b80820180821115620036fb57620036fb62004abf565b60408152600062004bd860408301856200413f565b90508260208301529392505050565b60408152600062004bfc60408301856200413f565b90506001600160a01b03831660208301529392505050565b6001600160a01b03831681526040602082015260006200424e60408301846200413f56fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220d376a9fc5da106553102defa0051057d2d7a010e38f58104beecb3206882917964736f6c63430008130033","sourceMap":"939:5438:91:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:100:-;;;;;-1:-1:-1;;;;;269:28:100;;;4045:101:38;;;:::i;1011:42:91:-;;1051:2;1011:42;;;;;644:25:101;;;632:2;617:18;1011:42:91;498:177:101;226:92:38;306:4;226:92;;905:138;968:7;905:138;;380:708:100;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;507:79:96:-;;;:::i;:::-;;;;;;;;:::i;3221:133:51:-;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:100:-;;;;;;;;-1:-1:-1;;;;;240:23:100;;;1885:763;;;;;;:::i;:::-;;:::i;:::-;;2792:241:38;;;:::i;4376:105::-;;;:::i;339:34:100:-;;;;;;1989:232:38;;;:::i;2673:113::-;;;:::i;1278:139:91:-;1367:42;1278:139;;5954:421;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;304:29:100:-;;;;;-1:-1:-1;;;;;304:29:100;;;3485:113:38;;;:::i;799:361:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1166:1463:96:-;;;;;;:::i;:::-;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;10067:14:101;;10060:22;10042:41;;10030:2;10015:18;1819:584:44;9902:187:101;1423:4525:91;;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:51:-;;;:::i;3483:378:96:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;800:28:46:-;;;;;;;;;1572:26:44;;;;;;;;;1060:23:91;;;;;-1:-1:-1;;;;;1060:23:91;;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;380:708:100:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:100;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:100;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:100;;-1:-1:-1;;;;;;592:52:100;;;;;;;-1:-1:-1;;;;;11245:55:101;;;592:52:100;;;11227:74:101;11337:2;11317:18;;;11310:30;642:1:100;11356:18:101;;;11349:29;;;11430:18;;;11423:34;11395:19;;592:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;658:45:100;-1:-1:-1;;;;;658:45:100;;;;;;;;717:54;;;-1:-1:-1;;;717:54:100;;;;;11955:74:101;;;;12045:18;;;12038:30;12104:2;12084:18;;;12077:30;12143:17;12123:18;;;12116:45;658::100;;-1:-1:-1;717:8:100;;;;12178:19:101;;717:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:100;;;-1:-1:-1;;;785:45:100;;-1:-1:-1;;;;;12438:55:101;;785:45:100;;;12420:74:101;12510:18;;;12503:30;;;;12569:2;12549:18;;;12542:30;12608:18;12588;;;12581:46;785:8:100;;-1:-1:-1;785:8:100;;-1:-1:-1;12644:19:101;;785:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:100;;-1:-1:-1;884:1:100;;-1:-1:-1;870:16:100;;-1:-1:-1;870:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:100;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:100;;;:9;;;;;;;;;;:27;;;;941:16;:97;;-1:-1:-1;;;941:97:100;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:100;;-1:-1:-1;;;;;1065:16:100;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;507:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:100:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:100;-1:-1:-1;;;;;1993:33:100;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:100;-1:-1:-1;;;;;2240:17:100;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:100;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;16766:25:101;;;;16807:18;;;16800:34;;;2301:17:100;;-1:-1:-1;2301:17:100;2280:18;;;;;;2363:7;;;;16739:18:101;;2363:36:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;17426:19:101;;;17461:12;;;17454:28;;;17534:66;17520:3;17516:16;;;17512:89;17498:12;;;17491:111;2435:25:100;;;;;;;;;17618:12:101;;;2435:25:100;;;;2489:11;;:152;;;;17516:16:101;;-1:-1:-1;17426:19:101;;-1:-1:-1;17454:28:101;;-1:-1:-1;2489:11:100;;;-1:-1:-1;;;;;2489:11:100;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:100;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;5954:421:91:-;5992:7;6024:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6011:10:91;:27;;-1:-1:-1;;6011:27:91;-1:-1:-1;;;;;6011:27:91;;;;;;;;;6048:21;6070:16;:14;:16::i;:::-;6048:39;;-1:-1:-1;;;;;;6048:39:91;;;;;;;-1:-1:-1;;;;;178:55:101;;;6048:39:91;;;160:74:101;133:18;;6048:39:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6106:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6097:6:91;:19;;-1:-1:-1;;6097:19:91;-1:-1:-1;;;;;6097:19:91;;;;;;;;;6127:17;1367:42;6202:10;;-1:-1:-1;;;;;6202:10:91;6240:15;:13;:15::i;:::-;6127:208;;;;;;-1:-1:-1;;;;;;6127:208:91;;;-1:-1:-1;;;;;19433:15:101;;;6127:208:91;;;19415:34:101;19485:15;;;19465:18;;;19458:43;19537:15;;;19517:18;;;19510:43;-1:-1:-1;19569:18:101;;;19562:34;;;19612:19;;;19605:35;19326:19;;6127:208:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6361:6:91;;-1:-1:-1;;;;;6361:6:91;;5954:421;-1:-1:-1;;;5954:421:91:o;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:113:38;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;799:361:96:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:96;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;;;;;;;;1067:12;1367:42:91;;1278:139;1067:12:96;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:96;;;799:361::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:96:-;-1:-1:-1;;;;;;;;1307:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:96;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:96;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:96;;;;;;;;;;;;-1:-1:-1;1878:16:96;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:96;;;-1:-1:-1;;;;;1904:33:96;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:96;;;2269:64;;-1:-1:-1;2317:5:96;2269:64;2351:4;-1:-1:-1;;;;;2351:33:96;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;21243:13:101;;-1:-1:-1;;;;;21239:62:101;2509:18:96;;;;21221:81:101;;;;21346:17;;21340:24;21318:20;;;21311:54;21409:17;;;21403:24;21381:20;;;;21374:54;;;;21472:17;;21466:24;21444:20;;;21437:54;2486:8:96;;21193:19:101;;2509:18:96;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:96:o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23972:74:101;;;2221:17:44;24062:18:101;;;24055:34;2196:43:44;;;;;;;;;23945:18:101;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;1423:4525:91:-;1455:17;;1367:42;1455:31;;-1:-1:-1;;;;;;1455:31:91;;;;;;;-1:-1:-1;;;;;178:55:101;;;1455:31:91;;;160:74:101;133:18;;1455:31:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1497:9;1514:12;:10;:12::i;:::-;1497:30;;1546:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1538:5;;:24;;;;;-1:-1:-1;;;;;1538:24:91;;;;;-1:-1:-1;;;;;1538:24:91;;;;;;1573:18;1594:4;-1:-1:-1;;;;;1594:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1573:39;;1623:31;1657:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1623:55;;1689:46;;:::i;:::-;-1:-1:-1;;;;;1746:28:91;;;;;1821:5;;;1784:19;;;;:44;;;;1051:2;1838:26;;;;:42;;;;1746:12;1890:19;;;:23;1923:27;;;;;;;;1942:8;1923:27;;;;;;;;;1942:8;;1923:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1923:27:91;;;;-1:-1:-1;;;1923:16:91;;;:27;2016:14;:12;:14::i;:::-;-1:-1:-1;;;;;1978:54:91;;;:19;;;:54;2093:38;;;;;2043:31;;2093:30;;;;;:38;;1978:6;;2093:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2179:5;;2043:89;;-1:-1:-1;;;;;;2179:5:91;:10;1367:42;2179:41;;-1:-1:-1;;;;;;2179:41:91;;;;;;;-1:-1:-1;;;;;23990:55:101;;;2179:41:91;;;23972:74:101;2213:6:91;24062:18:101;;;24055:34;23945:18;;2179:41:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2231:20;2277:4;2254:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2254:29:91;;;;;;;;;;;;;;;;;;;;;;;2231:52;;2293:20;2339:4;2316:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2316:29:91;;;;;;;;;;;;;;;;;;;;;;;2293:52;;2385:14;2414:103;2438:4;2454:9;2474:15;2492:8;2510:5;;;;;;;;;-1:-1:-1;;;;;2510:5:91;2414:10;:103::i;:::-;2385:132;;2528:23;2566:99;2590:4;2606:9;2626:15;2644:8;2662:1;2566:10;:99::i;:::-;2708:16;;;2722:1;2708:16;;;;;;;;;2528:137;;-1:-1:-1;2675:30:91;;2708:16;;;;;;;;;;;-1:-1:-1;2708:16:91;2675:49;;2735:9;-1:-1:-1;;;;;2735:18:91;;2754:30;2768:15;2754:13;:30::i;:::-;2735:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2735:50:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2812:9;-1:-1:-1;;;;;2812:21:91;;2834:24;2848:9;2834:13;:24::i;:::-;2812:47;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2812:47:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2888:9;-1:-1:-1;;;;;2888:19:91;;2908:27;2922:12;2908:13;:27::i;:::-;2888:48;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2888:48:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2997:9;-1:-1:-1;;;;;2997:18:91;;3016:30;3030:15;3016:13;:30::i;:::-;2997:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2997:50:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3074:9;-1:-1:-1;;;;;3074:21:91;;3096:24;3110:9;3096:13;:24::i;:::-;3074:47;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;3074:47:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3150:9;-1:-1:-1;;;;;3150:19:91;;3170:27;3184:12;3170:13;:27::i;:::-;3150:48;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;3150:48:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;3229:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3285:42;3258:13;3272:1;3258:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3258:70:91;;;-1:-1:-1;;;;;3258:70:91;;;;;3365:42;3338:13;3352:1;3338:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3338:70:91;;;-1:-1:-1;;;;;3338:70:91;;;;;3445:42;3418:13;3432:1;3418:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3418:70:91;;;-1:-1:-1;;;;;3418:70:91;;;;;3525:42;3498:13;3512:1;3498:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3498:70:91;;;-1:-1:-1;;;;;3498:70:91;;;;;3584:9;3579:414;3603:13;:20;3599:1;:24;3579:414;;;317:28:45;309:37;;-1:-1:-1;;;;;3644:17:91;;3670:13;3684:1;3670:16;;;;;;;;:::i;:::-;;;;;;;3644:44;;;;;;;;;;;;;;-1:-1:-1;;;;;178:55:101;;;;160:74;;148:2;133:18;;14:226;3644:44:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3702:5:91;;3721:16;;-1:-1:-1;;;;;3702:5:91;;;;-1:-1:-1;3702:10:91;;-1:-1:-1;3721:13:91;;3735:1;;3721:16;;;;;;:::i;:::-;;;;;;;3740:3;3702:42;;;;;;;;;;;;;;;-1:-1:-1;;;;;23990:55:101;;;;23972:74;;24077:2;24062:18;;24055:34;23960:2;23945:18;;23798:297;3702:42:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3758:5:91;;:54;;-1:-1:-1;;;3758:54:91;;-1:-1:-1;;;;;23990:55:101;;;3758:54:91;;;23972:74:101;1051:2:91;24062:18:101;;;24055:34;3758:5:91;;;;-1:-1:-1;3758:13:91;;-1:-1:-1;23945:18:101;;3758:54:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3883:9;-1:-1:-1;;;;;3883:24:91;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3923:9;-1:-1:-1;;;;;3923:24:91;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;3964:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3625:3;;;;;:::i;:::-;;;;3579:414;;;-1:-1:-1;4002:17:91;;1367:42;4002:31;;-1:-1:-1;;;;;;4002:31:91;;;;;;;-1:-1:-1;;;;;178:55:101;;;4002:31:91;;;160:74:101;133:18;;4002:31:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4044:5:91;;:47;;-1:-1:-1;;;4044:47:91;;-1:-1:-1;;;;;23990:55:101;;;4044:47:91;;;23972:74:101;-1:-1:-1;;24062:18:101;;;24055:34;4044:5:91;;;;-1:-1:-1;4044:13:91;;-1:-1:-1;23945:18:101;;4044:47:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4101:28:91;;;;;;;;16766:25:101;;;4123:5:91;16807:18:101;;;16800:34;-1:-1:-1;;;;;4101:13:91;;;;;16739:18:101;;4101:28:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4149:41;4205:107;;;;;;;;4231:1;4205:107;;;;4234:6;4205:107;;;;4242:13;4256:1;4242:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4205:107:91;;;;;4260:31;4205:107;;;;;;;;:::i;:::-;;;4293:2;4205:107;;;;;;;;4305:5;;-1:-1:-1;;;;;4305:5:91;4205:107;;;;;4342:20;;4149:163;;-1:-1:-1;;;4342:20:91;;4149:163;;4342:20;;:::i;:::-;;;;-1:-1:-1;;4342:20:91;;;;;;;;;;-1:-1:-1;;;4372:36:91;;4342:20;-1:-1:-1;;;;;;4372:22:91;;;;;:36;;4395:6;;4342:20;;4372:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4442:107;;;;;;;;4468:1;4442:107;;;;4471:6;4442:107;;;;4479:13;4493:1;4479:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4442:107:91;;;;;4497:31;4442:107;;;;;;;;:::i;:::-;;;4530:2;4442:107;;;;;;;;4542:5;;-1:-1:-1;;;;;4542:5:91;4442:107;;;;;4566:20;;4419:130;;-1:-1:-1;4566:20:91;;4419:130;;4566:20;;:::i;:::-;;;;-1:-1:-1;;4566:20:91;;;;;;;;;;-1:-1:-1;;;4596:36:91;;4566:20;-1:-1:-1;;;;;;4596:22:91;;;;;:36;;4619:6;;4566:20;;4596:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4666:107;;;;;;;;4692:1;4666:107;;;;4695:6;4666:107;;;;4703:13;4717:1;4703:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4666:107:91;;;;;4721:31;4666:107;;;;;;;;:::i;:::-;;;4754:2;4666:107;;;;;;;;4766:5;;-1:-1:-1;;;;;4766:5:91;4666:107;;;;;4790:20;;4643:130;;-1:-1:-1;4790:20:91;;4643:130;;4790:20;;:::i;:::-;;;;-1:-1:-1;;4790:20:91;;;;;;;;;;-1:-1:-1;;;4820:36:91;;4790:20;-1:-1:-1;;;;;;4820:22:91;;;;;:36;;4843:6;;4790:20;;4820:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4937:42;4982:135;;;;;;;;5021:1;4982:135;;;;5024:15;4982:135;;;;5041:13;5055:1;5041:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4982:135:91;;;;;5059:33;4982:135;;;;;;;;:::i;:::-;;;;;5094:1;4982:135;;;;5105:1;-1:-1:-1;;;;;4982:135:91;;;;4937:180;;5127:18;5159:9;5148:21;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5148:21:91;;;;;;;;;;-1:-1:-1;;;5179:46:91;;5148:21;-1:-1:-1;;;;;;5179:22:91;;;;;:46;;5202:15;;5148:21;;5179:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;317:28:45;309:37;;-1:-1:-1;;;;;5235:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5264:34;;;;;;;;;;;;;;;;;;5291:6;5264:12;:34::i;:::-;5308:54;;;;;;;;;;;;;;;;;;5351:9;5308:12;:54::i;:::-;5373:52;;;;;;;;;;;;;;;;;;5409:15;5373:12;:52::i;:::-;5435:54;;;;;;;;;;;;;;;;;;5478:9;5435:12;:54::i;:::-;5500:44;;;;;;;;;;;;;;;;;;5538:4;5500:12;:44::i;:::-;5554:46;;;;;;;;;;;;;;;;;5593:5;;5554:46;;;-1:-1:-1;;;;;5593:5:91;5554:12;:46::i;:::-;5610:54;;;;;;;;;;;;;;;;;;4445:42:9;5610:12:91;:54::i;:::-;5675:67;;;;;;;;;;;;;;;;;;5725:15;5675:12;:67::i;:::-;5753:57;;;;;;;;;;;;;;;;;;5800:8;5753:12;:57::i;:::-;5820:49;;;;;;;;;;;;;;;;;;5856:12;1367:42;;1278:139;5856:12;5820;:49::i;:::-;5879:62;;;;;;;;;;;;;;;;;;5925:14;:12;:14::i;5879:62::-;1445:4503;;;;;;;;;;;;;;1423:4525::o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:96:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:96;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:96;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:96:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;2635:114:96:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;:::-;2717:25;2635:114;-1:-1:-1;;2635:114:96:o;1094:785:100:-;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:101;;;632:2;617:18;;498:177;1169:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;1152:41:100;-1:-1:-1;;;;;1152:41:100;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:100;;;;;29752:74:101;;;;29842:18;;;29835:30;29901:2;29881:18;;;29874:30;29940:16;29920:18;;;29913:44;1203:8:100;;;;29974:19:101;;1203:42:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:100;;;;;-1:-1:-1;;;;;1268:11:100;;-1:-1:-1;1256:589:100;;-1:-1:-1;1256:589:100;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:100;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:100;;-1:-1:-1;;;;;;1384:52:100;;;;;;;-1:-1:-1;;;;;11245:55:101;;;1384:52:100;;;11227:74:101;11337:2;11317:18;;;11310:30;1434:1:100;11356:18:101;;;11349:29;;;11430:18;;;11423:34;11395:19;;1384:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:100;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:100;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:100;;1595:11;;;;-1:-1:-1;;;;;1595:11:100;1578:45;;;30216:74:101;30306:18;;;30299:30;30365:2;30345:18;;;30338:30;30404:13;30384:18;;;30377:41;1578:8:100;;;;30435:19:101;;1578:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:100;;-1:-1:-1;1677:1:100;;-1:-1:-1;1663:16:100;;-1:-1:-1;1663:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:100;-1:-1:-1;1713:14:100;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:100;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:100;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:100;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:100;;;;;-1:-1:-1;;;;;1861:11:100;;1094:785::o;7546:145:60:-;7613:71;7676:2;7680;7629:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7629:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;7629:54:60;;;;;7613:15;:71::i;:::-;7546:145;;:::o;8147:::-;8214:71;8277:2;8281;8230:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8230:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;8230:54:60;-1:-1:-1;;;8230:54:60;;;8214:15;:71::i;3030:447:96:-;3091:15;-1:-1:-1;;;3126:2:96;:12;3118:53;;;;-1:-1:-1;;;3118:53:96;;31308:2:101;3118:53:96;;;31290:21:101;31347:2;31327:18;;;31320:30;31386;31366:18;;;31359:58;31434:18;;3118:53:96;;;;;;;;;-1:-1:-1;;;;3193:2:96;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:96;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:96;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;6994:145:59:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:59;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:59;-1:-1:-1;;;7077:54:59;;;7061:15;:71::i;868:133:60:-;939:55;986:7;965:19;939:55::i;:::-;868:133;:::o;2755:269:96:-;2816:15;-1:-1:-1;;;2851:2:96;:13;;2843:66;;;;-1:-1:-1;;;2843:66:96;;32304:2:101;2843:66:96;;;32286:21:101;32343:2;32323:18;;;32316:30;32382:34;32362:18;;;32355:62;32453:10;32433:18;;;32426:38;32481:19;;2843:66:96;32102:404:101;2843:66:96;-1:-1:-1;;;2927:2:96;:12;2919:53;;;;-1:-1:-1;;;2919:53:96;;32713:2:101;2919:53:96;;;32695:21:101;32752:2;32732:18;;;32725:30;32791;32771:18;;;32764:58;32839:18;;2919:53:96;32511:352:101;2919:53:96;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:96:o;181:376:59:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;680:154:101:-;-1:-1:-1;;;;;759:5:101;755:54;748:5;745:65;735:93;;824:1;821;814:12;839:247;898:6;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;839:247;-1:-1:-1;;;839:247:101:o;1257:484::-;1310:3;1348:5;1342:12;1375:6;1370:3;1363:19;1401:4;1430:2;1425:3;1421:12;1414:19;;1467:2;1460:5;1456:14;1488:1;1498:218;1512:6;1509:1;1506:13;1498:218;;;1577:13;;-1:-1:-1;;;;;1573:62:101;1561:75;;1656:12;;;;1691:15;;;;1534:1;1527:9;1498:218;;;-1:-1:-1;1732:3:101;;1257:484;-1:-1:-1;;;;;1257:484:101:o;1746:261::-;1925:2;1914:9;1907:21;1888:4;1945:56;1997:2;1986:9;1982:18;1974:6;1945:56;:::i;2012:250::-;2097:1;2107:113;2121:6;2118:1;2115:13;2107:113;;;2197:11;;;2191:18;2178:11;;;2171:39;2143:2;2136:10;2107:113;;;-1:-1:-1;;2254:1:101;2236:16;;2229:27;2012:250::o;2267:271::-;2309:3;2347:5;2341:12;2374:6;2369:3;2362:19;2390:76;2459:6;2452:4;2447:3;2443:14;2436:4;2429:5;2425:16;2390:76;:::i;:::-;2520:2;2499:15;-1:-1:-1;;2495:29:101;2486:39;;;;2527:4;2482:50;;2267:271;-1:-1:-1;;2267:271:101:o;2543:1767::-;2778:2;2830:21;;;2900:13;;2803:18;;;2922:22;;;2749:4;;2778:2;2963;;2981:18;;;;3018:1;3061:15;;;3046:31;;3042:40;;3105:15;;;2749:4;;3169:1112;3185:6;3180:3;3177:15;3169:1112;;;-1:-1:-1;;3254:22:101;;;3250:36;3238:49;;3310:13;;3397:9;;-1:-1:-1;;;;;3393:58:101;3378:74;;3491:11;;3485:18;3523:15;;;3516:27;;;3604:19;;3350:15;;;3636:24;;;3817:21;;;;3683:2;3765:17;;;3753:30;;3749:39;;;3707:15;;;;3862:1;3876:296;3892:8;3887:3;3884:17;3876:296;;;3998:2;3994:7;3985:6;3977;3973:19;3969:33;3962:5;3955:48;4030:42;4065:6;4054:8;4048:15;4030:42;:::i;:::-;4101:17;;;;4020:52;-1:-1:-1;4144:14:101;;;;3920:1;3911:11;3876:296;;;-1:-1:-1;;;4259:12:101;;;;4195:6;-1:-1:-1;;4224:15:101;;;;3211:1;3202:11;3169:1112;;;-1:-1:-1;4298:6:101;;2543:1767;-1:-1:-1;;;;;;;;;;2543:1767:101:o;4315:291::-;4492:6;4481:9;4474:25;4535:2;4530;4519:9;4515:18;4508:30;4455:4;4555:45;4596:2;4585:9;4581:18;4573:6;4555:45;:::i;:::-;4547:53;4315:291;-1:-1:-1;;;;4315:291:101:o;4611:1638::-;4815:4;4844:2;4884;4873:9;4869:18;4914:2;4903:9;4896:21;4937:6;4972;4966:13;5003:6;4995;4988:22;5029:2;5019:12;;5062:2;5051:9;5047:18;5040:25;;5124:2;5114:6;5111:1;5107:14;5096:9;5092:30;5088:39;5162:2;5154:6;5150:15;5183:1;5204;5214:1006;5230:6;5225:3;5222:15;5214:1006;;;5299:22;;;-1:-1:-1;;5295:36:101;5283:49;;5355:13;;5442:9;;-1:-1:-1;;;;;5438:58:101;5423:74;;5536:11;;5530:18;5568:15;;;5561:27;;;5649:19;;5395:15;;;5681:24;;;5771:21;;;;5816:1;;5739:2;5727:15;;;5830:282;5846:8;5841:3;5838:17;5830:282;;;5927:15;;-1:-1:-1;;;;;;5923:88:101;5909:103;;6081:17;;;;5874:1;5865:11;;;;;6038:14;;;;5830:282;;;-1:-1:-1;6198:12:101;;;;6135:5;-1:-1:-1;;;6163:15:101;;;;5256:1;5247:11;5214:1006;;;-1:-1:-1;6237:6:101;;4611:1638;-1:-1:-1;;;;;;;;;4611:1638:101:o;6254:184::-;-1:-1:-1;;;6303:1:101;6296:88;6403:4;6400:1;6393:15;6427:4;6424:1;6417:15;6443:275;6514:2;6508:9;6579:2;6560:13;;-1:-1:-1;;6556:27:101;6544:40;;6614:18;6599:34;;6635:22;;;6596:62;6593:88;;;6661:18;;:::i;:::-;6697:2;6690:22;6443:275;;-1:-1:-1;6443:275:101:o;6723:186::-;6771:4;6804:18;6796:6;6793:30;6790:56;;;6826:18;;:::i;:::-;-1:-1:-1;6892:2:101;6871:15;-1:-1:-1;;6867:29:101;6898:4;6863:40;;6723:186::o;6914:874::-;7000:6;7008;7016;7069:2;7057:9;7048:7;7044:23;7040:32;7037:52;;;7085:1;7082;7075:12;7037:52;7124:9;7111:23;7143:31;7168:5;7143:31;:::i;:::-;7193:5;-1:-1:-1;7245:2:101;7230:18;;7217:32;;-1:-1:-1;7300:2:101;7285:18;;7272:32;7327:18;7316:30;;7313:50;;;7359:1;7356;7349:12;7313:50;7382:22;;7435:4;7427:13;;7423:27;-1:-1:-1;7413:55:101;;7464:1;7461;7454:12;7413:55;7500:2;7487:16;7525:48;7541:31;7569:2;7541:31;:::i;:::-;7525:48;:::i;:::-;7596:2;7589:5;7582:17;7636:7;7631:2;7626;7622;7618:11;7614:20;7611:33;7608:53;;;7657:1;7654;7647:12;7608:53;7712:2;7707;7703;7699:11;7694:2;7687:5;7683:14;7670:45;7756:1;7751:2;7746;7739:5;7735:14;7731:23;7724:34;7777:5;7767:15;;;;;6914:874;;;;;:::o;7793:803::-;7955:4;7984:2;8024;8013:9;8009:18;8054:2;8043:9;8036:21;8077:6;8112;8106:13;8143:6;8135;8128:22;8181:2;8170:9;8166:18;8159:25;;8243:2;8233:6;8230:1;8226:14;8215:9;8211:30;8207:39;8193:53;;8281:2;8273:6;8269:15;8302:1;8312:255;8326:6;8323:1;8320:13;8312:255;;;8419:2;8415:7;8403:9;8395:6;8391:22;8387:36;8382:3;8375:49;8447:40;8480:6;8471;8465:13;8447:40;:::i;:::-;8437:50;-1:-1:-1;8545:12:101;;;;8510:15;;;;8348:1;8341:9;8312:255;;;-1:-1:-1;8584:6:101;;7793:803;-1:-1:-1;;;;;;;7793:803:101:o;9053:844::-;9179:6;9187;9195;9203;9211;9264:3;9252:9;9243:7;9239:23;9235:33;9232:53;;;9281:1;9278;9271:12;9232:53;9320:9;9307:23;9339:31;9364:5;9339:31;:::i;:::-;9389:5;-1:-1:-1;9446:2:101;9431:18;;9418:32;9459:33;9418:32;9459:33;:::i;:::-;9511:7;-1:-1:-1;9570:2:101;9555:18;;9542:32;9583:33;9542:32;9583:33;:::i;:::-;9635:7;-1:-1:-1;9694:2:101;9679:18;;9666:32;9707:33;9666:32;9707:33;:::i;:::-;9759:7;-1:-1:-1;9818:3:101;9803:19;;9790:33;9832;9790;9832;:::i;:::-;9884:7;9874:17;;;9053:844;;;;;;;;:::o;10341:385::-;10427:6;10435;10443;10451;10504:3;10492:9;10483:7;10479:23;10475:33;10472:53;;;10521:1;10518;10511:12;10472:53;-1:-1:-1;;10544:23:101;;;10614:2;10599:18;;10586:32;;-1:-1:-1;10665:2:101;10650:18;;10637:32;;10716:2;10701:18;10688:32;;-1:-1:-1;10341:385:101;-1:-1:-1;10341:385:101:o;11468:270::-;11557:6;11610:2;11598:9;11589:7;11585:23;11581:32;11578:52;;;11626:1;11623;11616:12;11578:52;11658:9;11652:16;11677:31;11702:5;11677:31;:::i;12674:184::-;-1:-1:-1;;;12723:1:101;12716:88;12823:4;12820:1;12813:15;12847:4;12844:1;12837:15;12863:1065;13305:4;13334:3;13364:2;13353:9;13346:21;13390:56;13442:2;13431:9;13427:18;13419:6;13390:56;:::i;:::-;13477:2;13462:18;;;13455:34;;;;-1:-1:-1;;;;;13586:15:101;;;13581:2;13566:18;;13559:43;13638:22;;;13633:2;13618:18;;13611:50;-1:-1:-1;13670:17:101;;13756:15;;;13750:3;13735:19;;13728:44;-1:-1:-1;;13809:15:101;;;13803:3;13788:19;;13781:44;13856:3;13841:19;;13834:35;;;;13906:15;;;13900:3;13885:19;;;13878:44;;;;13704:15;;12863:1065;-1:-1:-1;12863:1065:101:o;13933:437::-;14012:1;14008:12;;;;14055;;;14076:61;;14130:4;14122:6;14118:17;14108:27;;14076:61;14183:2;14175:6;14172:14;14152:18;14149:38;14146:218;;-1:-1:-1;;;14217:1:101;14210:88;14321:4;14318:1;14311:15;14349:4;14346:1;14339:15;14146:218;;13933:437;;;:::o;14375:184::-;14445:6;14498:2;14486:9;14477:7;14473:23;14469:32;14466:52;;;14514:1;14511;14504:12;14466:52;-1:-1:-1;14537:16:101;;14375:184;-1:-1:-1;14375:184:101:o;14564:::-;-1:-1:-1;;;14613:1:101;14606:88;14713:4;14710:1;14703:15;14737:4;14734:1;14727:15;14753:140;14834:1;14827:5;14824:12;14814:46;;14840:18;;:::i;:::-;14869;;14753:140::o;14898:1037::-;15305:4;15334:3;-1:-1:-1;;;;;15437:2:101;15429:6;15425:15;15414:9;15407:34;15477:6;15472:2;15461:9;15457:18;15450:34;15520:2;15515;15504:9;15500:18;15493:30;15540:45;15581:2;15570:9;15566:18;15558:6;15540:45;:::i;:::-;15532:53;;15594;15643:2;15632:9;15628:18;15620:6;15594:53;:::i;:::-;15678:3;15663:19;;15656:35;;;;-1:-1:-1;15722:3:101;15707:19;;15700:35;;;;15766:3;15751:19;;15744:35;;;;15816:15;;;15810:3;15795:19;;15788:44;15869:15;;;15863:3;15848:19;;15841:44;15916:3;15901:19;15894:35;;;;14898:1037;;-1:-1:-1;;;;14898:1037:101:o;15940:647::-;16019:6;16072:2;16060:9;16051:7;16047:23;16043:32;16040:52;;;16088:1;16085;16078:12;16040:52;16121:9;16115:16;16154:18;16146:6;16143:30;16140:50;;;16186:1;16183;16176:12;16140:50;16209:22;;16262:4;16254:13;;16250:27;-1:-1:-1;16240:55:101;;16291:1;16288;16281:12;16240:55;16320:2;16314:9;16345:48;16361:31;16389:2;16361:31;:::i;16345:48::-;16416:2;16409:5;16402:17;16456:7;16451:2;16446;16442;16438:11;16434:20;16431:33;16428:53;;;16477:1;16474;16467:12;16428:53;16490:67;16554:2;16549;16542:5;16538:14;16533:2;16529;16525:11;16490:67;:::i;:::-;16576:5;15940:647;-1:-1:-1;;;;;15940:647:101:o;16845:395::-;16931:6;16939;16947;17000:2;16988:9;16979:7;16975:23;16971:32;16968:52;;;17016:1;17013;17006:12;16968:52;17048:9;17042:16;17098:4;17091:5;17087:16;17080:5;17077:27;17067:55;;17118:1;17115;17108:12;17067:55;17186:2;17171:18;;17165:25;17230:2;17215:18;;;17209:25;17141:5;;17165:25;;-1:-1:-1;17209:25:101;16845:395;-1:-1:-1;;;16845:395:101:o;17641:1135::-;18074:4;18103:3;-1:-1:-1;;;;;18206:2:101;18198:6;18194:15;18183:9;18176:34;18246:6;18241:2;18230:9;18226:18;18219:34;18289:2;18284;18273:9;18269:18;18262:30;18315:45;18356:2;18345:9;18341:18;18333:6;18315:45;:::i;:::-;18301:59;;18369:53;18418:2;18407:9;18403:18;18395:6;18369:53;:::i;:::-;18459:6;18453:3;18442:9;18438:19;18431:35;18503:6;18497:3;18486:9;18482:19;18475:35;18547:6;18541:3;18530:9;18526:19;18519:35;18603:2;18595:6;18591:15;18585:3;18574:9;18570:19;18563:44;18656:2;18648:6;18644:15;18638:3;18627:9;18623:19;18616:44;;18709:9;18701:6;18697:22;18691:3;18680:9;18676:19;18669:51;18737:33;18763:6;18755;18737:33;:::i;:::-;18729:41;17641:1135;-1:-1:-1;;;;;;;;;;;;;17641:1135:101:o;18781:277::-;18848:6;18901:2;18889:9;18880:7;18876:23;18872:32;18869:52;;;18917:1;18914;18907:12;18869:52;18949:9;18943:16;19002:5;18995:13;18988:21;18981:5;18978:32;18968:60;;19024:1;19021;19014:12;19651:252;19738:5;19732:12;19727:3;19720:25;19702:3;19791:4;19784:5;19780:16;19774:23;19829:4;19822;19817:3;19813:14;19806:28;19850:47;19891:4;19886:3;19882:14;19868:12;19850:47;:::i;19908:902::-;20332:6;20321:9;20314:25;20375:3;20370:2;20359:9;20355:18;20348:31;20416:2;20410:3;20399:9;20395:19;20388:31;20456:16;20450:3;20439:9;20435:19;20428:45;20509:3;20504:2;20493:9;20489:18;20482:31;20295:4;20536:55;20586:3;20575:9;20571:19;20563:6;20536:55;:::i;:::-;-1:-1:-1;;;;;20631:6:101;20627:55;20622:2;20611:9;20607:18;20600:83;20732:9;20724:6;20720:22;20714:3;20703:9;20699:19;20692:51;20760:44;20797:6;20789;20760:44;:::i;:::-;20752:52;19908:902;-1:-1:-1;;;;;;;19908:902:101:o;21628:2165::-;22050:6;22039:9;22032:25;22013:4;22076:2;-1:-1:-1;;;;;22187:2:101;22179:6;22175:15;22170:2;22159:9;22155:18;22148:43;22227:3;22222:2;22211:9;22207:18;22200:31;22254:46;22295:3;22284:9;22280:19;22272:6;22254:46;:::i;:::-;22348:2;22340:6;22336:15;22331:2;22320:9;22316:18;22309:43;22389:6;22383:3;22372:9;22368:19;22361:35;22445:9;22437:6;22433:22;22427:3;22416:9;22412:19;22405:51;22486:6;22480:13;22472:6;22465:29;22513:4;22503:14;;22558:2;22550:6;22546:15;22594:2;22589;22581:6;22577:15;22570:27;22617:1;22650:12;22644:19;22686:3;22716:9;22712:2;22708:18;22698:28;;22776:2;22765:9;22761:18;22798;22788:61;;22842:4;22834:6;22830:17;22820:27;;22788:61;22895:2;22887:6;22884:14;22864:18;22861:38;22858:222;;-1:-1:-1;;;22929:3:101;22922:90;23035:4;23032:1;23025:15;23065:4;23060:3;23053:17;22858:222;23159:2;23147:15;;1189:19;;;1232:14;;;23089:82;-1:-1:-1;23187:18:101;23214:128;;;;23356:1;23351:321;;;;23180:492;;23214:128;-1:-1:-1;;23247:24:101;;23235:37;;23315:14;;23308:22;23305:1;23301:30;23292:40;;;-1:-1:-1;23214:128:101;;23351:321;21575:1;21568:14;;;21612:4;21599:18;;23452:1;23466:165;23480:6;23477:1;23474:13;23466:165;;;23558:14;;23545:11;;;23538:35;23601:16;;;;23495:10;;23466:165;;;23651:11;;;-1:-1:-1;;23180:492:101;;;;;23718:9;23713:3;23709:19;23703:3;23692:9;23688:19;23681:48;23746:41;23783:3;23775:6;23746:41;:::i;:::-;23738:49;21628:2165;-1:-1:-1;;;;;;;;;;;;;;21628:2165:101:o;24100:430::-;-1:-1:-1;;;;;;24289:6:101;24285:79;24280:3;24273:92;24255:3;24394:6;24388:13;24410:74;24477:6;24473:1;24468:3;24464:11;24457:4;24449:6;24445:17;24410:74;:::i;:::-;24504:16;;;;24522:1;24500:24;;24100:430;-1:-1:-1;;;24100:430:101:o;24535:287::-;24664:3;24702:6;24696:13;24718:66;24777:6;24772:3;24765:4;24757:6;24753:17;24718:66;:::i;:::-;24800:16;;;;;24535:287;-1:-1:-1;;24535:287:101:o;25101:848::-;25300:2;25289:9;25282:21;25263:4;-1:-1:-1;;;;;25419:2:101;25410:6;25404:13;25400:22;25395:2;25384:9;25380:18;25373:50;25487:2;25481;25473:6;25469:15;25463:22;25459:31;25454:2;25443:9;25439:18;25432:59;25545:2;25537:6;25533:15;25527:22;25522:2;25511:9;25507:18;25500:50;25605:2;25597:6;25593:15;25587:22;25581:3;25570:9;25566:19;25559:51;25665:3;25657:6;25653:16;25647:23;25641:3;25630:9;25626:19;25619:52;25718:3;25710:6;25706:16;25700:23;25760:4;25754:3;25743:9;25739:19;25732:33;25788:61;25844:3;25833:9;25829:19;25815:12;25788:61;:::i;:::-;25774:75;;25916:2;25909:3;25901:6;25897:16;25891:23;25887:32;25880:4;25869:9;25865:20;25858:62;25937:6;25929:14;;;;25101:848;;;;:::o;27138:184::-;-1:-1:-1;;;27187:1:101;27180:88;27287:4;27284:1;27277:15;27311:4;27308:1;27301:15;27327:135;27366:3;27387:17;;;27384:43;;27407:18;;:::i;:::-;-1:-1:-1;27454:1:101;27443:13;;27327:135::o;27731:795::-;27889:4;27931:3;27920:9;27916:19;27908:27;;27968:6;27962:13;27951:9;27944:32;28032:4;28024:6;28020:17;28014:24;28007:4;27996:9;27992:20;27985:54;28086:4;28078:6;28074:17;28068:24;-1:-1:-1;;;;;28209:2:101;28195:12;28191:21;28184:4;28173:9;28169:20;28162:51;28262:4;28254:6;28250:17;28244:24;28222:46;;28306:1;28290:14;28287:21;28277:55;;28312:18;;:::i;:::-;28370:14;28363:4;28352:9;28348:20;28341:44;28441:4;28433:6;28429:17;28423:24;28416:4;28405:9;28401:20;28394:54;28516:2;28508:4;28500:6;28496:17;28490:24;28486:33;28479:4;28468:9;28464:20;28457:63;;;27731:795;;;;:::o;28825:274::-;28865:1;28891;28881:189;;-1:-1:-1;;;28923:1:101;28916:88;29027:4;29024:1;29017:15;29055:4;29052:1;29045:15;28881:189;-1:-1:-1;29084:9:101;;28825:274::o;29104:128::-;29171:9;;;29192:11;;;29189:37;;;29206:18;;:::i;29237:168::-;29310:9;;;29341;;29358:15;;;29352:22;;29338:37;29328:71;;29379:18;;:::i;29410:125::-;29475:9;;;29496:10;;;29493:36;;;29509:18;;:::i;30465:291::-;30642:2;30631:9;30624:21;30605:4;30662:45;30703:2;30692:9;30688:18;30680:6;30662:45;:::i;:::-;30654:53;;30743:6;30738:2;30727:9;30723:18;30716:34;30465:291;;;;;:::o;30761:340::-;30938:2;30927:9;30920:21;30901:4;30958:45;30999:2;30988:9;30984:18;30976:6;30958:45;:::i;:::-;30950:53;;-1:-1:-1;;;;;31043:6:101;31039:55;31034:2;31023:9;31019:18;31012:83;30761:340;;;;;:::o;31757:::-;-1:-1:-1;;;;;31938:6:101;31934:55;31923:9;31916:74;32026:2;32021;32010:9;32006:18;31999:30;31897:4;32046:45;32087:2;32076:9;32072:18;32064:6;32046:45;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","deployAllo()":"8125937b","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployAllo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/DeployCV.s.sol\":\"DeployCV\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/script/DeployCV.s.sol\":{\"keccak256\":\"0x469e9fccaae1c81ea6939750bcfa8ab593750f8138d58b45cefc3936f25c799e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://79b66529779ff03bd7ddc64c74e646c09510bded224585913665e9bd981492de\",\"dweb:/ipfs/QmVSmzSfe9Bgo5hE98aoSNoqZJAS7Dcz1e4qtnUcdKvT3c\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deployAllo","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/DeployCV.s.sol":"DeployCV"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/script/DeployCV.s.sol":{"keccak256":"0x469e9fccaae1c81ea6939750bcfa8ab593750f8138d58b45cefc3936f25c799e","urls":["bzz-raw://79b66529779ff03bd7ddc64c74e646c09510bded224585913665e9bd981492de","dweb:/ipfs/QmVSmzSfe9Bgo5hE98aoSNoqZJAS7Dcz1e4qtnUcdKvT3c"],"license":"UNLICENSED"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/script/DeployCV.s.sol","id":58457,"exportedSymbols":{"AMockERC20":[9751],"Accounts":[9264],"Allo":[1390],"BaseStrategy":[3923],"CVStrategy":[61025],"CVStrategyHelpers":[62207],"DeployCV":[58456],"IAllo":[2610],"IERC20":[6903],"IRegistry":[2802],"IWithdrawMember":[59058],"Metadata":[3098],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"SafeSetup":[66201],"Script":[12629],"ScriptBase":[12590],"StdChains":[14811],"StdCheatsSafe":[16871],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"VmSafe":[23817],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdJson":[18581],"stdMath":[18723],"stdStorageSafe":[19803]},"nodeType":"SourceUnit","src":"39:6339:91","nodes":[{"id":57712,"nodeType":"PragmaDirective","src":"39:24:91","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":57713,"nodeType":"ImportDirective","src":"65:32:91","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":40483,"symbolAliases":[],"unitAlias":""},{"id":57714,"nodeType":"ImportDirective","src":"98:30:91","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":12630,"symbolAliases":[],"unitAlias":""},{"id":57715,"nodeType":"ImportDirective","src":"129:56:91","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":57716,"nodeType":"ImportDirective","src":"186:31:91","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":61026,"symbolAliases":[],"unitAlias":""},{"id":57718,"nodeType":"ImportDirective","src":"218:66:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":57717,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"226:5:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57720,"nodeType":"ImportDirective","src":"285:53:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":57719,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"293:4:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57722,"nodeType":"ImportDirective","src":"339:74:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":57721,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"347:9:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57724,"nodeType":"ImportDirective","src":"414:61:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":57723,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"422:8:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57726,"nodeType":"ImportDirective","src":"476:67:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":57725,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"484:6:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57728,"nodeType":"ImportDirective","src":"544:64:91","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"../test/CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":62208,"symbolAliases":[{"foreign":{"id":57727,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62207,"src":"552:17:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57730,"nodeType":"ImportDirective","src":"609:73:91","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":57729,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"617:9:91","typeDescriptions":{}},"local":"AMockERC20","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57732,"nodeType":"ImportDirective","src":"683:59:91","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":57731,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"691:15:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57734,"nodeType":"ImportDirective","src":"743:55:91","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"../test/shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":66202,"symbolAliases":[{"foreign":{"id":57733,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66201,"src":"751:9:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57736,"nodeType":"ImportDirective","src":"799:71:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":57735,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"807:8:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57738,"nodeType":"ImportDirective","src":"871:66:91","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":57737,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"879:8:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58456,"nodeType":"ContractDefinition","src":"939:5438:91","nodes":[{"id":57749,"nodeType":"VariableDeclaration","src":"1011:42:91","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1035:13:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57747,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":57748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1051:2:91","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":57752,"nodeType":"VariableDeclaration","src":"1060:23:91","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1078:5:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":57751,"nodeType":"UserDefinedTypeName","pathNode":{"id":57750,"name":"AMockERC20","nameLocations":["1060:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1060:10:91"},"referencedDeclaration":9751,"src":"1060:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":57755,"nodeType":"VariableDeclaration","src":"1090:11:91","nodes":[],"constant":false,"mutability":"mutable","name":"_allo_","nameLocation":"1095:6:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":57754,"nodeType":"UserDefinedTypeName","pathNode":{"id":57753,"name":"Allo","nameLocations":["1090:4:91"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1090:4:91"},"referencedDeclaration":1390,"src":"1090:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"id":57758,"nodeType":"VariableDeclaration","src":"1107:19:91","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"1116:10:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":57757,"nodeType":"UserDefinedTypeName","pathNode":{"id":57756,"name":"Registry","nameLocations":["1107:8:91"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"1107:8:91"},"referencedDeclaration":2295,"src":"1107:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":57770,"nodeType":"FunctionDefinition","src":"1133:139:91","nodes":[],"body":{"id":57769,"nodeType":"Block","src":"1197:75:91","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"307866333946643665353161616438384636463463653661423838323732373963666646623932323636","id":57766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1222:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1214:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57764,"name":"address","nodeType":"ElementaryTypeName","src":"1214:7:91","typeDescriptions":{}}},"id":57767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":57763,"id":57768,"nodeType":"Return","src":"1207:58:91"}]},"baseFunctions":[8991],"functionSelector":"8e0d1a50","implemented":true,"kind":"function","modifiers":[],"name":"pool_admin","nameLocation":"1142:10:91","overrides":{"id":57760,"nodeType":"OverrideSpecifier","overrides":[],"src":"1170:8:91"},"parameters":{"id":57759,"nodeType":"ParameterList","parameters":[],"src":"1152:2:91"},"returnParameters":{"id":57763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57762,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57770,"src":"1188:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57761,"name":"address","nodeType":"ElementaryTypeName","src":"1188:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1187:9:91"},"scope":58456,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":57782,"nodeType":"FunctionDefinition","src":"1278:139:91","nodes":[],"body":{"id":57781,"nodeType":"Block","src":"1342:75:91","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"307866333946643665353161616438384636463463653661423838323732373963666646623932323636","id":57778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1367:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1359:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57776,"name":"address","nodeType":"ElementaryTypeName","src":"1359:7:91","typeDescriptions":{}}},"id":57779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1359:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":57775,"id":57780,"nodeType":"Return","src":"1352:58:91"}]},"baseFunctions":[8923],"functionSelector":"7cbe79ed","implemented":true,"kind":"function","modifiers":[],"name":"allo_owner","nameLocation":"1287:10:91","overrides":{"id":57772,"nodeType":"OverrideSpecifier","overrides":[],"src":"1315:8:91"},"parameters":{"id":57771,"nodeType":"ParameterList","parameters":[],"src":"1297:2:91"},"returnParameters":{"id":57775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57774,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57782,"src":"1333:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57773,"name":"address","nodeType":"ElementaryTypeName","src":"1333:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1332:9:91"},"scope":58456,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":58408,"nodeType":"FunctionDefinition","src":"1423:4525:91","nodes":[],"body":{"id":58407,"nodeType":"Block","src":"1445:4503:91","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57788,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"1473:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1473:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57785,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1455:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":57787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1458:14:91","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"1455:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57791,"nodeType":"ExpressionStatement","src":"1455:31:91"},{"assignments":[57794],"declarations":[{"constant":false,"id":57794,"mutability":"mutable","name":"allo","nameLocation":"1502:4:91","nodeType":"VariableDeclaration","scope":58407,"src":"1497:9:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":57793,"nodeType":"UserDefinedTypeName","pathNode":{"id":57792,"name":"Allo","nameLocations":["1497:4:91"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1497:4:91"},"referencedDeclaration":1390,"src":"1497:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"}],"id":57799,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57796,"name":"deployAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58455,"src":"1514:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1514:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57795,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"1509:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1509:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"VariableDeclarationStatement","src":"1497:30:91"},{"expression":{"id":57805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57800,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"1538:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":57803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1546:14:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":57802,"nodeType":"UserDefinedTypeName","pathNode":{"id":57801,"name":"AMockERC20","nameLocations":["1550:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1550:10:91"},"referencedDeclaration":9751,"src":"1550:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":57804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1546:16:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"1538:24:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":57806,"nodeType":"ExpressionStatement","src":"1538:24:91"},{"assignments":[57809],"declarations":[{"constant":false,"id":57809,"mutability":"mutable","name":"registry","nameLocation":"1583:8:91","nodeType":"VariableDeclaration","scope":58407,"src":"1573:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":57808,"nodeType":"UserDefinedTypeName","pathNode":{"id":57807,"name":"IRegistry","nameLocations":["1573:9:91"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1573:9:91"},"referencedDeclaration":2802,"src":"1573:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"id":57813,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57810,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"1594:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1599:11:91","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":1362,"src":"1594:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IRegistry_$2802_$","typeString":"function () view external returns (contract IRegistry)"}},"id":57812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1573:39:91"},{"assignments":[57816],"declarations":[{"constant":false,"id":57816,"mutability":"mutable","name":"registryFactory","nameLocation":"1639:15:91","nodeType":"VariableDeclaration","scope":58407,"src":"1623:31:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":57815,"nodeType":"UserDefinedTypeName","pathNode":{"id":57814,"name":"RegistryFactory","nameLocations":["1623:15:91"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1623:15:91"},"referencedDeclaration":61072,"src":"1623:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":57821,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":57819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1657:19:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":57818,"nodeType":"UserDefinedTypeName","pathNode":{"id":57817,"name":"RegistryFactory","nameLocations":["1661:15:91"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1661:15:91"},"referencedDeclaration":61072,"src":"1661:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":57820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1657:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"1623:55:91"},{"assignments":[57826],"declarations":[{"constant":false,"id":57826,"mutability":"mutable","name":"params","nameLocation":"1729:6:91","nodeType":"VariableDeclaration","scope":58407,"src":"1689:46:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":57825,"nodeType":"UserDefinedTypeName","pathNode":{"id":57824,"name":"RegistryGardens.InitializeParams","nameLocations":["1689:15:91","1705:16:91"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"1689:32:91"},"referencedDeclaration":61245,"src":"1689:32:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":57827,"nodeType":"VariableDeclarationStatement","src":"1689:46:91"},{"expression":{"id":57835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57828,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1746:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1753:5:91","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"1746:12:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":57833,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"1769:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1761:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57831,"name":"address","nodeType":"ElementaryTypeName","src":"1761:7:91","typeDescriptions":{}}},"id":57834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1746:28:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57836,"nodeType":"ExpressionStatement","src":"1746:28:91"},{"expression":{"id":57846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57837,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1784:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1791:12:91","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"1784:19:91","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":57843,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"1821:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":57842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1813:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57841,"name":"address","nodeType":"ElementaryTypeName","src":"1813:7:91","typeDescriptions":{}}},"id":57844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1813:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57840,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"1806:6:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":57845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1806:22:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"1784:44:91","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":57847,"nodeType":"ExpressionStatement","src":"1784:44:91"},{"expression":{"id":57852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57848,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1838:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1845:19:91","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"1838:26:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57851,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57749,"src":"1867:13:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1838:42:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57853,"nodeType":"ExpressionStatement","src":"1838:42:91"},{"expression":{"id":57858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57854,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1890:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1897:12:91","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"1890:19:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":57857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1912:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1890:23:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57859,"nodeType":"ExpressionStatement","src":"1890:23:91"},{"expression":{"id":57864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57860,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1923:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1930:9:91","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"1923:16:91","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57863,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61865,"src":"1942:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"1923:27:91","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":57865,"nodeType":"ExpressionStatement","src":"1923:27:91"},{"expression":{"id":57877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57866,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1978:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1985:12:91","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"1978:19:91","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57873,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66102,"src":"2016:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":57874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2016:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":57872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2008:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57871,"name":"address","nodeType":"ElementaryTypeName","src":"2008:7:91","typeDescriptions":{}}},"id":57875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2008:23:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2000:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":57869,"name":"address","nodeType":"ElementaryTypeName","src":"2000:8:91","stateMutability":"payable","typeDescriptions":{}}},"id":57876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2000:32:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1978:54:91","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":57878,"nodeType":"ExpressionStatement","src":"1978:54:91"},{"assignments":[57881],"declarations":[{"constant":false,"id":57881,"mutability":"mutable","name":"registryGardens","nameLocation":"2059:15:91","nodeType":"VariableDeclaration","scope":58407,"src":"2043:31:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":57880,"nodeType":"UserDefinedTypeName","pathNode":{"id":57879,"name":"RegistryGardens","nameLocations":["2043:15:91"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"2043:15:91"},"referencedDeclaration":61840,"src":"2043:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"id":57888,"initialValue":{"arguments":[{"arguments":[{"id":57885,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"2124:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":57883,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57816,"src":"2093:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":57884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2109:14:91","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"2093:30:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":57886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2093:38:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57882,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"2077:15:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":57887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2077:55:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"VariableDeclarationStatement","src":"2043:89:91"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57894,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"2198:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2198:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2190:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57892,"name":"address","nodeType":"ElementaryTypeName","src":"2190:7:91","typeDescriptions":{}}},"id":57896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2190:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31305f303030","id":57897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2213:6:91","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}],"expression":{"id":57889,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"2179:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":57891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2185:4:91","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2179:10:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":57898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2179:41:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57899,"nodeType":"ExpressionStatement","src":"2179:41:91"},{"assignments":[57902],"declarations":[{"constant":false,"id":57902,"mutability":"mutable","name":"strategy1","nameLocation":"2242:9:91","nodeType":"VariableDeclaration","scope":58407,"src":"2231:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":57901,"nodeType":"UserDefinedTypeName","pathNode":{"id":57900,"name":"CVStrategy","nameLocations":["2231:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2231:10:91"},"referencedDeclaration":61025,"src":"2231:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":57911,"initialValue":{"arguments":[{"arguments":[{"id":57908,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2277:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2269:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57906,"name":"address","nodeType":"ElementaryTypeName","src":"2269:7:91","typeDescriptions":{}}},"id":57909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2269:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2254:14:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":57904,"nodeType":"UserDefinedTypeName","pathNode":{"id":57903,"name":"CVStrategy","nameLocations":["2258:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2258:10:91"},"referencedDeclaration":61025,"src":"2258:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":57910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2254:29:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2231:52:91"},{"assignments":[57914],"declarations":[{"constant":false,"id":57914,"mutability":"mutable","name":"strategy2","nameLocation":"2304:9:91","nodeType":"VariableDeclaration","scope":58407,"src":"2293:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":57913,"nodeType":"UserDefinedTypeName","pathNode":{"id":57912,"name":"CVStrategy","nameLocations":["2293:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2293:10:91"},"referencedDeclaration":61025,"src":"2293:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":57923,"initialValue":{"arguments":[{"arguments":[{"id":57920,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2339:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2331:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57918,"name":"address","nodeType":"ElementaryTypeName","src":"2331:7:91","typeDescriptions":{}}},"id":57921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2331:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2316:14:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":57916,"nodeType":"UserDefinedTypeName","pathNode":{"id":57915,"name":"CVStrategy","nameLocations":["2320:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2320:10:91"},"referencedDeclaration":61025,"src":"2320:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":57922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2316:29:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2293:52:91"},{"assignments":[57925],"declarations":[{"constant":false,"id":57925,"mutability":"mutable","name":"poolId","nameLocation":"2393:6:91","nodeType":"VariableDeclaration","scope":58407,"src":"2385:14:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57924,"name":"uint256","nodeType":"ElementaryTypeName","src":"2385:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57947,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":57930,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2438:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2430:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57928,"name":"address","nodeType":"ElementaryTypeName","src":"2430:7:91","typeDescriptions":{}}},"id":57931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2430:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57927,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2425:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2425:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":57935,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2454:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":57934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2446:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57933,"name":"address","nodeType":"ElementaryTypeName","src":"2446:7:91","typeDescriptions":{}}},"id":57936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2446:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57939,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"2474:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":57938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2466:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57937,"name":"address","nodeType":"ElementaryTypeName","src":"2466:7:91","typeDescriptions":{}}},"id":57940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2466:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57941,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57809,"src":"2492:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"id":57944,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"2510:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":57943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2502:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57942,"name":"address","nodeType":"ElementaryTypeName","src":"2502:7:91","typeDescriptions":{}}},"id":57945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2502:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57926,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62038,"src":"2414:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":57946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2414:103:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2385:132:91"},{"assignments":[57949],"declarations":[{"constant":false,"id":57949,"mutability":"mutable","name":"poolIdSignaling","nameLocation":"2536:15:91","nodeType":"VariableDeclaration","scope":58407,"src":"2528:23:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2528:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57971,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":57954,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2590:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2582:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57952,"name":"address","nodeType":"ElementaryTypeName","src":"2582:7:91","typeDescriptions":{}}},"id":57955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2582:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57951,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2577:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2577:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":57959,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"2606:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":57958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2598:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57957,"name":"address","nodeType":"ElementaryTypeName","src":"2598:7:91","typeDescriptions":{}}},"id":57960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2598:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57963,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"2626:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":57962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2618:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57961,"name":"address","nodeType":"ElementaryTypeName","src":"2618:7:91","typeDescriptions":{}}},"id":57964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57965,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57809,"src":"2644:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"hexValue":"30","id":57968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2662:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2654:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57966,"name":"address","nodeType":"ElementaryTypeName","src":"2654:7:91","typeDescriptions":{}}},"id":57969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:10:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57950,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62038,"src":"2566:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":57970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2566:99:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2528:137:91"},{"assignments":[57976],"declarations":[{"constant":false,"id":57976,"mutability":"mutable","name":"membersStaked","nameLocation":"2692:13:91","nodeType":"VariableDeclaration","scope":58407,"src":"2675:30:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":57974,"name":"address","nodeType":"ElementaryTypeName","src":"2675:7:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57975,"nodeType":"ArrayTypeName","src":"2675:9:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":57982,"initialValue":{"arguments":[{"hexValue":"34","id":57980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2722:1:91","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":57979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2708:13:91","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":57977,"name":"address","nodeType":"ElementaryTypeName","src":"2712:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57978,"nodeType":"ArrayTypeName","src":"2712:9:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":57981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2708:16:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2675:49:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":57987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2768:15:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":57986,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"2754:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2754:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57983,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2735:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":57985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2745:8:91","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"2735:18:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2735:50:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57990,"nodeType":"ExpressionStatement","src":"2735:50:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":57995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2848:9:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":57994,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"2834:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2834:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57991,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2812:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":57993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2822:11:91","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"2812:21:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2812:47:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57998,"nodeType":"ExpressionStatement","src":"2812:47:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2922:12:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58002,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"2908:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2908:27:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57999,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2888:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2898:9:91","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"2888:19:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2888:48:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58006,"nodeType":"ExpressionStatement","src":"2888:48:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3030:15:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58010,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"3016:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3016:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58007,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"2997:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3007:8:91","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"2997:18:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:50:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58014,"nodeType":"ExpressionStatement","src":"2997:50:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3110:9:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58018,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"3096:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3096:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58015,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"3074:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3084:11:91","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"3074:21:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3074:47:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58022,"nodeType":"ExpressionStatement","src":"3074:47:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3184:12:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58026,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"3170:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3170:27:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58023,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"3150:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3160:9:91","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"3150:19:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3150:48:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58030,"nodeType":"ExpressionStatement","src":"3150:48:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3229:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3232:13:91","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"3229:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3229:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58035,"nodeType":"ExpressionStatement","src":"3229:18:91"},{"expression":{"id":58043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58036,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3258:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58038,"indexExpression":{"hexValue":"30","id":58037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3272:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3258:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307866333946643665353161616438384636463463653661423838323732373963666646623932323636","id":58041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3285:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3277:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58039,"name":"address","nodeType":"ElementaryTypeName","src":"3277:7:91","typeDescriptions":{}}},"id":58042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3277:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3258:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58044,"nodeType":"ExpressionStatement","src":"3258:70:91"},{"expression":{"id":58052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58045,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3338:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58047,"indexExpression":{"hexValue":"31","id":58046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3352:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3338:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307837303939373937304335313831326463334130313043376430316235306530643137646337394338","id":58050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3365:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3357:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58048,"name":"address","nodeType":"ElementaryTypeName","src":"3357:7:91","typeDescriptions":{}}},"id":58051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3357:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3338:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58053,"nodeType":"ExpressionStatement","src":"3338:70:91"},{"expression":{"id":58061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58054,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3418:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58056,"indexExpression":{"hexValue":"32","id":58055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3432:1:91","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3418:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307833433434436444644236613930306661326235383564643239396530336431324641343239334243","id":58059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3445:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3437:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58057,"name":"address","nodeType":"ElementaryTypeName","src":"3437:7:91","typeDescriptions":{}}},"id":58060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3437:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3418:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58062,"nodeType":"ExpressionStatement","src":"3418:70:91"},{"expression":{"id":58070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58063,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3498:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58065,"indexExpression":{"hexValue":"33","id":58064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3512:1:91","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3498:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307839304637396266364542326334663837303336354537383539383245316631303145393362393036","id":58068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3525:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x90F79bf6EB2c4f870365E785982E1f101E93b906"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3517:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58066,"name":"address","nodeType":"ElementaryTypeName","src":"3517:7:91","typeDescriptions":{}}},"id":58069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3517:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3498:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58071,"nodeType":"ExpressionStatement","src":"3498:70:91"},{"body":{"id":58131,"nodeType":"Block","src":"3630:363:91","statements":[{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":58088,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3670:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58090,"indexExpression":{"id":58089,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3684:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3670:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3662:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58086,"name":"address","nodeType":"ElementaryTypeName","src":"3662:7:91","typeDescriptions":{}}},"id":58091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3662:25:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58083,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3644:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3647:14:91","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"3644:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3644:44:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58093,"nodeType":"ExpressionStatement","src":"3644:44:91"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":58099,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3721:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58101,"indexExpression":{"id":58100,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3735:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3721:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3713:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58097,"name":"address","nodeType":"ElementaryTypeName","src":"3713:7:91","typeDescriptions":{}}},"id":58102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3713:25:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":58103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3740:3:91","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":58094,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"3702:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3708:4:91","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"3702:10:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":58104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3702:42:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58105,"nodeType":"ExpressionStatement","src":"3702:42:91"},{"expression":{"arguments":[{"arguments":[{"id":58111,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"3780:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3772:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58109,"name":"address","nodeType":"ElementaryTypeName","src":"3772:7:91","typeDescriptions":{}}},"id":58112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3772:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58113,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57749,"src":"3798:13:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58106,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"3758:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3764:7:91","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3758:13:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3758:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58115,"nodeType":"ExpressionStatement","src":"3758:54:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58116,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"3883:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3893:14:91","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3883:24:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3883:26:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58120,"nodeType":"ExpressionStatement","src":"3883:26:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58121,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"3923:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3933:14:91","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3923:24:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3923:26:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58125,"nodeType":"ExpressionStatement","src":"3923:26:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58126,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3964:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3967:13:91","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"3964:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3964:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58130,"nodeType":"ExpressionStatement","src":"3964:18:91"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3599:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":58077,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3603:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3617:6:91","memberName":"length","nodeType":"MemberAccess","src":"3603:20:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3599:24:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58132,"initializationExpression":{"assignments":[58073],"declarations":[{"constant":false,"id":58073,"mutability":"mutable","name":"i","nameLocation":"3592:1:91","nodeType":"VariableDeclaration","scope":58132,"src":"3584:9:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58072,"name":"uint256","nodeType":"ElementaryTypeName","src":"3584:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58075,"initialValue":{"hexValue":"30","id":58074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3596:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3584:13:91"},"loopExpression":{"expression":{"id":58081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3625:3:91","subExpression":{"id":58080,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3625:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58082,"nodeType":"ExpressionStatement","src":"3625:3:91"},"nodeType":"ForStatement","src":"3579:414:91"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58136,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"4020:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4020:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58133,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4002:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4005:14:91","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"4002:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4002:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58139,"nodeType":"ExpressionStatement","src":"4002:31:91"},{"expression":{"arguments":[{"arguments":[{"id":58145,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4066:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4058:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58143,"name":"address","nodeType":"ElementaryTypeName","src":"4058:7:91","typeDescriptions":{}}},"id":58146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4058:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":58149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4078:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58148,"name":"uint256","nodeType":"ElementaryTypeName","src":"4078:7:91","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":58147,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4073:4:91","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":58150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4073:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":58151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4087:3:91","memberName":"max","nodeType":"MemberAccess","src":"4073:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58140,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4044:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4050:7:91","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4044:13:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4044:47:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58153,"nodeType":"ExpressionStatement","src":"4044:47:91"},{"expression":{"arguments":[{"id":58157,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4115:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"315f303030","id":58158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4123:5:91","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":58154,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4101:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4106:8:91","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4101:13:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":58159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4101:28:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58160,"nodeType":"ExpressionStatement","src":"4101:28:91"},{"assignments":[58165],"declarations":[{"constant":false,"id":58165,"mutability":"mutable","name":"proposal","nameLocation":"4182:8:91","nodeType":"VariableDeclaration","scope":58407,"src":"4149:41:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58164,"nodeType":"UserDefinedTypeName","pathNode":{"id":58163,"name":"CVStrategy.CreateProposal","nameLocations":["4149:10:91","4160:14:91"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4149:25:91"},"referencedDeclaration":59158,"src":"4149:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58182,"initialValue":{"arguments":[{"hexValue":"31","id":58168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4231:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58169,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4234:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58170,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"4242:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58172,"indexExpression":{"hexValue":"30","id":58171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4256:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4242:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58173,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4260:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4271:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4260:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4284:7:91","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4260:31:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3530","id":58176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4293:2:91","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"arguments":[{"id":58179,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4305:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4297:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58177,"name":"address","nodeType":"ElementaryTypeName","src":"4297:7:91","typeDescriptions":{}}},"id":58180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58166,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4205:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4216:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4205:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4205:107:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4149:163:91"},{"assignments":[58184],"declarations":[{"constant":false,"id":58184,"mutability":"mutable","name":"data","nameLocation":"4335:4:91","nodeType":"VariableDeclaration","scope":58407,"src":"4322:17:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58183,"name":"bytes","nodeType":"ElementaryTypeName","src":"4322:5:91","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58189,"initialValue":{"arguments":[{"id":58187,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4353:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4342:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4346:6:91","memberName":"encode","nodeType":"MemberAccess","src":"4342:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4342:20:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4322:40:91"},{"expression":{"arguments":[{"id":58193,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4395:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58194,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4403:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58190,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4372:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4377:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4372:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4372:36:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58196,"nodeType":"ExpressionStatement","src":"4372:36:91"},{"expression":{"id":58214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58197,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4419:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":58200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4468:1:91","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":58201,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4471:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58202,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"4479:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58204,"indexExpression":{"hexValue":"31","id":58203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4493:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4479:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58205,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4497:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4508:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4497:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4521:7:91","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4497:31:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3235","id":58208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4530:2:91","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"arguments":[{"id":58211,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4542:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4534:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58209,"name":"address","nodeType":"ElementaryTypeName","src":"4534:7:91","typeDescriptions":{}}},"id":58212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4534:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58198,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4442:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4453:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4442:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4442:107:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"4419:130:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58215,"nodeType":"ExpressionStatement","src":"4419:130:91"},{"expression":{"id":58221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58216,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4559:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58219,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4577:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4566:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4570:6:91","memberName":"encode","nodeType":"MemberAccess","src":"4566:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4566:20:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4559:27:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58222,"nodeType":"ExpressionStatement","src":"4559:27:91"},{"expression":{"arguments":[{"id":58226,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4619:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58227,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4627:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58223,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4596:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4601:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4596:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4596:36:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58229,"nodeType":"ExpressionStatement","src":"4596:36:91"},{"expression":{"id":58247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58230,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4643:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":58233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4692:1:91","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"id":58234,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4695:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58235,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"4703:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58237,"indexExpression":{"hexValue":"32","id":58236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4717:1:91","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4703:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58238,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4721:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4732:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4721:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4745:7:91","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4721:31:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3130","id":58241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4754:2:91","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"arguments":[{"id":58244,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4766:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4758:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58242,"name":"address","nodeType":"ElementaryTypeName","src":"4758:7:91","typeDescriptions":{}}},"id":58245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4758:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58231,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4666:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4677:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4666:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4666:107:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"4643:130:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58248,"nodeType":"ExpressionStatement","src":"4643:130:91"},{"expression":{"id":58254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58249,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4783:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4801:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58250,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4790:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4794:6:91","memberName":"encode","nodeType":"MemberAccess","src":"4790:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4790:20:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4783:27:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58255,"nodeType":"ExpressionStatement","src":"4783:27:91"},{"expression":{"arguments":[{"id":58259,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4843:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58260,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4851:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58256,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4820:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4825:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4820:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4820:36:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58262,"nodeType":"ExpressionStatement","src":"4820:36:91"},{"assignments":[58267],"declarations":[{"constant":false,"id":58267,"mutability":"mutable","name":"proposal2","nameLocation":"4970:9:91","nodeType":"VariableDeclaration","scope":58407,"src":"4937:42:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58266,"nodeType":"UserDefinedTypeName","pathNode":{"id":58265,"name":"CVStrategy.CreateProposal","nameLocations":["4937:10:91","4948:14:91"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4937:25:91"},"referencedDeclaration":59158,"src":"4937:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58284,"initialValue":{"arguments":[{"hexValue":"31","id":58270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5021:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58271,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57949,"src":"5024:15:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58272,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"5041:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58274,"indexExpression":{"hexValue":"30","id":58273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5055:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5041:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58275,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"5059:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5070:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"5059:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5083:9:91","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"5059:33:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":58278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5094:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":58281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5105:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5097:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58279,"name":"address","nodeType":"ElementaryTypeName","src":"5097:7:91","typeDescriptions":{}}},"id":58282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5097:10:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58268,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4982:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4993:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4982:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4982:135:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4937:180:91"},{"assignments":[58286],"declarations":[{"constant":false,"id":58286,"mutability":"mutable","name":"data2","nameLocation":"5140:5:91","nodeType":"VariableDeclaration","scope":58407,"src":"5127:18:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58285,"name":"bytes","nodeType":"ElementaryTypeName","src":"5127:5:91","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58291,"initialValue":{"arguments":[{"id":58289,"name":"proposal2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58267,"src":"5159:9:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5148:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5152:6:91","memberName":"encode","nodeType":"MemberAccess","src":"5148:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5148:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5127:42:91"},{"expression":{"arguments":[{"id":58295,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57949,"src":"5202:15:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58296,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58286,"src":"5219:5:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58292,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"5179:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5184:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5179:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5179:46:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58298,"nodeType":"ExpressionStatement","src":"5179:46:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58299,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"5235:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5238:13:91","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"5235:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5235:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58303,"nodeType":"ExpressionStatement","src":"5235:18:91"},{"expression":{"arguments":[{"hexValue":"506f6f6c49643a202573","id":58307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5277:12:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},"value":"PoolId: %s"},{"id":58308,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"5291:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58304,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5264:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5273:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"5264:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5264:34:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58310,"nodeType":"ExpressionStatement","src":"5264:34:91"},{"expression":{"arguments":[{"hexValue":"53747261746567793120416464723a202573","id":58314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5321:20:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},"value":"Strategy1 Addr: %s"},{"arguments":[{"id":58317,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"5351:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5343:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58315,"name":"address","nodeType":"ElementaryTypeName","src":"5343:7:91","typeDescriptions":{}}},"id":58318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5343:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58311,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5308:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5317:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5308:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5308:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58320,"nodeType":"ExpressionStatement","src":"5308:54:91"},{"expression":{"arguments":[{"hexValue":"706f6f6c49645369676e616c696e673a202573","id":58324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5386:21:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_113c36173906b4b51e488530846a35d3a7ff96f5b16dd66bdd4d34c9c2179e9d","typeString":"literal_string \"poolIdSignaling: %s\""},"value":"poolIdSignaling: %s"},{"id":58325,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57949,"src":"5409:15:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_113c36173906b4b51e488530846a35d3a7ff96f5b16dd66bdd4d34c9c2179e9d","typeString":"literal_string \"poolIdSignaling: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58321,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5373:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5382:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"5373:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5373:52:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58327,"nodeType":"ExpressionStatement","src":"5373:52:91"},{"expression":{"arguments":[{"hexValue":"53747261746567793220416464723a202573","id":58331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5448:20:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},"value":"Strategy2 Addr: %s"},{"arguments":[{"id":58334,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"5478:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5470:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58332,"name":"address","nodeType":"ElementaryTypeName","src":"5470:7:91","typeDescriptions":{}}},"id":58335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5470:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58328,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5435:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5444:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5435:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5435:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58337,"nodeType":"ExpressionStatement","src":"5435:54:91"},{"expression":{"arguments":[{"hexValue":"416c6c6f20416464723a202573","id":58341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5513:15:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},"value":"Allo Addr: %s"},{"arguments":[{"id":58344,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"5538:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5530:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58342,"name":"address","nodeType":"ElementaryTypeName","src":"5530:7:91","typeDescriptions":{}}},"id":58345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5530:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58338,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5500:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5509:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5500:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5500:44:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58347,"nodeType":"ExpressionStatement","src":"5500:44:91"},{"expression":{"arguments":[{"hexValue":"546f6b656e20416464723a202573","id":58351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5567:16:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},"value":"Token Addr: %s"},{"arguments":[{"id":58354,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"5593:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5585:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58352,"name":"address","nodeType":"ElementaryTypeName","src":"5585:7:91","typeDescriptions":{}}},"id":58355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5585:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58348,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5554:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5563:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5554:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5554:46:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58357,"nodeType":"ExpressionStatement","src":"5554:46:91"},{"expression":{"arguments":[{"hexValue":"546f6b656e204e617469766520416464723a202573","id":58361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5623:23:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},"value":"Token Native Addr: %s"},{"arguments":[{"id":58364,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5656:6:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5648:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58362,"name":"address","nodeType":"ElementaryTypeName","src":"5648:7:91","typeDescriptions":{}}},"id":58365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5648:15:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58358,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5610:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5619:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5610:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5610:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58367,"nodeType":"ExpressionStatement","src":"5610:54:91"},{"expression":{"arguments":[{"hexValue":"52656769737472792047617264656e7320416464723a202573","id":58371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5688:27:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},"value":"Registry Gardens Addr: %s"},{"arguments":[{"id":58374,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"5725:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5717:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58372,"name":"address","nodeType":"ElementaryTypeName","src":"5717:7:91","typeDescriptions":{}}},"id":58375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5717:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58368,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5675:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5684:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5675:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5675:67:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58377,"nodeType":"ExpressionStatement","src":"5675:67:91"},{"expression":{"arguments":[{"hexValue":"416c6c6f20526567697374727920416464723a202573","id":58381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5766:24:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},"value":"Allo Registry Addr: %s"},{"arguments":[{"id":58384,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57809,"src":"5800:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":58383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5792:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58382,"name":"address","nodeType":"ElementaryTypeName","src":"5792:7:91","typeDescriptions":{}}},"id":58385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5792:17:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58378,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5753:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5762:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5753:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:57:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58387,"nodeType":"ExpressionStatement","src":"5753:57:91"},{"expression":{"arguments":[{"hexValue":"506f6f6c2041646d696e20416464723a202573","id":58391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5833:21:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},"value":"Pool Admin Addr: %s"},{"arguments":[],"expression":{"argumentTypes":[],"id":58392,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"5856:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5856:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58388,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5820:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5829:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5820:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5820:49:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58395,"nodeType":"ExpressionStatement","src":"5820:49:91"},{"expression":{"arguments":[{"hexValue":"436f756e63696c205361666520416464723a202573","id":58399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5892:23:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},"value":"Council Safe Addr: %s"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58402,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66102,"src":"5925:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":58403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5925:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":58401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5917:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58400,"name":"address","nodeType":"ElementaryTypeName","src":"5917:7:91","typeDescriptions":{}}},"id":58404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:23:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58396,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5879:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5888:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5879:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5879:62:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58406,"nodeType":"ExpressionStatement","src":"5879:62:91"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1432:3:91","parameters":{"id":57783,"nodeType":"ParameterList","parameters":[],"src":"1435:2:91"},"returnParameters":{"id":57784,"nodeType":"ParameterList","parameters":[],"src":"1445:0:91"},"scope":58456,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":58455,"nodeType":"FunctionDefinition","src":"5954:421:91","nodes":[],"body":{"id":58454,"nodeType":"Block","src":"6001:374:91","nodes":[],"statements":[{"expression":{"id":58418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58413,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57758,"src":"6011:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":58416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6024:12:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":58415,"nodeType":"UserDefinedTypeName","pathNode":{"id":58414,"name":"Registry","nameLocations":["6028:8:91"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"6028:8:91"},"referencedDeclaration":2295,"src":"6028:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":58417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6024:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"6011:27:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":58419,"nodeType":"ExpressionStatement","src":"6011:27:91"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58423,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8913,"src":"6070:14:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6070:16:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58420,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57758,"src":"6048:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":58422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6059:10:91","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"6048:21:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6048:39:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58426,"nodeType":"ExpressionStatement","src":"6048:39:91"},{"expression":{"id":58432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58427,"name":"_allo_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57755,"src":"6097:6:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":58430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6106:8:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () returns (contract Allo)"},"typeName":{"id":58429,"nodeType":"UserDefinedTypeName","pathNode":{"id":58428,"name":"Allo","nameLocations":["6110:4:91"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"6110:4:91"},"referencedDeclaration":1390,"src":"6110:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}},"id":58431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6106:10:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"src":"6097:19:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58433,"nodeType":"ExpressionStatement","src":"6097:19:91"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58437,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[57782],"referencedDeclaration":57782,"src":"6158:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6158:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58441,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57758,"src":"6202:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":58440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6194:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58439,"name":"address","nodeType":"ElementaryTypeName","src":"6194:7:91","typeDescriptions":{}}},"id":58442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6194:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58443,"name":"allo_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8936,"src":"6240:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_payable_$","typeString":"function () returns (address payable)"}},"id":58444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6240:15:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"30","id":58445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":58446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6312:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":58434,"name":"_allo_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57755,"src":"6127:6:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6134:10:91","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":101,"src":"6127:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_address_payable_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address payable,uint256,uint256) external"}},"id":58447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6127:208:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58448,"nodeType":"ExpressionStatement","src":"6127:208:91"},{"expression":{"arguments":[{"id":58451,"name":"_allo_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57755,"src":"6361:6:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6353:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58449,"name":"address","nodeType":"ElementaryTypeName","src":"6353:7:91","typeDescriptions":{}}},"id":58452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6353:15:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":58412,"id":58453,"nodeType":"Return","src":"6346:22:91"}]},"functionSelector":"8125937b","implemented":true,"kind":"function","modifiers":[],"name":"deployAllo","nameLocation":"5963:10:91","parameters":{"id":58409,"nodeType":"ParameterList","parameters":[],"src":"5973:2:91"},"returnParameters":{"id":58412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58455,"src":"5992:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58410,"name":"address","nodeType":"ElementaryTypeName","src":"5992:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5991:9:91"},"scope":58456,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":57739,"name":"Native","nameLocations":["960:6:91"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"960:6:91"},"id":57740,"nodeType":"InheritanceSpecifier","src":"960:6:91"},{"baseName":{"id":57741,"name":"CVStrategyHelpers","nameLocations":["968:17:91"],"nodeType":"IdentifierPath","referencedDeclaration":62207,"src":"968:17:91"},"id":57742,"nodeType":"InheritanceSpecifier","src":"968:17:91"},{"baseName":{"id":57743,"name":"Script","nameLocations":["987:6:91"],"nodeType":"IdentifierPath","referencedDeclaration":12629,"src":"987:6:91"},"id":57744,"nodeType":"InheritanceSpecifier","src":"987:6:91"},{"baseName":{"id":57745,"name":"SafeSetup","nameLocations":["995:9:91"],"nodeType":"IdentifierPath","referencedDeclaration":66201,"src":"995:9:91"},"id":57746,"nodeType":"InheritanceSpecifier","src":"995:9:91"}],"canonicalName":"DeployCV","contractDependencies":[1390,2295,9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58456,66201,22442,12629,22391,17989,62207,9264,17664,16871,14811,14047,12515,12581,12590,12578,3106],"name":"DeployCV","nameLocation":"948:8:91","scope":58457,"usedErrors":[]}],"license":"UNLICENSED"},"id":91} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a081905260139283559091906014906200006090826200012f565b5050601f805460ff19166001908117909155602255503480156200008357600080fd5b50620001fb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b557607f821691505b602082108103620000d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012a57600081815260208120601f850160051c81016020861015620001055750805b601f850160051c820191505b81811015620001265782815560010162000111565b5050505b505050565b81516001600160401b038111156200014b576200014b6200008a565b62000163816200015c8454620000a0565b84620000dc565b602080601f8311600181146200019b5760008415620001825750858301515b600019600386901b1c1916600185901b17855562000126565b600085815260208120601f198616915b82811015620001cc57888601518255948401946001909101908401620001ab565b5085821015620001eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6201592b806200020c6000396000f3fe60806040523480156200001157600080fd5b5060043610620003cc5760003560e01c80637b2edf321162000205578063ae1596011162000125578063da4bf08711620000bb578063ef0d790f1162000086578063ef0d790f14620006c7578063f8ccbf4714620006d1578063fa7626d414620006df578063fc0c546a14620006ed57600080fd5b8063da4bf0871462000692578063dac4eb16146200069c578063e20c9f7114620006a6578063e99ce91114620006b057600080fd5b8063c040622611620000fc578063c0406226146200066a578063d1e82b581462000674578063d1f2cd88146200067e578063d5bee9f5146200068857600080fd5b8063ae159601146200062e578063b5508aa91462000645578063ba414fa6146200064f57600080fd5b80638e0d1a50116200019b578063916a17c61162000172578063916a17c614620005f4578063a0cf0aea14620005fe578063a407c67a146200061a578063aa3744bd146200062457600080fd5b80638e0d1a5014620005815780638e3c249314620005d3578063914a5f6d14620005dd57600080fd5b8063829e423f11620001dc578063829e423f146200043f57806385226c8114620005a6578063896546a114620005bf5780638c7408c4146200043f57600080fd5b80637b2edf3214620005775780637cbe79ed14620005815780638125937b146200059c57600080fd5b80633f7286f411620002f15780636c53db9a116200028757806374d9284e116200025e57806374d9284e146200043f578063759c9a8614620005595780637658524d146200056357806379e62d0d146200056d57600080fd5b80636c53db9a146200051d5780636db52510146200053657806370a32944146200054f57600080fd5b80635aff599911620002c85780635aff599914620004e657806366d003ac14620004f057806366d9a9a014620004fa5780636a38dd0a146200051357600080fd5b80633f7286f414620004c85780634bf4ba2114620004d2578063587c124314620004dc57600080fd5b80631ae726d911620003675780631ed7831c116200033e5780631ed7831c14620004725780632ade3880146200048b578063392f37e914620004a45780633e5e3c2314620004be57600080fd5b80631ae726d914620004475780631b96dce6146200045e5780631e7bcb2e146200046857600080fd5b80630688b13511620003a85780630688b135146200041657806308dbbb0314620004205780630f166ad41462000438578063174eedde146200043f57600080fd5b8062b1fad714620003d1578063030e400614620003f85780630522b7db1462000402575b600080fd5b620003db62000701565b6040516001600160a01b0390911681526020015b60405180910390f35b620003db62000748565b602054620003db906001600160a01b031681565b620003db6200078a565b62000429603281565b604051908152602001620003ef565b30620003db565b6000620003db565b620003db6200045836600462004097565b620007cc565b620003db62000b26565b620003db62000b68565b6200047c62000baa565b604051620003ef919062004104565b6200049562000c0e565b604051620003ef91906200416d565b620004ae62000d5c565b604051620003ef92919062004233565b6200047c62000dfb565b6200047c62000e5d565b6200047c62000ebf565b620003db62000ee2565b620003db62000f24565b620003db62000f66565b6200050462000fa8565b604051620003ef919062004256565b620003db62001092565b601f54620003db9061010090046001600160a01b031681565b6200054d6200054736600462004382565b620010d4565b005b6200047c620013a5565b620003db62001447565b6200042960225481565b6200047c62001489565b620003db620014f8565b73f39fd6e51aad88f6f4ce6ab8827279cfffb92266620003db565b620003db6200153a565b620005b062001710565b604051620003ef919062004428565b602154620003db906001600160a01b031681565b620003db620017ea565b62000429620005ee36600462004097565b6200182c565b620005046200192c565b620003db73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200047c62001a16565b620003db62001a85565b620004296200063f3660046200448e565b62001ac7565b620005b062001cc7565b6200065962001da1565b6040519015158152602001620003ef565b6200054d62001eef565b620003db6200343d565b620003db6200347f565b620003db620034c1565b620003db62003503565b620003db62003545565b6200047c62003587565b62000429620006c13660046200450a565b620035e9565b620003db62003697565b601f54620006599060ff1681565b600754620006599060ff1681565b602354620003db906001600160a01b031681565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620036d4565b905090565b6000620007436040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620036d4565b6000620007436040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620036d4565b6020546000906001600160a01b031662000b15576000604051620007f09062003fb4565b604051809103906000f0801580156200080d573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082f9062003fc2565b604051809103906000f0801580156200084c573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cf91906200453d565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200097f57600080fd5b505af115801562000994573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2457600080fd5b505af115801562000a39573d6000803e3d6000fd5b50600092506001915062000a4a9050565b60405190808252806020026020018201604052801562000a74578160200160208202803683370190505b509050848160008151811062000a8e5762000a8e6200455d565b6001600160a01b039283166020918202929092018101919091525460405163b63e800d60e01b815291169063b63e800d9062000add908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562000af857600080fd5b505af115801562000b0d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b6000620007436040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620036d4565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c0457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000be5575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d3b57838290600052602060002001805462000ca790620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000cd590620045da565b801562000d265780601f1062000cfa5761010080835404028352916020019162000d26565b820191906000526020600020905b81548152906001019060200180831162000d0857829003601f168201915b50505050508152602001906001019062000c85565b50505050815250508152602001906001019062000c32565b50505050905090565b601380546014805491929162000d7290620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000da090620045da565b801562000df15780601f1062000dc55761010080835404028352916020019162000df1565b820191906000526020600020905b81548152906001019060200180831162000dd357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620036d4565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200107957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200103a5790505b5050505050815250508152602001906001019062000fcc565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620036d4565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200115a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001180919062004616565b6040518b63ffffffff1660e01b8152600401620011a79a999897969594939291906200465d565b600060405180830381865afa158015620011c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620011ef9190810190620046d4565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200129c919062004754565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001353908c908c908c90600090819081908190819081908d9060650162004793565b6020604051808303816000875af115801562001373573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139991906200481a565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013d462000b68565b81600081518110620013ea57620013ea6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620014f8565b816001815181106200142a576200142a6200455d565b6001600160a01b0390921660209283029190910190910152919050565b6000620007436040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620036d4565b60408051600280825260608083018452926000929190602083019080368337019050509050620014b862000701565b81600081518110620014ce57620014ce6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250506200141462001092565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620036d4565b60006040516200154a9062003fd0565b604051809103906000f08015801562001567573d6000803e3d6000fd5b506025805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563c4d66de8620015a362003545565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015e557600080fd5b505af1158015620015fa573d6000803e3d6000fd5b505050506040516200160c9062003fde565b604051809103906000f08015801562001629573d6000803e3d6000fd5b506024805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563a6b63eb873f39fd6e51aad88f6f4ce6ab8827279cfffb922666025546001600160a01b03166200168662003503565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152600060648201819052608482015260a401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b50506024546001600160a01b03169392505050565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d535783829060005260206000200180546200175690620045da565b80601f01602080910402602001604051908101604052809291908181526020018280546200178490620045da565b8015620017d55780601f10620017a957610100808354040283529160200191620017d5565b820191906000526020600020905b815481529060010190602001808311620017b757829003601f168201915b50505050508152602001906001019062001734565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620036d4565b6015546000906200192457816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c65310000000000000000000000000000000000000000815250815250620018af73f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b620018b962001489565b6040518563ffffffff1660e01b8152600401620018da94939291906200485f565b6020604051808303816000875af1158015620018fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001920919062004616565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620019fd57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019be5790505b5050505050815250508152602001906001019062001950565b6040805160028082526060808301845292600092919060208301908036833701905050905062001a4562000ee2565b8160008151811062001a5b5762001a5b6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620017ea565b6000620007436040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620036d4565b604080516080810182526000808252602082018190529181018290526060810182905262001afd670de0a46bc207d800620036e8565b602082015262001b156702c68af0bb140000620036e8565b604082015262001b2c66038d7ea4c68000620036e8565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001b7a5762001b7a6200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001bb15762001bb16200455d565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001be85750835b886001600160a01b031663e1007d4a62001c02886200182c565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001c749796959493929190620048dc565b6020604051808303816000875af115801562001c94573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cba919062004616565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357838290600052602060002001805462001d0d90620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462001d3b90620045da565b801562001d8c5780601f1062001d605761010080835404028352916020019162001d8c565b820191906000526020600020905b81548152906001019060200180831162001d6e57829003601f168201915b50505050508152602001906001019062001ceb565b600754600090610100900460ff161562001dc45750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001eea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001e6c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620049f9565b60408051601f198184030181529082905262001e889162004a2b565b6000604051808303816000865af19150503d806000811462001ec7576040519150601f19603f3d011682016040523d82523d6000602084013e62001ecc565b606091505b509150508080602001905181019062001ee691906200481a565b9150505b919050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f6057600080fd5b505af115801562001f75573d6000803e3d6000fd5b50505050600062001f856200153a565b905060405162001f959062003fec565b604051809103906000f08015801562001fb2573d6000803e3d6000fd5b50602360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200201a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200204091906200453d565b90506000604051620020529062003ffa565b604051809103906000f0801580156200206f573d6000803e3d6000fd5b5090506200207c62004008565b6001600160a01b038085168252602354166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020cd90620045da565b80601f0160208091040260200160405190810160405280929190818152602001828054620020fb90620045da565b80156200214c5780601f1062002120576101008083540402835291602001916200214c565b820191906000526020600020905b8154815290600101906020018083116200212e57829003601f168201915b5050509190925250505060a08201526200216562003701565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb290620021b790859060040162004a49565b6020604051808303816000875af1158015620021d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021fd91906200453d565b6023549091506001600160a01b03166340c10f1973f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200227057600080fd5b505af115801562002285573d6000803e3d6000fd5b505050506000856040516200229a9062004073565b6001600160a01b039091168152602001604051809103906000f080158015620022c7573d6000803e3d6000fd5b509050600086604051620022db9062004073565b6001600160a01b039091168152602001604051809103906000f08015801562002308573d6000803e3d6000fd5b5090506000620023318884868a602360009054906101000a90046001600160a01b031662001ac7565b90506000620023458984878b600062001ac7565b60408051600480825260a082019092529192506000919060208201608080368337019050509050846001600160a01b03166369fa25c46200238e670dd46c0831659000620036e8565b6040518263ffffffff1660e01b8152600401620023ad91815260200190565b600060405180830381600087803b158015620023c857600080fd5b505af1158015620023dd573d6000803e3d6000fd5b50505050846001600160a01b03166311f22ae36200240367016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200242291815260200190565b600060405180830381600087803b1580156200243d57600080fd5b505af115801562002452573d6000803e3d6000fd5b50505050846001600160a01b031663fc1711f2620024776601c6bf52634000620036e8565b6040518263ffffffff1660e01b81526004016200249691815260200190565b600060405180830381600087803b158015620024b157600080fd5b505af1158015620024c6573d6000803e3d6000fd5b50505050836001600160a01b03166369fa25c4620024ec670dd46c0831659000620036e8565b6040518263ffffffff1660e01b81526004016200250b91815260200190565b600060405180830381600087803b1580156200252657600080fd5b505af11580156200253b573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae36200256167016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200258091815260200190565b600060405180830381600087803b1580156200259b57600080fd5b505af1158015620025b0573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620025d56601c6bf52634000620036e8565b6040518263ffffffff1660e01b8152600401620025f491815260200190565b600060405180830381600087803b1580156200260f57600080fd5b505af115801562002624573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200268757600080fd5b505af11580156200269c573d6000803e3d6000fd5b5050505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600081518110620026cb57620026cb6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816001815181106200271657620027166200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050733c44cdddb6a900fa2b585dd299e03d12fa4293bc816002815181106200276157620027616200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507390f79bf6eb2c4f870365e785982e1f101e93b90681600381518110620027ac57620027ac6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b815181101562002ad7577f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fec2a8d8383815181106200282057620028206200455d565b60200260200101516040518263ffffffff1660e01b81526004016200285491906001600160a01b0391909116815260200190565b600060405180830381600087803b1580156200286f57600080fd5b505af115801562002884573d6000803e3d6000fd5b505060235484516001600160a01b0390911692506340c10f199150849084908110620028b457620028b46200455d565b602002602001015160646040518363ffffffff1660e01b8152600401620028f09291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200290b57600080fd5b505af115801562002920573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038b8116600483015260326024830152909116925063095ea7b391506044016020604051808303816000875af115801562002978573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200299e91906200481a565b50856001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620029db57600080fd5b505af1158015620029f0573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a3057600080fd5b505af115801562002a45573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002aa857600080fd5b505af115801562002abd573d6000803e3d6000fd5b50505050808062002ace9062004ad5565b915050620027cf565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002b4957600080fd5b505af115801562002b5e573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038e811660048301526000196024830152909116925063095ea7b391506044016020604051808303816000875af115801562002bb7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bdd91906200481a565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018490526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b15801562002c4257600080fd5b505af115801562002c57573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018581526020018360008151811062002c8b5762002c8b6200455d565b60200260200101516001600160a01b031681526020016001600281111562002cb75762002cb762004630565b815260326020808301919091526023546001600160a01b0316604092830152905191925060009162002cec9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002d2c908890859060040162004233565b6020604051808303816000875af115801562002d4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d7291906200453d565b506040518060c00160405280600281526020018681526020018460018151811062002da15762002da16200455d565b60200260200101516001600160a01b031681526020016001600281111562002dcd5762002dcd62004630565b815260196020808301919091526023546001600160a01b0316604092830152905191935062002dff9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002e3f908890859060040162004233565b6020604051808303816000875af115801562002e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e8591906200453d565b506040518060c00160405280600381526020018681526020018460028151811062002eb45762002eb46200455d565b60200260200101516001600160a01b031681526020016001600281111562002ee05762002ee062004630565b8152600a6020808301919091526023546001600160a01b0316604092830152905191935062002f129184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002f52908890859060040162004233565b6020604051808303816000875af115801562002f72573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f9891906200453d565b5060006040518060c00160405280600181526020018681526020018560008151811062002fc95762002fc96200455d565b60200260200101516001600160a01b031681526020016000600281111562002ff55762002ff562004630565b81526020016000815260200160006001600160a01b0316815250905060008160405160200162003026919062004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062003066908990859060040162004233565b6020604051808303816000875af115801562003086573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030ac91906200453d565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200310c57600080fd5b505af115801562003121573d6000803e3d6000fd5b50505050620031666040518060400160405280600a81526020017f506f6f6c49643a202573000000000000000000000000000000000000000000008152508862003b98565b620031a76040518060400160405280601281526020017f53747261746567793120416464723a20257300000000000000000000000000008152508a62003bfe565b620031e86040518060400160405280601381526020017f706f6f6c49645369676e616c696e673a202573000000000000000000000000008152508762003b98565b620032296040518060400160405280601281526020017f53747261746567793220416464723a20257300000000000000000000000000008152508962003bfe565b6200326a6040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f62003bfe565b60408051808201909152600e81527f546f6b656e20416464723a2025730000000000000000000000000000000000006020820152602354620032b691906001600160a01b031662003bfe565b6200330b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee62003bfe565b6200334c6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508b62003bfe565b6200338d6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508e62003bfe565b620033e96040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a20257300000000000000000000000000815250620033e373f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b62003bfe565b6200342d6040518060400160405280601581526020017f436f756e63696c205361666520416464723a2025730000000000000000000000815250620033e362003701565b5050505050505050505050505050565b6000620007436040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620036d4565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b600084816200360b6200360462989680608087901b62004b5a565b8362003c47565b905060806f800000000000000000000000000000006200362f866298968062004b7d565b6200363f84600160801b62004b7d565b6200364e629896808a62004b93565b6200365a919062004b93565b62003666919062004b5a565b62003672898562004b93565b6200367e919062004bad565b6200368a919062004bad565b901c979650505050505050565b6000620007436040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620036e18262003d00565b5092915050565b6000620036fb64174876e8008362004b5a565b92915050565b6022546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa18649916200375a9160040190815260200190565b602060405180830381865afa15801562003778573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200379e91906200453d565b6021805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200384c57600080fd5b505af115801562003861573d6000803e3d6000fd5b5050601f5461010090046001600160a01b0316915062003b8390505760006040516200388d9062003fb4565b604051809103906000f080158015620038aa573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620038cc9062003fc2565b604051809103906000f080158015620038e9573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003946573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200396c91906200453d565b601f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620039ef9392041662003e35565b601f54604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562003a8057600080fd5b505af115801562003a95573d6000803e3d6000fd5b50600092506001915062003aa69050565b60405190808252806020026020018201604052801562003ad0578160200160208202803683370190505b5060215481519192506001600160a01b031690829060009062003af75762003af76200455d565b6001600160a01b039283166020918202929092010152601f5460405163b63e800d60e01b81526101009091049091169063b63e800d9062003b4b908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562003b6657600080fd5b505af115801562003b7b573d6000803e3d6000fd5b505050505050505b50601f5461010090046001600160a01b031690565b62003bfa828260405160240162003bb192919062004bc3565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc0000000000000000000000000000000000000000000000000000000017905262003e7e565b5050565b62003bfa828260405160240162003c1792919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003e7e565b6000600160801b831062003ca25760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801562003cf8578060011660000362003cd55762003cca828362003e8c565b915060011c62003cab565b62003ce1838362003e8c565b925062003cf060018262004b7d565b905062003cab565b505092915050565b6000808260405160200162003d16919062004a2b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe91906200453d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189062003dfc908590879060040162004c14565b600060405180830381600087803b15801562003e1757600080fd5b505af115801562003e2c573d6000803e3d6000fd5b50505050915091565b62003bfa828260405160240162003e4e92919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003f93565b62003e898162003f93565b50565b6000600160801b83111562003f0a5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162003c99565b600160801b821062003f5f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162003c99565b60806f8000000000000000000000000000000062003f7e848662004b93565b62003f8a919062004bad565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6108528062004c3983390190565b613594806200548b83390190565b612eb68062008a1f83390190565b6135c1806200b8d583390190565b610e67806200ee9683390190565b612768806200fcfd83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162004066604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806201246583390190565b6001600160a01b038116811462003e8957600080fd5b600060208284031215620040aa57600080fd5b8135620040b78162004081565b9392505050565b600081518084526020808501945080840160005b83811015620040f95781516001600160a01b031687529582019590820190600101620040d2565b509495945050505050565b602081526000620040b76020830184620040be565b60005b83811015620041365781810151838201526020016200411c565b50506000910152565b600081518084526200415981602086016020860162004119565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200422357603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200420c57605f19898503018352620041f98486516200413f565b948e01949350918d0191600101620041da565b505050978a01979450509188019160010162004194565b50919a9950505050505050505050565b8281526040602082015260006200424e60408301846200413f565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620042fe57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620042e85783516001600160e01b0319168252928b019260019290920191908b0190620042bc565b50978a019795505050918701916001016200427e565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200434f576200434f6200430d565b604052919050565b600067ffffffffffffffff8211156200437457620043746200430d565b50601f01601f191660200190565b6000806000606084860312156200439857600080fd5b8335620043a58162004081565b925060208401359150604084013567ffffffffffffffff811115620043c957600080fd5b8401601f81018613620043db57600080fd5b8035620043f2620043ec8262004357565b62004323565b8181528760208385010111156200440857600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200448157603f198886030184526200446e8583516200413f565b945092850192908501906001016200444f565b5092979650505050505050565b600080600080600060a08688031215620044a757600080fd5b8535620044b48162004081565b94506020860135620044c68162004081565b93506040860135620044d88162004081565b92506060860135620044ea8162004081565b91506080860135620044fc8162004081565b809150509295509295909350565b600080600080608085870312156200452157600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156200455057600080fd5b8151620040b78162004081565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620045898184018b620040be565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c90821680620045ef57607f821691505b6020821081036200461057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156200462957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062004659576200465962004630565b9052565b60006101406001600160a01b03808e1684528c6020850152816040850152620046898285018d6200413f565b92506200469a606085018c62004646565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b600060208284031215620046e757600080fd5b815167ffffffffffffffff811115620046ff57600080fd5b8201601f810184136200471157600080fd5b805162004722620043ec8262004357565b8181528560208385010111156200473857600080fd5b6200474b82602083016020860162004119565b95945050505050565b6000806000606084860312156200476a57600080fd5b835160ff811681146200477c57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620047bf8285018d6200413f565b9150620047d0606085018c62004646565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200480981856200413f565b9d9c50505050505050505050505050565b6000602082840312156200482d57600080fd5b81518015158114620040b757600080fd5b8051825260006020820151604060208501526200424e60408501826200413f565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e060408201526000620048ae60e08301866200483e565b6001600160a01b03851660608401528281036080840152620048d18185620040be565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200490860e085018a6200413f565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806200494957607f821691505b87821081036200496757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156200498b5760018114620049a257620049cf565b60ff198416875282151560051b87019450620049cf565b60008681526020902060005b84811015620049c957815489820152908901908a01620049ae565b88019550505b5050505086810360c0880152620049e78189620040be565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162004a1d81600485016020870162004119565b919091016004019392505050565b6000825162004a3f81846020870162004119565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004aa66101008501826200483e565b90508160c08601511660e0850152809250505092915050565b634e487b7160e01b600052601160045260246000fd5b60006001820162004aea5762004aea62004abf565b5060010190565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004b365762004b3662004630565b816060850152608085015160808501528060a08601511660a0850152505092915050565b60008262004b7857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620036fb57620036fb62004abf565b8082028115828204841417620036fb57620036fb62004abf565b80820180821115620036fb57620036fb62004abf565b60408152600062004bd860408301856200413f565b90508260208301529392505050565b60408152600062004bfc60408301856200413f565b90506001600160a01b03831660208301529392505050565b6001600160a01b03831681526040602082015260006200424e60408301846200413f56fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a26469706673582212205466834014f0f432fb0aa4fdf60ec2fb4db4292e83faf041c692c55e50029f7f64736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;939:5438:91;566:52:96;;;1572:26:44;939:5438:91;566:52:96;;;;;;-1:-1:-1;;;566:52:96;;;;;;539:79;;;;939:5438:91;;539:79:96;;;;;;;:::i;:::-;-1:-1:-1;;800:28:46;;;-1:-1:-1;;800:28:46;824:4;800:28;;;;;;339:34:99;;-1:-1:-1;939:5438:91;;;;;;;;;;;;14:127:100;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:100;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:100;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:100;;;2580:26;2531:89;-1:-1:-1;;1335:1:100;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:100;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:100;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:100;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:100:o;:::-;939:5438:91;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620003cc5760003560e01c80637b2edf321162000205578063ae1596011162000125578063da4bf08711620000bb578063ef0d790f1162000086578063ef0d790f14620006c7578063f8ccbf4714620006d1578063fa7626d414620006df578063fc0c546a14620006ed57600080fd5b8063da4bf0871462000692578063dac4eb16146200069c578063e20c9f7114620006a6578063e99ce91114620006b057600080fd5b8063c040622611620000fc578063c0406226146200066a578063d1e82b581462000674578063d1f2cd88146200067e578063d5bee9f5146200068857600080fd5b8063ae159601146200062e578063b5508aa91462000645578063ba414fa6146200064f57600080fd5b80638e0d1a50116200019b578063916a17c61162000172578063916a17c614620005f4578063a0cf0aea14620005fe578063a407c67a146200061a578063aa3744bd146200062457600080fd5b80638e0d1a5014620005815780638e3c249314620005d3578063914a5f6d14620005dd57600080fd5b8063829e423f11620001dc578063829e423f146200043f57806385226c8114620005a6578063896546a114620005bf5780638c7408c4146200043f57600080fd5b80637b2edf3214620005775780637cbe79ed14620005815780638125937b146200059c57600080fd5b80633f7286f411620002f15780636c53db9a116200028757806374d9284e116200025e57806374d9284e146200043f578063759c9a8614620005595780637658524d146200056357806379e62d0d146200056d57600080fd5b80636c53db9a146200051d5780636db52510146200053657806370a32944146200054f57600080fd5b80635aff599911620002c85780635aff599914620004e657806366d003ac14620004f057806366d9a9a014620004fa5780636a38dd0a146200051357600080fd5b80633f7286f414620004c85780634bf4ba2114620004d2578063587c124314620004dc57600080fd5b80631ae726d911620003675780631ed7831c116200033e5780631ed7831c14620004725780632ade3880146200048b578063392f37e914620004a45780633e5e3c2314620004be57600080fd5b80631ae726d914620004475780631b96dce6146200045e5780631e7bcb2e146200046857600080fd5b80630688b13511620003a85780630688b135146200041657806308dbbb0314620004205780630f166ad41462000438578063174eedde146200043f57600080fd5b8062b1fad714620003d1578063030e400614620003f85780630522b7db1462000402575b600080fd5b620003db62000701565b6040516001600160a01b0390911681526020015b60405180910390f35b620003db62000748565b602054620003db906001600160a01b031681565b620003db6200078a565b62000429603281565b604051908152602001620003ef565b30620003db565b6000620003db565b620003db6200045836600462004097565b620007cc565b620003db62000b26565b620003db62000b68565b6200047c62000baa565b604051620003ef919062004104565b6200049562000c0e565b604051620003ef91906200416d565b620004ae62000d5c565b604051620003ef92919062004233565b6200047c62000dfb565b6200047c62000e5d565b6200047c62000ebf565b620003db62000ee2565b620003db62000f24565b620003db62000f66565b6200050462000fa8565b604051620003ef919062004256565b620003db62001092565b601f54620003db9061010090046001600160a01b031681565b6200054d6200054736600462004382565b620010d4565b005b6200047c620013a5565b620003db62001447565b6200042960225481565b6200047c62001489565b620003db620014f8565b73f39fd6e51aad88f6f4ce6ab8827279cfffb92266620003db565b620003db6200153a565b620005b062001710565b604051620003ef919062004428565b602154620003db906001600160a01b031681565b620003db620017ea565b62000429620005ee36600462004097565b6200182c565b620005046200192c565b620003db73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200047c62001a16565b620003db62001a85565b620004296200063f3660046200448e565b62001ac7565b620005b062001cc7565b6200065962001da1565b6040519015158152602001620003ef565b6200054d62001eef565b620003db6200343d565b620003db6200347f565b620003db620034c1565b620003db62003503565b620003db62003545565b6200047c62003587565b62000429620006c13660046200450a565b620035e9565b620003db62003697565b601f54620006599060ff1681565b600754620006599060ff1681565b602354620003db906001600160a01b031681565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620036d4565b905090565b6000620007436040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620036d4565b6000620007436040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620036d4565b6020546000906001600160a01b031662000b15576000604051620007f09062003fb4565b604051809103906000f0801580156200080d573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082f9062003fc2565b604051809103906000f0801580156200084c573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cf91906200453d565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200097f57600080fd5b505af115801562000994573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2457600080fd5b505af115801562000a39573d6000803e3d6000fd5b50600092506001915062000a4a9050565b60405190808252806020026020018201604052801562000a74578160200160208202803683370190505b509050848160008151811062000a8e5762000a8e6200455d565b6001600160a01b039283166020918202929092018101919091525460405163b63e800d60e01b815291169063b63e800d9062000add908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562000af857600080fd5b505af115801562000b0d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b6000620007436040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620036d4565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c0457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000be5575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d3b57838290600052602060002001805462000ca790620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000cd590620045da565b801562000d265780601f1062000cfa5761010080835404028352916020019162000d26565b820191906000526020600020905b81548152906001019060200180831162000d0857829003601f168201915b50505050508152602001906001019062000c85565b50505050815250508152602001906001019062000c32565b50505050905090565b601380546014805491929162000d7290620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462000da090620045da565b801562000df15780601f1062000dc55761010080835404028352916020019162000df1565b820191906000526020600020905b81548152906001019060200180831162000dd357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620036d4565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200107957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200103a5790505b5050505050815250508152602001906001019062000fcc565b6000620007436040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620036d4565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200115a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001180919062004616565b6040518b63ffffffff1660e01b8152600401620011a79a999897969594939291906200465d565b600060405180830381865afa158015620011c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620011ef9190810190620046d4565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200129c919062004754565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001353908c908c908c90600090819081908190819081908d9060650162004793565b6020604051808303816000875af115801562001373573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200139991906200481a565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013d462000b68565b81600081518110620013ea57620013ea6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620014f8565b816001815181106200142a576200142a6200455d565b6001600160a01b0390921660209283029190910190910152919050565b6000620007436040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620036d4565b60408051600280825260608083018452926000929190602083019080368337019050509050620014b862000701565b81600081518110620014ce57620014ce6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250506200141462001092565b6000620007436040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620036d4565b60006040516200154a9062003fd0565b604051809103906000f08015801562001567573d6000803e3d6000fd5b506025805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563c4d66de8620015a362003545565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620015e557600080fd5b505af1158015620015fa573d6000803e3d6000fd5b505050506040516200160c9062003fde565b604051809103906000f08015801562001629573d6000803e3d6000fd5b506024805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905563a6b63eb873f39fd6e51aad88f6f4ce6ab8827279cfffb922666025546001600160a01b03166200168662003503565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152600060648201819052608482015260a401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b50506024546001600160a01b03169392505050565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d535783829060005260206000200180546200175690620045da565b80601f01602080910402602001604051908101604052809291908181526020018280546200178490620045da565b8015620017d55780601f10620017a957610100808354040283529160200191620017d5565b820191906000526020600020905b815481529060010190602001808311620017b757829003601f168201915b50505050508152602001906001019062001734565b6000620007436040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620036d4565b6015546000906200192457816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c65310000000000000000000000000000000000000000815250815250620018af73f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b620018b962001489565b6040518563ffffffff1660e01b8152600401620018da94939291906200485f565b6020604051808303816000875af1158015620018fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001920919062004616565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d535760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620019fd57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620019be5790505b5050505050815250508152602001906001019062001950565b6040805160028082526060808301845292600092919060208301908036833701905050905062001a4562000ee2565b8160008151811062001a5b5762001a5b6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505062001414620017ea565b6000620007436040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620036d4565b604080516080810182526000808252602082018190529181018290526060810182905262001afd670de0a46bc207d800620036e8565b602082015262001b156702c68af0bb140000620036e8565b604082015262001b2c66038d7ea4c68000620036e8565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001b7a5762001b7a6200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001bb15762001bb16200455d565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001be85750835b886001600160a01b031663e1007d4a62001c02886200182c565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001c749796959493929190620048dc565b6020604051808303816000875af115801562001c94573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cba919062004616565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d5357838290600052602060002001805462001d0d90620045da565b80601f016020809104026020016040519081016040528092919081815260200182805462001d3b90620045da565b801562001d8c5780601f1062001d605761010080835404028352916020019162001d8c565b820191906000526020600020905b81548152906001019060200180831162001d6e57829003601f168201915b50505050508152602001906001019062001ceb565b600754600090610100900460ff161562001dc45750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001eea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001e6c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620049f9565b60408051601f198184030181529082905262001e889162004a2b565b6000604051808303816000865af19150503d806000811462001ec7576040519150601f19603f3d011682016040523d82523d6000602084013e62001ecc565b606091505b509150508080602001905181019062001ee691906200481a565b9150505b919050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f6057600080fd5b505af115801562001f75573d6000803e3d6000fd5b50505050600062001f856200153a565b905060405162001f959062003fec565b604051809103906000f08015801562001fb2573d6000803e3d6000fd5b50602360006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200201a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200204091906200453d565b90506000604051620020529062003ffa565b604051809103906000f0801580156200206f573d6000803e3d6000fd5b5090506200207c62004008565b6001600160a01b038085168252602354166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020cd90620045da565b80601f0160208091040260200160405190810160405280929190818152602001828054620020fb90620045da565b80156200214c5780601f1062002120576101008083540402835291602001916200214c565b820191906000526020600020905b8154815290600101906020018083116200212e57829003601f168201915b5050509190925250505060a08201526200216562003701565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb290620021b790859060040162004a49565b6020604051808303816000875af1158015620021d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021fd91906200453d565b6023549091506001600160a01b03166340c10f1973f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200227057600080fd5b505af115801562002285573d6000803e3d6000fd5b505050506000856040516200229a9062004073565b6001600160a01b039091168152602001604051809103906000f080158015620022c7573d6000803e3d6000fd5b509050600086604051620022db9062004073565b6001600160a01b039091168152602001604051809103906000f08015801562002308573d6000803e3d6000fd5b5090506000620023318884868a602360009054906101000a90046001600160a01b031662001ac7565b90506000620023458984878b600062001ac7565b60408051600480825260a082019092529192506000919060208201608080368337019050509050846001600160a01b03166369fa25c46200238e670dd46c0831659000620036e8565b6040518263ffffffff1660e01b8152600401620023ad91815260200190565b600060405180830381600087803b158015620023c857600080fd5b505af1158015620023dd573d6000803e3d6000fd5b50505050846001600160a01b03166311f22ae36200240367016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200242291815260200190565b600060405180830381600087803b1580156200243d57600080fd5b505af115801562002452573d6000803e3d6000fd5b50505050846001600160a01b031663fc1711f2620024776601c6bf52634000620036e8565b6040518263ffffffff1660e01b81526004016200249691815260200190565b600060405180830381600087803b158015620024b157600080fd5b505af1158015620024c6573d6000803e3d6000fd5b50505050836001600160a01b03166369fa25c4620024ec670dd46c0831659000620036e8565b6040518263ffffffff1660e01b81526004016200250b91815260200190565b600060405180830381600087803b1580156200252657600080fd5b505af11580156200253b573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae36200256167016345785d8a0000620036e8565b6040518263ffffffff1660e01b81526004016200258091815260200190565b600060405180830381600087803b1580156200259b57600080fd5b505af1158015620025b0573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620025d56601c6bf52634000620036e8565b6040518263ffffffff1660e01b8152600401620025f491815260200190565b600060405180830381600087803b1580156200260f57600080fd5b505af115801562002624573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200268757600080fd5b505af11580156200269c573d6000803e3d6000fd5b5050505073f39fd6e51aad88f6f4ce6ab8827279cfffb9226681600081518110620026cb57620026cb6200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507370997970c51812dc3a010c7d01b50e0d17dc79c8816001815181106200271657620027166200455d565b60200260200101906001600160a01b031690816001600160a01b031681525050733c44cdddb6a900fa2b585dd299e03d12fa4293bc816002815181106200276157620027616200455d565b60200260200101906001600160a01b031690816001600160a01b0316815250507390f79bf6eb2c4f870365e785982e1f101e93b90681600381518110620027ac57620027ac6200455d565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b815181101562002ad7577f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fec2a8d8383815181106200282057620028206200455d565b60200260200101516040518263ffffffff1660e01b81526004016200285491906001600160a01b0391909116815260200190565b600060405180830381600087803b1580156200286f57600080fd5b505af115801562002884573d6000803e3d6000fd5b505060235484516001600160a01b0390911692506340c10f199150849084908110620028b457620028b46200455d565b602002602001015160646040518363ffffffff1660e01b8152600401620028f09291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200290b57600080fd5b505af115801562002920573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038b8116600483015260326024830152909116925063095ea7b391506044016020604051808303816000875af115801562002978573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200299e91906200481a565b50856001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620029db57600080fd5b505af1158015620029f0573d6000803e3d6000fd5b50505050846001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002a3057600080fd5b505af115801562002a45573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002aa857600080fd5b505af115801562002abd573d6000803e3d6000fd5b50505050808062002ace9062004ad5565b915050620027cf565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d73f39fd6e51aad88f6f4ce6ab8827279cfffb922666040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002b4957600080fd5b505af115801562002b5e573d6000803e3d6000fd5b505060235460405163095ea7b360e01b81526001600160a01b038e811660048301526000196024830152909116925063095ea7b391506044016020604051808303816000875af115801562002bb7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bdd91906200481a565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018490526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b15801562002c4257600080fd5b505af115801562002c57573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018581526020018360008151811062002c8b5762002c8b6200455d565b60200260200101516001600160a01b031681526020016001600281111562002cb75762002cb762004630565b815260326020808301919091526023546001600160a01b0316604092830152905191925060009162002cec9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002d2c908890859060040162004233565b6020604051808303816000875af115801562002d4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d7291906200453d565b506040518060c00160405280600281526020018681526020018460018151811062002da15762002da16200455d565b60200260200101516001600160a01b031681526020016001600281111562002dcd5762002dcd62004630565b815260196020808301919091526023546001600160a01b0316604092830152905191935062002dff9184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002e3f908890859060040162004233565b6020604051808303816000875af115801562002e5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e8591906200453d565b506040518060c00160405280600381526020018681526020018460028151811062002eb45762002eb46200455d565b60200260200101516001600160a01b031681526020016001600281111562002ee05762002ee062004630565b8152600a6020808301919091526023546001600160a01b0316604092830152905191935062002f129184910162004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c9062002f52908890859060040162004233565b6020604051808303816000875af115801562002f72573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f9891906200453d565b5060006040518060c00160405280600181526020018681526020018560008151811062002fc95762002fc96200455d565b60200260200101516001600160a01b031681526020016000600281111562002ff55762002ff562004630565b81526020016000815260200160006001600160a01b0316815250905060008160405160200162003026919062004af1565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062003066908990859060040162004233565b6020604051808303816000875af115801562003086573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620030ac91906200453d565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200310c57600080fd5b505af115801562003121573d6000803e3d6000fd5b50505050620031666040518060400160405280600a81526020017f506f6f6c49643a202573000000000000000000000000000000000000000000008152508862003b98565b620031a76040518060400160405280601281526020017f53747261746567793120416464723a20257300000000000000000000000000008152508a62003bfe565b620031e86040518060400160405280601381526020017f706f6f6c49645369676e616c696e673a202573000000000000000000000000008152508762003b98565b620032296040518060400160405280601281526020017f53747261746567793220416464723a20257300000000000000000000000000008152508962003bfe565b6200326a6040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f62003bfe565b60408051808201909152600e81527f546f6b656e20416464723a2025730000000000000000000000000000000000006020820152602354620032b691906001600160a01b031662003bfe565b6200330b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee62003bfe565b6200334c6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508b62003bfe565b6200338d6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508e62003bfe565b620033e96040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a20257300000000000000000000000000815250620033e373f39fd6e51aad88f6f4ce6ab8827279cfffb9226690565b62003bfe565b6200342d6040518060400160405280601581526020017f436f756e63696c205361666520416464723a2025730000000000000000000000815250620033e362003701565b5050505050505050505050505050565b6000620007436040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620036d4565b6000620007436040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620036d4565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c04576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000be5575050505050905090565b600084816200360b6200360462989680608087901b62004b5a565b8362003c47565b905060806f800000000000000000000000000000006200362f866298968062004b7d565b6200363f84600160801b62004b7d565b6200364e629896808a62004b93565b6200365a919062004b93565b62003666919062004b5a565b62003672898562004b93565b6200367e919062004bad565b6200368a919062004bad565b901c979650505050505050565b6000620007436040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620036e18262003d00565b5092915050565b6000620036fb64174876e8008362004b5a565b92915050565b6022546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa18649916200375a9160040190815260200190565b602060405180830381865afa15801562003778573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200379e91906200453d565b6021805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200384c57600080fd5b505af115801562003861573d6000803e3d6000fd5b5050601f5461010090046001600160a01b0316915062003b8390505760006040516200388d9062003fb4565b604051809103906000f080158015620038aa573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620038cc9062003fc2565b604051809103906000f080158015620038e9573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003946573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200396c91906200453d565b601f80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620039ef9392041662003e35565b601f54604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801562003a8057600080fd5b505af115801562003a95573d6000803e3d6000fd5b50600092506001915062003aa69050565b60405190808252806020026020018201604052801562003ad0578160200160208202803683370190505b5060215481519192506001600160a01b031690829060009062003af75762003af76200455d565b6001600160a01b039283166020918202929092010152601f5460405163b63e800d60e01b81526101009091049091169063b63e800d9062003b4b908490600190600090819081908190819060040162004573565b600060405180830381600087803b15801562003b6657600080fd5b505af115801562003b7b573d6000803e3d6000fd5b505050505050505b50601f5461010090046001600160a01b031690565b62003bfa828260405160240162003bb192919062004bc3565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc0000000000000000000000000000000000000000000000000000000017905262003e7e565b5050565b62003bfa828260405160240162003c1792919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003e7e565b6000600160801b831062003ca25760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801562003cf8578060011660000362003cd55762003cca828362003e8c565b915060011c62003cab565b62003ce1838362003e8c565b925062003cf060018262004b7d565b905062003cab565b505092915050565b6000808260405160200162003d16919062004a2b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003d98573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dbe91906200453d565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189062003dfc908590879060040162004c14565b600060405180830381600087803b15801562003e1757600080fd5b505af115801562003e2c573d6000803e3d6000fd5b50505050915091565b62003bfa828260405160240162003e4e92919062004be7565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262003f93565b62003e898162003f93565b50565b6000600160801b83111562003f0a5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162003c99565b600160801b821062003f5f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162003c99565b60806f8000000000000000000000000000000062003f7e848662004b93565b62003f8a919062004bad565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6108528062004c3983390190565b613594806200548b83390190565b612eb68062008a1f83390190565b6135c1806200b8d583390190565b610e67806200ee9683390190565b612768806200fcfd83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162004066604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806201246583390190565b6001600160a01b038116811462003e8957600080fd5b600060208284031215620040aa57600080fd5b8135620040b78162004081565b9392505050565b600081518084526020808501945080840160005b83811015620040f95781516001600160a01b031687529582019590820190600101620040d2565b509495945050505050565b602081526000620040b76020830184620040be565b60005b83811015620041365781810151838201526020016200411c565b50506000910152565b600081518084526200415981602086016020860162004119565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200422357603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200420c57605f19898503018352620041f98486516200413f565b948e01949350918d0191600101620041da565b505050978a01979450509188019160010162004194565b50919a9950505050505050505050565b8281526040602082015260006200424e60408301846200413f565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620042fe57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620042e85783516001600160e01b0319168252928b019260019290920191908b0190620042bc565b50978a019795505050918701916001016200427e565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200434f576200434f6200430d565b604052919050565b600067ffffffffffffffff8211156200437457620043746200430d565b50601f01601f191660200190565b6000806000606084860312156200439857600080fd5b8335620043a58162004081565b925060208401359150604084013567ffffffffffffffff811115620043c957600080fd5b8401601f81018613620043db57600080fd5b8035620043f2620043ec8262004357565b62004323565b8181528760208385010111156200440857600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200448157603f198886030184526200446e8583516200413f565b945092850192908501906001016200444f565b5092979650505050505050565b600080600080600060a08688031215620044a757600080fd5b8535620044b48162004081565b94506020860135620044c68162004081565b93506040860135620044d88162004081565b92506060860135620044ea8162004081565b91506080860135620044fc8162004081565b809150509295509295909350565b600080600080608085870312156200452157600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156200455057600080fd5b8151620040b78162004081565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620045898184018b620040be565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c90821680620045ef57607f821691505b6020821081036200461057634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156200462957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062004659576200465962004630565b9052565b60006101406001600160a01b03808e1684528c6020850152816040850152620046898285018d6200413f565b92506200469a606085018c62004646565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b600060208284031215620046e757600080fd5b815167ffffffffffffffff811115620046ff57600080fd5b8201601f810184136200471157600080fd5b805162004722620043ec8262004357565b8181528560208385010111156200473857600080fd5b6200474b82602083016020860162004119565b95945050505050565b6000806000606084860312156200476a57600080fd5b835160ff811681146200477c57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620047bf8285018d6200413f565b9150620047d0606085018c62004646565b8960808501528860a08501528760c085015280871660e0850152808616610100850152508281036101208401526200480981856200413f565b9d9c50505050505050505050505050565b6000602082840312156200482d57600080fd5b81518015158114620040b757600080fd5b8051825260006020820151604060208501526200424e60408501826200413f565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e060408201526000620048ae60e08301866200483e565b6001600160a01b03851660608401528281036080840152620048d18185620040be565b979650505050505050565b878152600060206001600160a01b03808a168285015260e060408501526200490860e085018a6200413f565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c9050858216806200494957607f821691505b87821081036200496757634e487b7160e01b84526022600452602484fd5b604086018290526060860195508080156200498b5760018114620049a257620049cf565b60ff198416875282151560051b87019450620049cf565b60008681526020902060005b84811015620049c957815489820152908901908a01620049ae565b88019550505b5050505086810360c0880152620049e78189620040be565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162004a1d81600485016020870162004119565b919091016004019392505050565b6000825162004a3f81846020870162004119565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004aa66101008501826200483e565b90508160c08601511660e0850152809250505092915050565b634e487b7160e01b600052601160045260246000fd5b60006001820162004aea5762004aea62004abf565b5060010190565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004b365762004b3662004630565b816060850152608085015160808501528060a08601511660a0850152505092915050565b60008262004b7857634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620036fb57620036fb62004abf565b8082028115828204841417620036fb57620036fb62004abf565b80820180821115620036fb57620036fb62004abf565b60408152600062004bd860408301856200413f565b90508260208301529392505050565b60408152600062004bfc60408301856200413f565b90506001600160a01b03831660208301529392505050565b6001600160a01b03831681526040602082015260006200424e60408301846200413f56fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a26469706673582212205466834014f0f432fb0aa4fdf60ec2fb4db4292e83faf041c692c55e50029f7f64736f6c63430008130033","sourceMap":"939:5438:91:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:99:-;;;;;-1:-1:-1;;;;;269:28:99;;;4045:101:38;;;:::i;1011:42:91:-;;1051:2;1011:42;;;;;644:25:100;;;632:2;617:18;1011:42:91;498:177:100;226:92:38;306:4;226:92;;905:138;968:7;905:138;;380:708:99;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;539:79:96:-;;;:::i;:::-;;;;;;;;:::i;3221:133:51:-;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:99:-;;;;;;;;-1:-1:-1;;;;;240:23:99;;;1885:763;;;;;;:::i;:::-;;:::i;:::-;;2792:241:38;;;:::i;4376:105::-;;;:::i;339:34:99:-;;;;;;1989:232:38;;;:::i;2673:113::-;;;:::i;1278:139:91:-;1367:42;1278:139;;5954:421;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;304:29:99:-;;;;;-1:-1:-1;;;;;304:29:99;;;3485:113:38;;;:::i;931:492:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1429:1463:96:-;;;;;;:::i;:::-;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;10067:14:100;;10060:22;10042:41;;10030:2;10015:18;1819:584:44;9902:187:100;1423:4525:91;;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:51:-;;;:::i;3746:378:96:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;800:28:46:-;;;;;;;;;1572:26:44;;;;;;;;;1060:23:91;;;;;-1:-1:-1;;;;;1060:23:91;;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;380:708:99:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:99;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:99;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:99;;-1:-1:-1;;;;;;592:52:99;;;;;;;-1:-1:-1;;;;;11245:55:100;;;592:52:99;;;11227:74:100;11337:2;11317:18;;;11310:30;642:1:99;11356:18:100;;;11349:29;;;11430:18;;;11423:34;11395:19;;592:52:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;658:45:99;-1:-1:-1;;;;;658:45:99;;;;;;;;717:54;;;-1:-1:-1;;;717:54:99;;;;;11955:74:100;;;;12045:18;;;12038:30;12104:2;12084:18;;;12077:30;12143:17;12123:18;;;12116:45;658::99;;-1:-1:-1;717:8:99;;;;12178:19:100;;717:54:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:99;;;-1:-1:-1;;;785:45:99;;-1:-1:-1;;;;;12438:55:100;;785:45:99;;;12420:74:100;12510:18;;;12503:30;;;;12569:2;12549:18;;;12542:30;12608:18;12588;;;12581:46;785:8:99;;-1:-1:-1;785:8:99;;-1:-1:-1;12644:19:100;;785:45:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:99;;-1:-1:-1;884:1:99;;-1:-1:-1;870:16:99;;-1:-1:-1;870:16:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:99;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:99;;;:9;;;;;;;;;;:27;;;;941:16;:97;;-1:-1:-1;;;941:97:99;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:99;;-1:-1:-1;;;;;1065:16:99;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;539:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:99:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:99;-1:-1:-1;;;;;1993:33:99;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:99;-1:-1:-1;;;;;2240:17:99;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:99;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;16766:25:100;;;;16807:18;;;16800:34;;;2301:17:99;;-1:-1:-1;2301:17:99;2280:18;;;;;;2363:7;;;;16739:18:100;;2363:36:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;17426:19:100;;;17461:12;;;17454:28;;;17534:66;17520:3;17516:16;;;17512:89;17498:12;;;17491:111;2435:25:99;;;;;;;;;17618:12:100;;;2435:25:99;;;;2489:11;;:152;;;;17516:16:100;;-1:-1:-1;17426:19:100;;-1:-1:-1;17454:28:100;;-1:-1:-1;2489:11:99;;;-1:-1:-1;;;;;2489:11:99;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:99;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;5954:421:91:-;5992:7;6024:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6011:10:91;:27;;-1:-1:-1;;6011:27:91;-1:-1:-1;;;;;6011:27:91;;;;;;;;;6048:21;6070:16;:14;:16::i;:::-;6048:39;;-1:-1:-1;;;;;;6048:39:91;;;;;;;-1:-1:-1;;;;;178:55:100;;;6048:39:91;;;160:74:100;133:18;;6048:39:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6106:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6097:6:91;:19;;-1:-1:-1;;6097:19:91;-1:-1:-1;;;;;6097:19:91;;;;;;;;;6127:17;1367:42;6202:10;;-1:-1:-1;;;;;6202:10:91;6240:15;:13;:15::i;:::-;6127:208;;;;;;-1:-1:-1;;;;;;6127:208:91;;;-1:-1:-1;;;;;19433:15:100;;;6127:208:91;;;19415:34:100;19485:15;;;19465:18;;;19458:43;19537:15;;;19517:18;;;19510:43;-1:-1:-1;19569:18:100;;;19562:34;;;19612:19;;;19605:35;19326:19;;6127:208:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6361:6:91;;-1:-1:-1;;;;;6361:6:91;;5954:421;-1:-1:-1;;;5954:421:91:o;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:113:38;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;931:492:96:-;1023:16;;1000:7;;1019:234;;1088:8;-1:-1:-1;;;;;1088:22:96;;1128:1;1149:48;;;;;;;;1169:1;1149:48;;;;;;;;;;;;;;;;;;;;;;;;1199:12;1367:42:91;;1278:139;1199:12:96;1213:15;:13;:15::i;:::-;1088:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1069:16;:173;1019:234;-1:-1:-1;;1269:16:96;;;931:492::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1429:1463:96:-;-1:-1:-1;;;;;;;;1570:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1717:30:96;1731:15;1717:13;:30::i;:::-;1702:12;;;:45;1864:24;1878:9;1864:13;:24::i;:::-;1846:15;;;:42;1933:26;1947:11;1933:13;:26::i;:::-;1917:13;;;;:42;;;;-1:-1:-1;;;;;2056:40:96;;;;2141:16;;;2155:1;2141:16;;;;;;;;-1:-1:-1;;2141:16:96;;;;;;;;;;;;-1:-1:-1;2141:16:96;2107:50;;2195:4;2167:14;2182:1;2167:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;2167:33:96;;;-1:-1:-1;;;;;2167:33:96;;;;;2238:10;2210:14;2225:1;2210:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2210:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2536:19:96;;;2532:64;;-1:-1:-1;2580:5:96;2532:64;2614:4;-1:-1:-1;;;;;2614:33:96;;2702:25;2718:8;2702:15;:25::i;:::-;2772:18;;;21243:13:100;;-1:-1:-1;;;;;21239:62:100;2772:18:96;;;;21221:81:100;;;;21346:17;;21340:24;21318:20;;;21311:54;21409:17;;;21403:24;21381:20;;;;21374:54;;;;21472:17;;21466:24;21444:20;;;21437:54;2749:8:96;;21193:19:100;;2772:18:96;;;;;;;;;;;;2804:6;2824:1;2839:8;2861:14;2614:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2605:280;1429:1463;-1:-1:-1;;;;;;;;;1429:1463:96:o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23972:74:100;;;2221:17:44;24062:18:100;;;24055:34;2196:43:44;;;;;;;;;23945:18:100;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;1423:4525:91:-;1455:17;;1367:42;1455:31;;-1:-1:-1;;;;;;1455:31:91;;;;;;;-1:-1:-1;;;;;178:55:100;;;1455:31:91;;;160:74:100;133:18;;1455:31:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1497:9;1514:12;:10;:12::i;:::-;1497:30;;1546:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1538:5;;:24;;;;;-1:-1:-1;;;;;1538:24:91;;;;;-1:-1:-1;;;;;1538:24:91;;;;;;1573:18;1594:4;-1:-1:-1;;;;;1594:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1573:39;;1623:31;1657:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1623:55;;1689:46;;:::i;:::-;-1:-1:-1;;;;;1746:28:91;;;;;1821:5;;;1784:19;;;;:44;;;;1051:2;1838:26;;;;:42;;;;1746:12;1890:19;;;:23;1923:27;;;;;;;;1942:8;1923:27;;;;;;;;;1942:8;;1923:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1923:27:91;;;;-1:-1:-1;;;1923:16:91;;;:27;2016:14;:12;:14::i;:::-;-1:-1:-1;;;;;1978:54:91;;;:19;;;:54;2093:38;;;;;2043:31;;2093:30;;;;;:38;;1978:6;;2093:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2179:5;;2043:89;;-1:-1:-1;;;;;;2179:5:91;:10;1367:42;2179:41;;-1:-1:-1;;;;;;2179:41:91;;;;;;;-1:-1:-1;;;;;23990:55:100;;;2179:41:91;;;23972:74:100;2213:6:91;24062:18:100;;;24055:34;23945:18;;2179:41:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2231:20;2277:4;2254:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;2254:29:91;;;;;;;;;;;;;;;;;;;;;;;2231:52;;2293:20;2339:4;2316:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;2316:29:91;;;;;;;;;;;;;;;;;;;;;;;2293:52;;2385:14;2414:103;2438:4;2454:9;2474:15;2492:8;2510:5;;;;;;;;;-1:-1:-1;;;;;2510:5:91;2414:10;:103::i;:::-;2385:132;;2528:23;2566:99;2590:4;2606:9;2626:15;2644:8;2662:1;2566:10;:99::i;:::-;2708:16;;;2722:1;2708:16;;;;;;;;;2528:137;;-1:-1:-1;2675:30:91;;2708:16;;;;;;;;;;;-1:-1:-1;2708:16:91;2675:49;;2735:9;-1:-1:-1;;;;;2735:18:91;;2754:30;2768:15;2754:13;:30::i;:::-;2735:50;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;2735:50:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2812:9;-1:-1:-1;;;;;2812:21:91;;2834:24;2848:9;2834:13;:24::i;:::-;2812:47;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;2812:47:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2888:9;-1:-1:-1;;;;;2888:19:91;;2908:27;2922:12;2908:13;:27::i;:::-;2888:48;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;2888:48:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2997:9;-1:-1:-1;;;;;2997:18:91;;3016:30;3030:15;3016:13;:30::i;:::-;2997:50;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;2997:50:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3074:9;-1:-1:-1;;;;;3074:21:91;;3096:24;3110:9;3096:13;:24::i;:::-;3074:47;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;3074:47:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3150:9;-1:-1:-1;;;;;3150:19:91;;3170:27;3184:12;3170:13;:27::i;:::-;3150:48;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;3150:48:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;3229:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3285:42;3258:13;3272:1;3258:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3258:70:91;;;-1:-1:-1;;;;;3258:70:91;;;;;3365:42;3338:13;3352:1;3338:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3338:70:91;;;-1:-1:-1;;;;;3338:70:91;;;;;3445:42;3418:13;3432:1;3418:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3418:70:91;;;-1:-1:-1;;;;;3418:70:91;;;;;3525:42;3498:13;3512:1;3498:16;;;;;;;;:::i;:::-;;;;;;:70;-1:-1:-1;;;;;3498:70:91;;;-1:-1:-1;;;;;3498:70:91;;;;;3584:9;3579:414;3603:13;:20;3599:1;:24;3579:414;;;317:28:45;309:37;;-1:-1:-1;;;;;3644:17:91;;3670:13;3684:1;3670:16;;;;;;;;:::i;:::-;;;;;;;3644:44;;;;;;;;;;;;;;-1:-1:-1;;;;;178:55:100;;;;160:74;;148:2;133:18;;14:226;3644:44:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3702:5:91;;3721:16;;-1:-1:-1;;;;;3702:5:91;;;;-1:-1:-1;3702:10:91;;-1:-1:-1;3721:13:91;;3735:1;;3721:16;;;;;;:::i;:::-;;;;;;;3740:3;3702:42;;;;;;;;;;;;;;;-1:-1:-1;;;;;23990:55:100;;;;23972:74;;24077:2;24062:18;;24055:34;23960:2;23945:18;;23798:297;3702:42:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3758:5:91;;:54;;-1:-1:-1;;;3758:54:91;;-1:-1:-1;;;;;23990:55:100;;;3758:54:91;;;23972:74:100;1051:2:91;24062:18:100;;;24055:34;3758:5:91;;;;-1:-1:-1;3758:13:91;;-1:-1:-1;23945:18:100;;3758:54:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3883:9;-1:-1:-1;;;;;3883:24:91;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3923:9;-1:-1:-1;;;;;3923:24:91;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;3964:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3625:3;;;;;:::i;:::-;;;;3579:414;;;-1:-1:-1;4002:17:91;;1367:42;4002:31;;-1:-1:-1;;;;;;4002:31:91;;;;;;;-1:-1:-1;;;;;178:55:100;;;4002:31:91;;;160:74:100;133:18;;4002:31:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4044:5:91;;:47;;-1:-1:-1;;;4044:47:91;;-1:-1:-1;;;;;23990:55:100;;;4044:47:91;;;23972:74:100;-1:-1:-1;;24062:18:100;;;24055:34;4044:5:91;;;;-1:-1:-1;4044:13:91;;-1:-1:-1;23945:18:100;;4044:47:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4101:28:91;;;;;;;;16766:25:100;;;4123:5:91;16807:18:100;;;16800:34;-1:-1:-1;;;;;4101:13:91;;;;;16739:18:100;;4101:28:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4149:41;4205:107;;;;;;;;4231:1;4205:107;;;;4234:6;4205:107;;;;4242:13;4256:1;4242:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4205:107:91;;;;;4260:31;4205:107;;;;;;;;:::i;:::-;;;4293:2;4205:107;;;;;;;;4305:5;;-1:-1:-1;;;;;4305:5:91;4205:107;;;;;4342:20;;4149:163;;-1:-1:-1;;;4342:20:91;;4149:163;;4342:20;;:::i;:::-;;;;-1:-1:-1;;4342:20:91;;;;;;;;;;-1:-1:-1;;;4372:36:91;;4342:20;-1:-1:-1;;;;;;4372:22:91;;;;;:36;;4395:6;;4342:20;;4372:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4442:107;;;;;;;;4468:1;4442:107;;;;4471:6;4442:107;;;;4479:13;4493:1;4479:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4442:107:91;;;;;4497:31;4442:107;;;;;;;;:::i;:::-;;;4530:2;4442:107;;;;;;;;4542:5;;-1:-1:-1;;;;;4542:5:91;4442:107;;;;;4566:20;;4419:130;;-1:-1:-1;4566:20:91;;4419:130;;4566:20;;:::i;:::-;;;;-1:-1:-1;;4566:20:91;;;;;;;;;;-1:-1:-1;;;4596:36:91;;4566:20;-1:-1:-1;;;;;;4596:22:91;;;;;:36;;4619:6;;4566:20;;4596:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4666:107;;;;;;;;4692:1;4666:107;;;;4695:6;4666:107;;;;4703:13;4717:1;4703:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4666:107:91;;;;;4721:31;4666:107;;;;;;;;:::i;:::-;;;4754:2;4666:107;;;;;;;;4766:5;;-1:-1:-1;;;;;4766:5:91;4666:107;;;;;4790:20;;4643:130;;-1:-1:-1;4790:20:91;;4643:130;;4790:20;;:::i;:::-;;;;-1:-1:-1;;4790:20:91;;;;;;;;;;-1:-1:-1;;;4820:36:91;;4790:20;-1:-1:-1;;;;;;4820:22:91;;;;;:36;;4843:6;;4790:20;;4820:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4937:42;4982:135;;;;;;;;5021:1;4982:135;;;;5024:15;4982:135;;;;5041:13;5055:1;5041:16;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;4982:135:91;;;;;5059:33;4982:135;;;;;;;;:::i;:::-;;;;;5094:1;4982:135;;;;5105:1;-1:-1:-1;;;;;4982:135:91;;;;4937:180;;5127:18;5159:9;5148:21;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5148:21:91;;;;;;;;;;-1:-1:-1;;;5179:46:91;;5148:21;-1:-1:-1;;;;;;5179:22:91;;;;;:46;;5202:15;;5148:21;;5179:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;317:28:45;309:37;;-1:-1:-1;;;;;5235:16:91;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5264:34;;;;;;;;;;;;;;;;;;5291:6;5264:12;:34::i;:::-;5308:54;;;;;;;;;;;;;;;;;;5351:9;5308:12;:54::i;:::-;5373:52;;;;;;;;;;;;;;;;;;5409:15;5373:12;:52::i;:::-;5435:54;;;;;;;;;;;;;;;;;;5478:9;5435:12;:54::i;:::-;5500:44;;;;;;;;;;;;;;;;;;5538:4;5500:12;:44::i;:::-;5554:46;;;;;;;;;;;;;;;;;5593:5;;5554:46;;;-1:-1:-1;;;;;5593:5:91;5554:12;:46::i;:::-;5610:54;;;;;;;;;;;;;;;;;;4445:42:9;5610:12:91;:54::i;:::-;5675:67;;;;;;;;;;;;;;;;;;5725:15;5675:12;:67::i;:::-;5753:57;;;;;;;;;;;;;;;;;;5800:8;5753:12;:57::i;:::-;5820:49;;;;;;;;;;;;;;;;;;5856:12;1367:42;;1278:139;5856:12;5820;:49::i;:::-;5879:62;;;;;;;;;;;;;;;;;;5925:14;:12;:14::i;5879:62::-;1445:4503;;;;;;;;;;;;;;1423:4525::o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3746:378:96:-;3896:7;3931:11;3896:7;3972:27;3977:18;817:7;3987:3;3978:12;;;3977:18;:::i;:::-;3997:1;3972:4;:27::i;:::-;3952:47;-1:-1:-1;4114:3:96;723:8;4087:9;4091:5;817:7;4087:9;:::i;:::-;4063:19;4073:9;-1:-1:-1;;;4063:19:96;:::i;:::-;4045:14;817:7;4045:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;4019:21;4031:9;4019;:21;:::i;:::-;4018:80;;;;:::i;:::-;4017:92;;;;:::i;:::-;4016:101;;;3746:378;-1:-1:-1;;;;;;;3746:378:96:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;2898:114:96:-;2961:7;2987:18;2997:8;2987:7;:18;:::i;:::-;2980:25;2898:114;-1:-1:-1;;2898:114:96:o;1094:785:99:-;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:100;;;632:2;617:18;;498:177;1169:24:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;1152:41:99;-1:-1:-1;;;;;1152:41:99;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:99;;;;;29752:74:100;;;;29842:18;;;29835:30;29901:2;29881:18;;;29874:30;29940:16;29920:18;;;29913:44;1203:8:99;;;;29974:19:100;;1203:42:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:99;;;;;-1:-1:-1;;;;;1268:11:99;;-1:-1:-1;1256:589:99;;-1:-1:-1;1256:589:99;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:99;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:99;;-1:-1:-1;;;;;;1384:52:99;;;;;;;-1:-1:-1;;;;;11245:55:100;;;1384:52:99;;;11227:74:100;11337:2;11317:18;;;11310:30;1434:1:99;11356:18:100;;;11349:29;;;11430:18;;;11423:34;11395:19;;1384:52:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:99;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:99;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:99;;1595:11;;;;-1:-1:-1;;;;;1595:11:99;1578:45;;;30216:74:100;30306:18;;;30299:30;30365:2;30345:18;;;30338:30;30404:13;30384:18;;;30377:41;1578:8:99;;;;30435:19:100;;1578:45:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:99;;-1:-1:-1;1677:1:99;;-1:-1:-1;1663:16:99;;-1:-1:-1;1663:16:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:99;-1:-1:-1;1713:14:99;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:99;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:99;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:99;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:99;;;;;-1:-1:-1;;;;;1861:11:99;;1094:785::o;7546:145:60:-;7613:71;7676:2;7680;7629:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7629:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;7629:54:60;;;;;7613:15;:71::i;:::-;7546:145;;:::o;8147:::-;8214:71;8277:2;8281;8230:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8230:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;8230:54:60;-1:-1:-1;;;8230:54:60;;;8214:15;:71::i;3293:447:96:-;3354:15;-1:-1:-1;;;3389:2:96;:12;3381:53;;;;-1:-1:-1;;;3381:53:96;;31308:2:100;3381:53:96;;;31290:21:100;31347:2;31327:18;;;31320:30;31386;31366:18;;;31359:58;31434:18;;3381:53:96;;;;;;;;;-1:-1:-1;;;;3456:2:96;3480;3519:215;3526:5;;3519:215;;3551:1;3555;3551:5;3560:1;3551:10;3547:177;;3585:10;3590:1;3593;3585:4;:10::i;:::-;3581:14;-1:-1:-1;3619:1:96;3613:7;3519:215;;3547:177;3669:16;3674:7;3683:1;3669:4;:16::i;:::-;3659:26;-1:-1:-1;3703:6:96;3708:1;3703:6;;:::i;:::-;;;3519:215;;;3371:369;;3293:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:100;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:100;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;6994:145:59:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:59;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:59;-1:-1:-1;;;7077:54:59;;;7061:15;:71::i;868:133:60:-;939:55;986:7;965:19;939:55::i;:::-;868:133;:::o;3018:269:96:-;3079:15;-1:-1:-1;;;3114:2:96;:13;;3106:66;;;;-1:-1:-1;;;3106:66:96;;32304:2:100;3106:66:96;;;32286:21:100;32343:2;32323:18;;;32316:30;32382:34;32362:18;;;32355:62;32453:10;32433:18;;;32426:38;32481:19;;3106:66:96;32102:404:100;3106:66:96;-1:-1:-1;;;3190:2:96;:12;3182:53;;;;-1:-1:-1;;;3182:53:96;;32713:2:100;3182:53:96;;;32695:21:100;32752:2;32732:18;;;32725:30;32791;32771:18;;;32764:58;32839:18;;3182:53:96;32511:352:100;3182:53:96;3277:3;723:8;3254:7;3259:2;3254;:7;:::i;:::-;3253:19;;;;:::i;:::-;3252:28;;;3018:269;-1:-1:-1;;;3018:269:96:o;181:376:59:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;680:154:100:-;-1:-1:-1;;;;;759:5:100;755:54;748:5;745:65;735:93;;824:1;821;814:12;839:247;898:6;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;839:247;-1:-1:-1;;;839:247:100:o;1257:484::-;1310:3;1348:5;1342:12;1375:6;1370:3;1363:19;1401:4;1430:2;1425:3;1421:12;1414:19;;1467:2;1460:5;1456:14;1488:1;1498:218;1512:6;1509:1;1506:13;1498:218;;;1577:13;;-1:-1:-1;;;;;1573:62:100;1561:75;;1656:12;;;;1691:15;;;;1534:1;1527:9;1498:218;;;-1:-1:-1;1732:3:100;;1257:484;-1:-1:-1;;;;;1257:484:100:o;1746:261::-;1925:2;1914:9;1907:21;1888:4;1945:56;1997:2;1986:9;1982:18;1974:6;1945:56;:::i;2012:250::-;2097:1;2107:113;2121:6;2118:1;2115:13;2107:113;;;2197:11;;;2191:18;2178:11;;;2171:39;2143:2;2136:10;2107:113;;;-1:-1:-1;;2254:1:100;2236:16;;2229:27;2012:250::o;2267:271::-;2309:3;2347:5;2341:12;2374:6;2369:3;2362:19;2390:76;2459:6;2452:4;2447:3;2443:14;2436:4;2429:5;2425:16;2390:76;:::i;:::-;2520:2;2499:15;-1:-1:-1;;2495:29:100;2486:39;;;;2527:4;2482:50;;2267:271;-1:-1:-1;;2267:271:100:o;2543:1767::-;2778:2;2830:21;;;2900:13;;2803:18;;;2922:22;;;2749:4;;2778:2;2963;;2981:18;;;;3018:1;3061:15;;;3046:31;;3042:40;;3105:15;;;2749:4;;3169:1112;3185:6;3180:3;3177:15;3169:1112;;;-1:-1:-1;;3254:22:100;;;3250:36;3238:49;;3310:13;;3397:9;;-1:-1:-1;;;;;3393:58:100;3378:74;;3491:11;;3485:18;3523:15;;;3516:27;;;3604:19;;3350:15;;;3636:24;;;3817:21;;;;3683:2;3765:17;;;3753:30;;3749:39;;;3707:15;;;;3862:1;3876:296;3892:8;3887:3;3884:17;3876:296;;;3998:2;3994:7;3985:6;3977;3973:19;3969:33;3962:5;3955:48;4030:42;4065:6;4054:8;4048:15;4030:42;:::i;:::-;4101:17;;;;4020:52;-1:-1:-1;4144:14:100;;;;3920:1;3911:11;3876:296;;;-1:-1:-1;;;4259:12:100;;;;4195:6;-1:-1:-1;;4224:15:100;;;;3211:1;3202:11;3169:1112;;;-1:-1:-1;4298:6:100;;2543:1767;-1:-1:-1;;;;;;;;;;2543:1767:100:o;4315:291::-;4492:6;4481:9;4474:25;4535:2;4530;4519:9;4515:18;4508:30;4455:4;4555:45;4596:2;4585:9;4581:18;4573:6;4555:45;:::i;:::-;4547:53;4315:291;-1:-1:-1;;;;4315:291:100:o;4611:1638::-;4815:4;4844:2;4884;4873:9;4869:18;4914:2;4903:9;4896:21;4937:6;4972;4966:13;5003:6;4995;4988:22;5029:2;5019:12;;5062:2;5051:9;5047:18;5040:25;;5124:2;5114:6;5111:1;5107:14;5096:9;5092:30;5088:39;5162:2;5154:6;5150:15;5183:1;5204;5214:1006;5230:6;5225:3;5222:15;5214:1006;;;5299:22;;;-1:-1:-1;;5295:36:100;5283:49;;5355:13;;5442:9;;-1:-1:-1;;;;;5438:58:100;5423:74;;5536:11;;5530:18;5568:15;;;5561:27;;;5649:19;;5395:15;;;5681:24;;;5771:21;;;;5816:1;;5739:2;5727:15;;;5830:282;5846:8;5841:3;5838:17;5830:282;;;5927:15;;-1:-1:-1;;;;;;5923:88:100;5909:103;;6081:17;;;;5874:1;5865:11;;;;;6038:14;;;;5830:282;;;-1:-1:-1;6198:12:100;;;;6135:5;-1:-1:-1;;;6163:15:100;;;;5256:1;5247:11;5214:1006;;;-1:-1:-1;6237:6:100;;4611:1638;-1:-1:-1;;;;;;;;;4611:1638:100:o;6254:184::-;-1:-1:-1;;;6303:1:100;6296:88;6403:4;6400:1;6393:15;6427:4;6424:1;6417:15;6443:275;6514:2;6508:9;6579:2;6560:13;;-1:-1:-1;;6556:27:100;6544:40;;6614:18;6599:34;;6635:22;;;6596:62;6593:88;;;6661:18;;:::i;:::-;6697:2;6690:22;6443:275;;-1:-1:-1;6443:275:100:o;6723:186::-;6771:4;6804:18;6796:6;6793:30;6790:56;;;6826:18;;:::i;:::-;-1:-1:-1;6892:2:100;6871:15;-1:-1:-1;;6867:29:100;6898:4;6863:40;;6723:186::o;6914:874::-;7000:6;7008;7016;7069:2;7057:9;7048:7;7044:23;7040:32;7037:52;;;7085:1;7082;7075:12;7037:52;7124:9;7111:23;7143:31;7168:5;7143:31;:::i;:::-;7193:5;-1:-1:-1;7245:2:100;7230:18;;7217:32;;-1:-1:-1;7300:2:100;7285:18;;7272:32;7327:18;7316:30;;7313:50;;;7359:1;7356;7349:12;7313:50;7382:22;;7435:4;7427:13;;7423:27;-1:-1:-1;7413:55:100;;7464:1;7461;7454:12;7413:55;7500:2;7487:16;7525:48;7541:31;7569:2;7541:31;:::i;:::-;7525:48;:::i;:::-;7596:2;7589:5;7582:17;7636:7;7631:2;7626;7622;7618:11;7614:20;7611:33;7608:53;;;7657:1;7654;7647:12;7608:53;7712:2;7707;7703;7699:11;7694:2;7687:5;7683:14;7670:45;7756:1;7751:2;7746;7739:5;7735:14;7731:23;7724:34;7777:5;7767:15;;;;;6914:874;;;;;:::o;7793:803::-;7955:4;7984:2;8024;8013:9;8009:18;8054:2;8043:9;8036:21;8077:6;8112;8106:13;8143:6;8135;8128:22;8181:2;8170:9;8166:18;8159:25;;8243:2;8233:6;8230:1;8226:14;8215:9;8211:30;8207:39;8193:53;;8281:2;8273:6;8269:15;8302:1;8312:255;8326:6;8323:1;8320:13;8312:255;;;8419:2;8415:7;8403:9;8395:6;8391:22;8387:36;8382:3;8375:49;8447:40;8480:6;8471;8465:13;8447:40;:::i;:::-;8437:50;-1:-1:-1;8545:12:100;;;;8510:15;;;;8348:1;8341:9;8312:255;;;-1:-1:-1;8584:6:100;;7793:803;-1:-1:-1;;;;;;;7793:803:100:o;9053:844::-;9179:6;9187;9195;9203;9211;9264:3;9252:9;9243:7;9239:23;9235:33;9232:53;;;9281:1;9278;9271:12;9232:53;9320:9;9307:23;9339:31;9364:5;9339:31;:::i;:::-;9389:5;-1:-1:-1;9446:2:100;9431:18;;9418:32;9459:33;9418:32;9459:33;:::i;:::-;9511:7;-1:-1:-1;9570:2:100;9555:18;;9542:32;9583:33;9542:32;9583:33;:::i;:::-;9635:7;-1:-1:-1;9694:2:100;9679:18;;9666:32;9707:33;9666:32;9707:33;:::i;:::-;9759:7;-1:-1:-1;9818:3:100;9803:19;;9790:33;9832;9790;9832;:::i;:::-;9884:7;9874:17;;;9053:844;;;;;;;;:::o;10341:385::-;10427:6;10435;10443;10451;10504:3;10492:9;10483:7;10479:23;10475:33;10472:53;;;10521:1;10518;10511:12;10472:53;-1:-1:-1;;10544:23:100;;;10614:2;10599:18;;10586:32;;-1:-1:-1;10665:2:100;10650:18;;10637:32;;10716:2;10701:18;10688:32;;-1:-1:-1;10341:385:100;-1:-1:-1;10341:385:100:o;11468:270::-;11557:6;11610:2;11598:9;11589:7;11585:23;11581:32;11578:52;;;11626:1;11623;11616:12;11578:52;11658:9;11652:16;11677:31;11702:5;11677:31;:::i;12674:184::-;-1:-1:-1;;;12723:1:100;12716:88;12823:4;12820:1;12813:15;12847:4;12844:1;12837:15;12863:1065;13305:4;13334:3;13364:2;13353:9;13346:21;13390:56;13442:2;13431:9;13427:18;13419:6;13390:56;:::i;:::-;13477:2;13462:18;;;13455:34;;;;-1:-1:-1;;;;;13586:15:100;;;13581:2;13566:18;;13559:43;13638:22;;;13633:2;13618:18;;13611:50;-1:-1:-1;13670:17:100;;13756:15;;;13750:3;13735:19;;13728:44;-1:-1:-1;;13809:15:100;;;13803:3;13788:19;;13781:44;13856:3;13841:19;;13834:35;;;;13906:15;;;13900:3;13885:19;;;13878:44;;;;13704:15;;12863:1065;-1:-1:-1;12863:1065:100:o;13933:437::-;14012:1;14008:12;;;;14055;;;14076:61;;14130:4;14122:6;14118:17;14108:27;;14076:61;14183:2;14175:6;14172:14;14152:18;14149:38;14146:218;;-1:-1:-1;;;14217:1:100;14210:88;14321:4;14318:1;14311:15;14349:4;14346:1;14339:15;14146:218;;13933:437;;;:::o;14375:184::-;14445:6;14498:2;14486:9;14477:7;14473:23;14469:32;14466:52;;;14514:1;14511;14504:12;14466:52;-1:-1:-1;14537:16:100;;14375:184;-1:-1:-1;14375:184:100:o;14564:::-;-1:-1:-1;;;14613:1:100;14606:88;14713:4;14710:1;14703:15;14737:4;14734:1;14727:15;14753:140;14834:1;14827:5;14824:12;14814:46;;14840:18;;:::i;:::-;14869;;14753:140::o;14898:1037::-;15305:4;15334:3;-1:-1:-1;;;;;15437:2:100;15429:6;15425:15;15414:9;15407:34;15477:6;15472:2;15461:9;15457:18;15450:34;15520:2;15515;15504:9;15500:18;15493:30;15540:45;15581:2;15570:9;15566:18;15558:6;15540:45;:::i;:::-;15532:53;;15594;15643:2;15632:9;15628:18;15620:6;15594:53;:::i;:::-;15678:3;15663:19;;15656:35;;;;-1:-1:-1;15722:3:100;15707:19;;15700:35;;;;15766:3;15751:19;;15744:35;;;;15816:15;;;15810:3;15795:19;;15788:44;15869:15;;;15863:3;15848:19;;15841:44;15916:3;15901:19;15894:35;;;;14898:1037;;-1:-1:-1;;;;14898:1037:100:o;15940:647::-;16019:6;16072:2;16060:9;16051:7;16047:23;16043:32;16040:52;;;16088:1;16085;16078:12;16040:52;16121:9;16115:16;16154:18;16146:6;16143:30;16140:50;;;16186:1;16183;16176:12;16140:50;16209:22;;16262:4;16254:13;;16250:27;-1:-1:-1;16240:55:100;;16291:1;16288;16281:12;16240:55;16320:2;16314:9;16345:48;16361:31;16389:2;16361:31;:::i;16345:48::-;16416:2;16409:5;16402:17;16456:7;16451:2;16446;16442;16438:11;16434:20;16431:33;16428:53;;;16477:1;16474;16467:12;16428:53;16490:67;16554:2;16549;16542:5;16538:14;16533:2;16529;16525:11;16490:67;:::i;:::-;16576:5;15940:647;-1:-1:-1;;;;;15940:647:100:o;16845:395::-;16931:6;16939;16947;17000:2;16988:9;16979:7;16975:23;16971:32;16968:52;;;17016:1;17013;17006:12;16968:52;17048:9;17042:16;17098:4;17091:5;17087:16;17080:5;17077:27;17067:55;;17118:1;17115;17108:12;17067:55;17186:2;17171:18;;17165:25;17230:2;17215:18;;;17209:25;17141:5;;17165:25;;-1:-1:-1;17209:25:100;16845:395;-1:-1:-1;;;16845:395:100:o;17641:1135::-;18074:4;18103:3;-1:-1:-1;;;;;18206:2:100;18198:6;18194:15;18183:9;18176:34;18246:6;18241:2;18230:9;18226:18;18219:34;18289:2;18284;18273:9;18269:18;18262:30;18315:45;18356:2;18345:9;18341:18;18333:6;18315:45;:::i;:::-;18301:59;;18369:53;18418:2;18407:9;18403:18;18395:6;18369:53;:::i;:::-;18459:6;18453:3;18442:9;18438:19;18431:35;18503:6;18497:3;18486:9;18482:19;18475:35;18547:6;18541:3;18530:9;18526:19;18519:35;18603:2;18595:6;18591:15;18585:3;18574:9;18570:19;18563:44;18656:2;18648:6;18644:15;18638:3;18627:9;18623:19;18616:44;;18709:9;18701:6;18697:22;18691:3;18680:9;18676:19;18669:51;18737:33;18763:6;18755;18737:33;:::i;:::-;18729:41;17641:1135;-1:-1:-1;;;;;;;;;;;;;17641:1135:100:o;18781:277::-;18848:6;18901:2;18889:9;18880:7;18876:23;18872:32;18869:52;;;18917:1;18914;18907:12;18869:52;18949:9;18943:16;19002:5;18995:13;18988:21;18981:5;18978:32;18968:60;;19024:1;19021;19014:12;19651:252;19738:5;19732:12;19727:3;19720:25;19702:3;19791:4;19784:5;19780:16;19774:23;19829:4;19822;19817:3;19813:14;19806:28;19850:47;19891:4;19886:3;19882:14;19868:12;19850:47;:::i;19908:902::-;20332:6;20321:9;20314:25;20375:3;20370:2;20359:9;20355:18;20348:31;20416:2;20410:3;20399:9;20395:19;20388:31;20456:16;20450:3;20439:9;20435:19;20428:45;20509:3;20504:2;20493:9;20489:18;20482:31;20295:4;20536:55;20586:3;20575:9;20571:19;20563:6;20536:55;:::i;:::-;-1:-1:-1;;;;;20631:6:100;20627:55;20622:2;20611:9;20607:18;20600:83;20732:9;20724:6;20720:22;20714:3;20703:9;20699:19;20692:51;20760:44;20797:6;20789;20760:44;:::i;:::-;20752:52;19908:902;-1:-1:-1;;;;;;;19908:902:100:o;21628:2165::-;22050:6;22039:9;22032:25;22013:4;22076:2;-1:-1:-1;;;;;22187:2:100;22179:6;22175:15;22170:2;22159:9;22155:18;22148:43;22227:3;22222:2;22211:9;22207:18;22200:31;22254:46;22295:3;22284:9;22280:19;22272:6;22254:46;:::i;:::-;22348:2;22340:6;22336:15;22331:2;22320:9;22316:18;22309:43;22389:6;22383:3;22372:9;22368:19;22361:35;22445:9;22437:6;22433:22;22427:3;22416:9;22412:19;22405:51;22486:6;22480:13;22472:6;22465:29;22513:4;22503:14;;22558:2;22550:6;22546:15;22594:2;22589;22581:6;22577:15;22570:27;22617:1;22650:12;22644:19;22686:3;22716:9;22712:2;22708:18;22698:28;;22776:2;22765:9;22761:18;22798;22788:61;;22842:4;22834:6;22830:17;22820:27;;22788:61;22895:2;22887:6;22884:14;22864:18;22861:38;22858:222;;-1:-1:-1;;;22929:3:100;22922:90;23035:4;23032:1;23025:15;23065:4;23060:3;23053:17;22858:222;23159:2;23147:15;;1189:19;;;1232:14;;;23089:82;-1:-1:-1;23187:18:100;23214:128;;;;23356:1;23351:321;;;;23180:492;;23214:128;-1:-1:-1;;23247:24:100;;23235:37;;23315:14;;23308:22;23305:1;23301:30;23292:40;;;-1:-1:-1;23214:128:100;;23351:321;21575:1;21568:14;;;21612:4;21599:18;;23452:1;23466:165;23480:6;23477:1;23474:13;23466:165;;;23558:14;;23545:11;;;23538:35;23601:16;;;;23495:10;;23466:165;;;23651:11;;;-1:-1:-1;;23180:492:100;;;;;23718:9;23713:3;23709:19;23703:3;23692:9;23688:19;23681:48;23746:41;23783:3;23775:6;23746:41;:::i;:::-;23738:49;21628:2165;-1:-1:-1;;;;;;;;;;;;;;21628:2165:100:o;24100:430::-;-1:-1:-1;;;;;;24289:6:100;24285:79;24280:3;24273:92;24255:3;24394:6;24388:13;24410:74;24477:6;24473:1;24468:3;24464:11;24457:4;24449:6;24445:17;24410:74;:::i;:::-;24504:16;;;;24522:1;24500:24;;24100:430;-1:-1:-1;;;24100:430:100:o;24535:287::-;24664:3;24702:6;24696:13;24718:66;24777:6;24772:3;24765:4;24757:6;24753:17;24718:66;:::i;:::-;24800:16;;;;;24535:287;-1:-1:-1;;24535:287:100:o;25101:848::-;25300:2;25289:9;25282:21;25263:4;-1:-1:-1;;;;;25419:2:100;25410:6;25404:13;25400:22;25395:2;25384:9;25380:18;25373:50;25487:2;25481;25473:6;25469:15;25463:22;25459:31;25454:2;25443:9;25439:18;25432:59;25545:2;25537:6;25533:15;25527:22;25522:2;25511:9;25507:18;25500:50;25605:2;25597:6;25593:15;25587:22;25581:3;25570:9;25566:19;25559:51;25665:3;25657:6;25653:16;25647:23;25641:3;25630:9;25626:19;25619:52;25718:3;25710:6;25706:16;25700:23;25760:4;25754:3;25743:9;25739:19;25732:33;25788:61;25844:3;25833:9;25829:19;25815:12;25788:61;:::i;:::-;25774:75;;25916:2;25909:3;25901:6;25897:16;25891:23;25887:32;25880:4;25869:9;25865:20;25858:62;25937:6;25929:14;;;;25101:848;;;;:::o;27138:184::-;-1:-1:-1;;;27187:1:100;27180:88;27287:4;27284:1;27277:15;27311:4;27308:1;27301:15;27327:135;27366:3;27387:17;;;27384:43;;27407:18;;:::i;:::-;-1:-1:-1;27454:1:100;27443:13;;27327:135::o;27731:795::-;27889:4;27931:3;27920:9;27916:19;27908:27;;27968:6;27962:13;27951:9;27944:32;28032:4;28024:6;28020:17;28014:24;28007:4;27996:9;27992:20;27985:54;28086:4;28078:6;28074:17;28068:24;-1:-1:-1;;;;;28209:2:100;28195:12;28191:21;28184:4;28173:9;28169:20;28162:51;28262:4;28254:6;28250:17;28244:24;28222:46;;28306:1;28290:14;28287:21;28277:55;;28312:18;;:::i;:::-;28370:14;28363:4;28352:9;28348:20;28341:44;28441:4;28433:6;28429:17;28423:24;28416:4;28405:9;28401:20;28394:54;28516:2;28508:4;28500:6;28496:17;28490:24;28486:33;28479:4;28468:9;28464:20;28457:63;;;27731:795;;;;:::o;28825:274::-;28865:1;28891;28881:189;;-1:-1:-1;;;28923:1:100;28916:88;29027:4;29024:1;29017:15;29055:4;29052:1;29045:15;28881:189;-1:-1:-1;29084:9:100;;28825:274::o;29104:128::-;29171:9;;;29192:11;;;29189:37;;;29206:18;;:::i;29237:168::-;29310:9;;;29341;;29358:15;;;29352:22;;29338:37;29328:71;;29379:18;;:::i;29410:125::-;29475:9;;;29496:10;;;29493:36;;;29509:18;;:::i;30465:291::-;30642:2;30631:9;30624:21;30605:4;30662:45;30703:2;30692:9;30688:18;30680:6;30662:45;:::i;:::-;30654:53;;30743:6;30738:2;30727:9;30723:18;30716:34;30465:291;;;;;:::o;30761:340::-;30938:2;30927:9;30920:21;30901:4;30958:45;30999:2;30988:9;30984:18;30976:6;30958:45;:::i;:::-;30950:53;;-1:-1:-1;;;;;31043:6:100;31039:55;31034:2;31023:9;31019:18;31012:83;30761:340;;;;;:::o;31757:::-;-1:-1:-1;;;;;31938:6:100;31934:55;31923:9;31916:74;32026:2;32021;32010:9;32006:18;31999:30;31897:4;32046:45;32087:2;32076:9;32072:18;32064:6;32046:45;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","deployAllo()":"8125937b","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployAllo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/DeployCV.s.sol\":\"DeployCV\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/script/DeployCV.s.sol\":{\"keccak256\":\"0x469e9fccaae1c81ea6939750bcfa8ab593750f8138d58b45cefc3936f25c799e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://79b66529779ff03bd7ddc64c74e646c09510bded224585913665e9bd981492de\",\"dweb:/ipfs/QmVSmzSfe9Bgo5hE98aoSNoqZJAS7Dcz1e4qtnUcdKvT3c\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484\",\"dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deployAllo","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/DeployCV.s.sol":"DeployCV"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/script/DeployCV.s.sol":{"keccak256":"0x469e9fccaae1c81ea6939750bcfa8ab593750f8138d58b45cefc3936f25c799e","urls":["bzz-raw://79b66529779ff03bd7ddc64c74e646c09510bded224585913665e9bd981492de","dweb:/ipfs/QmVSmzSfe9Bgo5hE98aoSNoqZJAS7Dcz1e4qtnUcdKvT3c"],"license":"UNLICENSED"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9","urls":["bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484","dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg"],"license":"UNLICENSED"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/script/DeployCV.s.sol","id":58457,"exportedSymbols":{"AMockERC20":[9751],"Accounts":[9264],"Allo":[1390],"BaseStrategy":[3923],"CVStrategy":[61025],"CVStrategyHelpers":[62208],"DeployCV":[58456],"IAllo":[2610],"IERC20":[6903],"IRegistry":[2802],"IWithdrawMember":[59058],"Metadata":[3098],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"SafeSetup":[65847],"Script":[12629],"ScriptBase":[12590],"StdChains":[14811],"StdCheatsSafe":[16871],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"VmSafe":[23817],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdJson":[18581],"stdMath":[18723],"stdStorageSafe":[19803]},"nodeType":"SourceUnit","src":"39:6339:91","nodes":[{"id":57712,"nodeType":"PragmaDirective","src":"39:24:91","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":57713,"nodeType":"ImportDirective","src":"65:32:91","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":40483,"symbolAliases":[],"unitAlias":""},{"id":57714,"nodeType":"ImportDirective","src":"98:30:91","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":12630,"symbolAliases":[],"unitAlias":""},{"id":57715,"nodeType":"ImportDirective","src":"129:56:91","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":57716,"nodeType":"ImportDirective","src":"186:31:91","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":61026,"symbolAliases":[],"unitAlias":""},{"id":57718,"nodeType":"ImportDirective","src":"218:66:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":57717,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"226:5:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57720,"nodeType":"ImportDirective","src":"285:53:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":57719,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"293:4:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57722,"nodeType":"ImportDirective","src":"339:74:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":57721,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"347:9:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57724,"nodeType":"ImportDirective","src":"414:61:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":57723,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"422:8:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57726,"nodeType":"ImportDirective","src":"476:67:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":57725,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"484:6:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57728,"nodeType":"ImportDirective","src":"544:64:91","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"../test/CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":62209,"symbolAliases":[{"foreign":{"id":57727,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62208,"src":"552:17:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57730,"nodeType":"ImportDirective","src":"609:73:91","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":57729,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"617:9:91","typeDescriptions":{}},"local":"AMockERC20","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57732,"nodeType":"ImportDirective","src":"683:59:91","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":57731,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"691:15:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57734,"nodeType":"ImportDirective","src":"743:55:91","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"../test/shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":65848,"symbolAliases":[{"foreign":{"id":57733,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65847,"src":"751:9:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57736,"nodeType":"ImportDirective","src":"799:71:91","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":57735,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"807:8:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":57738,"nodeType":"ImportDirective","src":"871:66:91","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":58457,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":57737,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"879:8:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58456,"nodeType":"ContractDefinition","src":"939:5438:91","nodes":[{"id":57749,"nodeType":"VariableDeclaration","src":"1011:42:91","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1035:13:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57747,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":57748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1051:2:91","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":57752,"nodeType":"VariableDeclaration","src":"1060:23:91","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1078:5:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":57751,"nodeType":"UserDefinedTypeName","pathNode":{"id":57750,"name":"AMockERC20","nameLocations":["1060:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1060:10:91"},"referencedDeclaration":9751,"src":"1060:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":57755,"nodeType":"VariableDeclaration","src":"1090:11:91","nodes":[],"constant":false,"mutability":"mutable","name":"_allo_","nameLocation":"1095:6:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":57754,"nodeType":"UserDefinedTypeName","pathNode":{"id":57753,"name":"Allo","nameLocations":["1090:4:91"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1090:4:91"},"referencedDeclaration":1390,"src":"1090:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"id":57758,"nodeType":"VariableDeclaration","src":"1107:19:91","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"1116:10:91","scope":58456,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":57757,"nodeType":"UserDefinedTypeName","pathNode":{"id":57756,"name":"Registry","nameLocations":["1107:8:91"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"1107:8:91"},"referencedDeclaration":2295,"src":"1107:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":57770,"nodeType":"FunctionDefinition","src":"1133:139:91","nodes":[],"body":{"id":57769,"nodeType":"Block","src":"1197:75:91","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"307866333946643665353161616438384636463463653661423838323732373963666646623932323636","id":57766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1222:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1214:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57764,"name":"address","nodeType":"ElementaryTypeName","src":"1214:7:91","typeDescriptions":{}}},"id":57767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":57763,"id":57768,"nodeType":"Return","src":"1207:58:91"}]},"baseFunctions":[8991],"functionSelector":"8e0d1a50","implemented":true,"kind":"function","modifiers":[],"name":"pool_admin","nameLocation":"1142:10:91","overrides":{"id":57760,"nodeType":"OverrideSpecifier","overrides":[],"src":"1170:8:91"},"parameters":{"id":57759,"nodeType":"ParameterList","parameters":[],"src":"1152:2:91"},"returnParameters":{"id":57763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57762,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57770,"src":"1188:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57761,"name":"address","nodeType":"ElementaryTypeName","src":"1188:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1187:9:91"},"scope":58456,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":57782,"nodeType":"FunctionDefinition","src":"1278:139:91","nodes":[],"body":{"id":57781,"nodeType":"Block","src":"1342:75:91","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"307866333946643665353161616438384636463463653661423838323732373963666646623932323636","id":57778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1367:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1359:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57776,"name":"address","nodeType":"ElementaryTypeName","src":"1359:7:91","typeDescriptions":{}}},"id":57779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1359:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":57775,"id":57780,"nodeType":"Return","src":"1352:58:91"}]},"baseFunctions":[8923],"functionSelector":"7cbe79ed","implemented":true,"kind":"function","modifiers":[],"name":"allo_owner","nameLocation":"1287:10:91","overrides":{"id":57772,"nodeType":"OverrideSpecifier","overrides":[],"src":"1315:8:91"},"parameters":{"id":57771,"nodeType":"ParameterList","parameters":[],"src":"1297:2:91"},"returnParameters":{"id":57775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57774,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57782,"src":"1333:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57773,"name":"address","nodeType":"ElementaryTypeName","src":"1333:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1332:9:91"},"scope":58456,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":58408,"nodeType":"FunctionDefinition","src":"1423:4525:91","nodes":[],"body":{"id":58407,"nodeType":"Block","src":"1445:4503:91","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57788,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"1473:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1473:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57785,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1455:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":57787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1458:14:91","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"1455:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":57790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57791,"nodeType":"ExpressionStatement","src":"1455:31:91"},{"assignments":[57794],"declarations":[{"constant":false,"id":57794,"mutability":"mutable","name":"allo","nameLocation":"1502:4:91","nodeType":"VariableDeclaration","scope":58407,"src":"1497:9:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":57793,"nodeType":"UserDefinedTypeName","pathNode":{"id":57792,"name":"Allo","nameLocations":["1497:4:91"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1497:4:91"},"referencedDeclaration":1390,"src":"1497:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"}],"id":57799,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57796,"name":"deployAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58455,"src":"1514:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1514:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57795,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"1509:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1509:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"VariableDeclarationStatement","src":"1497:30:91"},{"expression":{"id":57805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":57800,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"1538:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":57803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1546:14:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":57802,"nodeType":"UserDefinedTypeName","pathNode":{"id":57801,"name":"AMockERC20","nameLocations":["1550:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1550:10:91"},"referencedDeclaration":9751,"src":"1550:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":57804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1546:16:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"1538:24:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":57806,"nodeType":"ExpressionStatement","src":"1538:24:91"},{"assignments":[57809],"declarations":[{"constant":false,"id":57809,"mutability":"mutable","name":"registry","nameLocation":"1583:8:91","nodeType":"VariableDeclaration","scope":58407,"src":"1573:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":57808,"nodeType":"UserDefinedTypeName","pathNode":{"id":57807,"name":"IRegistry","nameLocations":["1573:9:91"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1573:9:91"},"referencedDeclaration":2802,"src":"1573:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"id":57813,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":57810,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"1594:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":57811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1599:11:91","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":1362,"src":"1594:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IRegistry_$2802_$","typeString":"function () view external returns (contract IRegistry)"}},"id":57812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1573:39:91"},{"assignments":[57816],"declarations":[{"constant":false,"id":57816,"mutability":"mutable","name":"registryFactory","nameLocation":"1639:15:91","nodeType":"VariableDeclaration","scope":58407,"src":"1623:31:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":57815,"nodeType":"UserDefinedTypeName","pathNode":{"id":57814,"name":"RegistryFactory","nameLocations":["1623:15:91"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1623:15:91"},"referencedDeclaration":61072,"src":"1623:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":57821,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":57819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1657:19:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":57818,"nodeType":"UserDefinedTypeName","pathNode":{"id":57817,"name":"RegistryFactory","nameLocations":["1661:15:91"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1661:15:91"},"referencedDeclaration":61072,"src":"1661:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":57820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1657:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"1623:55:91"},{"assignments":[57826],"declarations":[{"constant":false,"id":57826,"mutability":"mutable","name":"params","nameLocation":"1729:6:91","nodeType":"VariableDeclaration","scope":58407,"src":"1689:46:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":57825,"nodeType":"UserDefinedTypeName","pathNode":{"id":57824,"name":"RegistryGardens.InitializeParams","nameLocations":["1689:15:91","1705:16:91"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"1689:32:91"},"referencedDeclaration":61245,"src":"1689:32:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":57827,"nodeType":"VariableDeclarationStatement","src":"1689:46:91"},{"expression":{"id":57835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57828,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1746:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1753:5:91","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"1746:12:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":57833,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"1769:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1761:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57831,"name":"address","nodeType":"ElementaryTypeName","src":"1761:7:91","typeDescriptions":{}}},"id":57834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1746:28:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57836,"nodeType":"ExpressionStatement","src":"1746:28:91"},{"expression":{"id":57846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57837,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1784:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57839,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1791:12:91","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"1784:19:91","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":57843,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"1821:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":57842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1813:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57841,"name":"address","nodeType":"ElementaryTypeName","src":"1813:7:91","typeDescriptions":{}}},"id":57844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1813:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57840,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"1806:6:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":57845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1806:22:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"1784:44:91","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":57847,"nodeType":"ExpressionStatement","src":"1784:44:91"},{"expression":{"id":57852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57848,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1838:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1845:19:91","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"1838:26:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57851,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57749,"src":"1867:13:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1838:42:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57853,"nodeType":"ExpressionStatement","src":"1838:42:91"},{"expression":{"id":57858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57854,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1890:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1897:12:91","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"1890:19:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":57857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1912:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1890:23:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":57859,"nodeType":"ExpressionStatement","src":"1890:23:91"},{"expression":{"id":57864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57860,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1923:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57862,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1930:9:91","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"1923:16:91","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":57863,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61866,"src":"1942:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"1923:27:91","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":57865,"nodeType":"ExpressionStatement","src":"1923:27:91"},{"expression":{"id":57877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":57866,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"1978:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":57868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1985:12:91","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"1978:19:91","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57873,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"2016:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":57874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2016:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":57872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2008:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57871,"name":"address","nodeType":"ElementaryTypeName","src":"2008:7:91","typeDescriptions":{}}},"id":57875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2008:23:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2000:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":57869,"name":"address","nodeType":"ElementaryTypeName","src":"2000:8:91","stateMutability":"payable","typeDescriptions":{}}},"id":57876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2000:32:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1978:54:91","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":57878,"nodeType":"ExpressionStatement","src":"1978:54:91"},{"assignments":[57881],"declarations":[{"constant":false,"id":57881,"mutability":"mutable","name":"registryGardens","nameLocation":"2059:15:91","nodeType":"VariableDeclaration","scope":58407,"src":"2043:31:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":57880,"nodeType":"UserDefinedTypeName","pathNode":{"id":57879,"name":"RegistryGardens","nameLocations":["2043:15:91"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"2043:15:91"},"referencedDeclaration":61840,"src":"2043:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"id":57888,"initialValue":{"arguments":[{"arguments":[{"id":57885,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"2124:6:91","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":57883,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57816,"src":"2093:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":57884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2109:14:91","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"2093:30:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":57886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2093:38:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57882,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"2077:15:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":57887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2077:55:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"VariableDeclarationStatement","src":"2043:89:91"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":57894,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"2198:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":57895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2198:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2190:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57892,"name":"address","nodeType":"ElementaryTypeName","src":"2190:7:91","typeDescriptions":{}}},"id":57896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2190:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31305f303030","id":57897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2213:6:91","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}],"expression":{"id":57889,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"2179:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":57891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2185:4:91","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2179:10:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":57898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2179:41:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57899,"nodeType":"ExpressionStatement","src":"2179:41:91"},{"assignments":[57902],"declarations":[{"constant":false,"id":57902,"mutability":"mutable","name":"strategy1","nameLocation":"2242:9:91","nodeType":"VariableDeclaration","scope":58407,"src":"2231:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":57901,"nodeType":"UserDefinedTypeName","pathNode":{"id":57900,"name":"CVStrategy","nameLocations":["2231:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2231:10:91"},"referencedDeclaration":61025,"src":"2231:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":57911,"initialValue":{"arguments":[{"arguments":[{"id":57908,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2277:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2269:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57906,"name":"address","nodeType":"ElementaryTypeName","src":"2269:7:91","typeDescriptions":{}}},"id":57909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2269:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2254:14:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":57904,"nodeType":"UserDefinedTypeName","pathNode":{"id":57903,"name":"CVStrategy","nameLocations":["2258:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2258:10:91"},"referencedDeclaration":61025,"src":"2258:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":57910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2254:29:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2231:52:91"},{"assignments":[57914],"declarations":[{"constant":false,"id":57914,"mutability":"mutable","name":"strategy2","nameLocation":"2304:9:91","nodeType":"VariableDeclaration","scope":58407,"src":"2293:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":57913,"nodeType":"UserDefinedTypeName","pathNode":{"id":57912,"name":"CVStrategy","nameLocations":["2293:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2293:10:91"},"referencedDeclaration":61025,"src":"2293:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":57923,"initialValue":{"arguments":[{"arguments":[{"id":57920,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2339:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2331:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57918,"name":"address","nodeType":"ElementaryTypeName","src":"2331:7:91","typeDescriptions":{}}},"id":57921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2331:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2316:14:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":57916,"nodeType":"UserDefinedTypeName","pathNode":{"id":57915,"name":"CVStrategy","nameLocations":["2320:10:91"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2320:10:91"},"referencedDeclaration":61025,"src":"2320:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":57922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2316:29:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2293:52:91"},{"assignments":[57925],"declarations":[{"constant":false,"id":57925,"mutability":"mutable","name":"poolId","nameLocation":"2393:6:91","nodeType":"VariableDeclaration","scope":58407,"src":"2385:14:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57924,"name":"uint256","nodeType":"ElementaryTypeName","src":"2385:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57947,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":57930,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2438:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2430:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57928,"name":"address","nodeType":"ElementaryTypeName","src":"2430:7:91","typeDescriptions":{}}},"id":57931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2430:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57927,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2425:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2425:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":57935,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2454:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":57934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2446:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57933,"name":"address","nodeType":"ElementaryTypeName","src":"2446:7:91","typeDescriptions":{}}},"id":57936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2446:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57939,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"2474:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":57938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2466:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57937,"name":"address","nodeType":"ElementaryTypeName","src":"2466:7:91","typeDescriptions":{}}},"id":57940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2466:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57941,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57809,"src":"2492:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"id":57944,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"2510:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":57943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2502:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57942,"name":"address","nodeType":"ElementaryTypeName","src":"2502:7:91","typeDescriptions":{}}},"id":57945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2502:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57926,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62039,"src":"2414:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":57946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2414:103:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2385:132:91"},{"assignments":[57949],"declarations":[{"constant":false,"id":57949,"mutability":"mutable","name":"poolIdSignaling","nameLocation":"2536:15:91","nodeType":"VariableDeclaration","scope":58407,"src":"2528:23:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2528:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57971,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":57954,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"2590:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":57953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2582:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57952,"name":"address","nodeType":"ElementaryTypeName","src":"2582:7:91","typeDescriptions":{}}},"id":57955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2582:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":57951,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2577:4:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":57956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2577:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":57959,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"2606:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":57958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2598:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57957,"name":"address","nodeType":"ElementaryTypeName","src":"2598:7:91","typeDescriptions":{}}},"id":57960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2598:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":57963,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"2626:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":57962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2618:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57961,"name":"address","nodeType":"ElementaryTypeName","src":"2618:7:91","typeDescriptions":{}}},"id":57964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57965,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57809,"src":"2644:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"hexValue":"30","id":57968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2662:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":57967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2654:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57966,"name":"address","nodeType":"ElementaryTypeName","src":"2654:7:91","typeDescriptions":{}}},"id":57969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:10:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":57950,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62039,"src":"2566:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":57970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2566:99:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2528:137:91"},{"assignments":[57976],"declarations":[{"constant":false,"id":57976,"mutability":"mutable","name":"membersStaked","nameLocation":"2692:13:91","nodeType":"VariableDeclaration","scope":58407,"src":"2675:30:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":57974,"name":"address","nodeType":"ElementaryTypeName","src":"2675:7:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57975,"nodeType":"ArrayTypeName","src":"2675:9:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":57982,"initialValue":{"arguments":[{"hexValue":"34","id":57980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2722:1:91","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":57979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2708:13:91","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":57977,"name":"address","nodeType":"ElementaryTypeName","src":"2712:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57978,"nodeType":"ArrayTypeName","src":"2712:9:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":57981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2708:16:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2675:49:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":57987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2768:15:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":57986,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"2754:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2754:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57983,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2735:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":57985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2745:8:91","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"2735:18:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2735:50:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57990,"nodeType":"ExpressionStatement","src":"2735:50:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":57995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2848:9:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":57994,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"2834:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":57996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2834:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57991,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2812:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":57993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2822:11:91","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"2812:21:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":57997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2812:47:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57998,"nodeType":"ExpressionStatement","src":"2812:47:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2922:12:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58002,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"2908:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2908:27:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57999,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"2888:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2898:9:91","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"2888:19:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2888:48:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58006,"nodeType":"ExpressionStatement","src":"2888:48:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3030:15:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58010,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"3016:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3016:30:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58007,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"2997:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3007:8:91","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"2997:18:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:50:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58014,"nodeType":"ExpressionStatement","src":"2997:50:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3110:9:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58018,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"3096:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3096:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58015,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"3074:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3084:11:91","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"3074:21:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3074:47:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58022,"nodeType":"ExpressionStatement","src":"3074:47:91"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3184:12:91","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58026,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"3170:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3170:27:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58023,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"3150:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3160:9:91","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"3150:19:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3150:48:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58030,"nodeType":"ExpressionStatement","src":"3150:48:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3229:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3232:13:91","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"3229:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3229:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58035,"nodeType":"ExpressionStatement","src":"3229:18:91"},{"expression":{"id":58043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58036,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3258:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58038,"indexExpression":{"hexValue":"30","id":58037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3272:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3258:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307866333946643665353161616438384636463463653661423838323732373963666646623932323636","id":58041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3285:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3277:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58039,"name":"address","nodeType":"ElementaryTypeName","src":"3277:7:91","typeDescriptions":{}}},"id":58042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3277:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3258:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58044,"nodeType":"ExpressionStatement","src":"3258:70:91"},{"expression":{"id":58052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58045,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3338:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58047,"indexExpression":{"hexValue":"31","id":58046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3352:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3338:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307837303939373937304335313831326463334130313043376430316235306530643137646337394338","id":58050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3365:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3357:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58048,"name":"address","nodeType":"ElementaryTypeName","src":"3357:7:91","typeDescriptions":{}}},"id":58051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3357:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3338:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58053,"nodeType":"ExpressionStatement","src":"3338:70:91"},{"expression":{"id":58061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58054,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3418:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58056,"indexExpression":{"hexValue":"32","id":58055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3432:1:91","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3418:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307833433434436444644236613930306661326235383564643239396530336431324641343239334243","id":58059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3445:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3437:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58057,"name":"address","nodeType":"ElementaryTypeName","src":"3437:7:91","typeDescriptions":{}}},"id":58060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3437:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3418:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58062,"nodeType":"ExpressionStatement","src":"3418:70:91"},{"expression":{"id":58070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":58063,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3498:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58065,"indexExpression":{"hexValue":"33","id":58064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3512:1:91","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3498:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307839304637396266364542326334663837303336354537383539383245316631303145393362393036","id":58068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3525:42:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x90F79bf6EB2c4f870365E785982E1f101E93b906"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3517:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58066,"name":"address","nodeType":"ElementaryTypeName","src":"3517:7:91","typeDescriptions":{}}},"id":58069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3517:51:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3498:70:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58071,"nodeType":"ExpressionStatement","src":"3498:70:91"},{"body":{"id":58131,"nodeType":"Block","src":"3630:363:91","statements":[{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":58088,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3670:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58090,"indexExpression":{"id":58089,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3684:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3670:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3662:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58086,"name":"address","nodeType":"ElementaryTypeName","src":"3662:7:91","typeDescriptions":{}}},"id":58091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3662:25:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58083,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3644:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3647:14:91","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"3644:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3644:44:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58093,"nodeType":"ExpressionStatement","src":"3644:44:91"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":58099,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3721:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58101,"indexExpression":{"id":58100,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3735:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3721:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3713:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58097,"name":"address","nodeType":"ElementaryTypeName","src":"3713:7:91","typeDescriptions":{}}},"id":58102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3713:25:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":58103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3740:3:91","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":58094,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"3702:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3708:4:91","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"3702:10:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":58104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3702:42:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58105,"nodeType":"ExpressionStatement","src":"3702:42:91"},{"expression":{"arguments":[{"arguments":[{"id":58111,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"3780:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3772:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58109,"name":"address","nodeType":"ElementaryTypeName","src":"3772:7:91","typeDescriptions":{}}},"id":58112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3772:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58113,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57749,"src":"3798:13:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58106,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"3758:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3764:7:91","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3758:13:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3758:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58115,"nodeType":"ExpressionStatement","src":"3758:54:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58116,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"3883:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3893:14:91","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3883:24:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3883:26:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58120,"nodeType":"ExpressionStatement","src":"3883:26:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58121,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"3923:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3933:14:91","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3923:24:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3923:26:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58125,"nodeType":"ExpressionStatement","src":"3923:26:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58126,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3964:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3967:13:91","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"3964:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3964:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58130,"nodeType":"ExpressionStatement","src":"3964:18:91"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":58079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3599:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":58077,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"3603:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3617:6:91","memberName":"length","nodeType":"MemberAccess","src":"3603:20:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3599:24:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58132,"initializationExpression":{"assignments":[58073],"declarations":[{"constant":false,"id":58073,"mutability":"mutable","name":"i","nameLocation":"3592:1:91","nodeType":"VariableDeclaration","scope":58132,"src":"3584:9:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58072,"name":"uint256","nodeType":"ElementaryTypeName","src":"3584:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58075,"initialValue":{"hexValue":"30","id":58074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3596:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3584:13:91"},"loopExpression":{"expression":{"id":58081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3625:3:91","subExpression":{"id":58080,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"3625:1:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58082,"nodeType":"ExpressionStatement","src":"3625:3:91"},"nodeType":"ForStatement","src":"3579:414:91"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58136,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"4020:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4020:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58133,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4002:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4005:14:91","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"4002:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4002:31:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58139,"nodeType":"ExpressionStatement","src":"4002:31:91"},{"expression":{"arguments":[{"arguments":[{"id":58145,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4066:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4058:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58143,"name":"address","nodeType":"ElementaryTypeName","src":"4058:7:91","typeDescriptions":{}}},"id":58146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4058:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":58149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4078:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58148,"name":"uint256","nodeType":"ElementaryTypeName","src":"4078:7:91","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":58147,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4073:4:91","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":58150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4073:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":58151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4087:3:91","memberName":"max","nodeType":"MemberAccess","src":"4073:17:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58140,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4044:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4050:7:91","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"4044:13:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4044:47:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58153,"nodeType":"ExpressionStatement","src":"4044:47:91"},{"expression":{"arguments":[{"id":58157,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4115:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"315f303030","id":58158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4123:5:91","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":58154,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4101:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4106:8:91","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"4101:13:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":58159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4101:28:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58160,"nodeType":"ExpressionStatement","src":"4101:28:91"},{"assignments":[58165],"declarations":[{"constant":false,"id":58165,"mutability":"mutable","name":"proposal","nameLocation":"4182:8:91","nodeType":"VariableDeclaration","scope":58407,"src":"4149:41:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58164,"nodeType":"UserDefinedTypeName","pathNode":{"id":58163,"name":"CVStrategy.CreateProposal","nameLocations":["4149:10:91","4160:14:91"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4149:25:91"},"referencedDeclaration":59158,"src":"4149:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58182,"initialValue":{"arguments":[{"hexValue":"31","id":58168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4231:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58169,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4234:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58170,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"4242:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58172,"indexExpression":{"hexValue":"30","id":58171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4256:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4242:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58173,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4260:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4271:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4260:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4284:7:91","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4260:31:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3530","id":58176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4293:2:91","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"arguments":[{"id":58179,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4305:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4297:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58177,"name":"address","nodeType":"ElementaryTypeName","src":"4297:7:91","typeDescriptions":{}}},"id":58180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58166,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4205:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4216:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4205:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4205:107:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4149:163:91"},{"assignments":[58184],"declarations":[{"constant":false,"id":58184,"mutability":"mutable","name":"data","nameLocation":"4335:4:91","nodeType":"VariableDeclaration","scope":58407,"src":"4322:17:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58183,"name":"bytes","nodeType":"ElementaryTypeName","src":"4322:5:91","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58189,"initialValue":{"arguments":[{"id":58187,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4353:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4342:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4346:6:91","memberName":"encode","nodeType":"MemberAccess","src":"4342:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4342:20:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4322:40:91"},{"expression":{"arguments":[{"id":58193,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4395:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58194,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4403:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58190,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4372:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4377:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4372:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4372:36:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58196,"nodeType":"ExpressionStatement","src":"4372:36:91"},{"expression":{"id":58214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58197,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4419:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":58200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4468:1:91","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":58201,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4471:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58202,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"4479:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58204,"indexExpression":{"hexValue":"31","id":58203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4493:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4479:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58205,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4497:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4508:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4497:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4521:7:91","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4497:31:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3235","id":58208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4530:2:91","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"arguments":[{"id":58211,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4542:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4534:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58209,"name":"address","nodeType":"ElementaryTypeName","src":"4534:7:91","typeDescriptions":{}}},"id":58212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4534:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58198,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4442:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4453:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4442:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4442:107:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"4419:130:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58215,"nodeType":"ExpressionStatement","src":"4419:130:91"},{"expression":{"id":58221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58216,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4559:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58219,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4577:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4566:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4570:6:91","memberName":"encode","nodeType":"MemberAccess","src":"4566:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4566:20:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4559:27:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58222,"nodeType":"ExpressionStatement","src":"4559:27:91"},{"expression":{"arguments":[{"id":58226,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4619:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58227,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4627:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58223,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4596:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4601:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4596:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4596:36:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58229,"nodeType":"ExpressionStatement","src":"4596:36:91"},{"expression":{"id":58247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58230,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4643:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":58233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4692:1:91","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"id":58234,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4695:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58235,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"4703:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58237,"indexExpression":{"hexValue":"32","id":58236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4717:1:91","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4703:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58238,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4721:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4732:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4721:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4745:7:91","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4721:31:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3130","id":58241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4754:2:91","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"arguments":[{"id":58244,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"4766:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4758:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58242,"name":"address","nodeType":"ElementaryTypeName","src":"4758:7:91","typeDescriptions":{}}},"id":58245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4758:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58231,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4666:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4677:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4666:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4666:107:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"4643:130:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58248,"nodeType":"ExpressionStatement","src":"4643:130:91"},{"expression":{"id":58254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58249,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4783:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58252,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"4801:8:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58250,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4790:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4794:6:91","memberName":"encode","nodeType":"MemberAccess","src":"4790:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4790:20:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4783:27:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58255,"nodeType":"ExpressionStatement","src":"4783:27:91"},{"expression":{"arguments":[{"id":58259,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"4843:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58260,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58184,"src":"4851:4:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58256,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"4820:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4825:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4820:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4820:36:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58262,"nodeType":"ExpressionStatement","src":"4820:36:91"},{"assignments":[58267],"declarations":[{"constant":false,"id":58267,"mutability":"mutable","name":"proposal2","nameLocation":"4970:9:91","nodeType":"VariableDeclaration","scope":58407,"src":"4937:42:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58266,"nodeType":"UserDefinedTypeName","pathNode":{"id":58265,"name":"CVStrategy.CreateProposal","nameLocations":["4937:10:91","4948:14:91"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4937:25:91"},"referencedDeclaration":59158,"src":"4937:25:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58284,"initialValue":{"arguments":[{"hexValue":"31","id":58270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5021:1:91","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58271,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57949,"src":"5024:15:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":58272,"name":"membersStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57976,"src":"5041:13:91","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":58274,"indexExpression":{"hexValue":"30","id":58273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5055:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5041:16:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58275,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"5059:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5070:12:91","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"5059:23:91","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5083:9:91","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"5059:33:91","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":58278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5094:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":58281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5105:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5097:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58279,"name":"address","nodeType":"ElementaryTypeName","src":"5097:7:91","typeDescriptions":{}}},"id":58282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5097:10:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58268,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4982:10:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4993:14:91","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4982:25:91","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4982:135:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4937:180:91"},{"assignments":[58286],"declarations":[{"constant":false,"id":58286,"mutability":"mutable","name":"data2","nameLocation":"5140:5:91","nodeType":"VariableDeclaration","scope":58407,"src":"5127:18:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58285,"name":"bytes","nodeType":"ElementaryTypeName","src":"5127:5:91","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58291,"initialValue":{"arguments":[{"id":58289,"name":"proposal2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58267,"src":"5159:9:91","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5148:3:91","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5152:6:91","memberName":"encode","nodeType":"MemberAccess","src":"5148:10:91","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5148:21:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5127:42:91"},{"expression":{"arguments":[{"id":58295,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57949,"src":"5202:15:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58296,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58286,"src":"5219:5:91","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58292,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"5179:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5184:17:91","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5179:22:91","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5179:46:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58298,"nodeType":"ExpressionStatement","src":"5179:46:91"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58299,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"5235:2:91","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5238:13:91","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"5235:16:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5235:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58303,"nodeType":"ExpressionStatement","src":"5235:18:91"},{"expression":{"arguments":[{"hexValue":"506f6f6c49643a202573","id":58307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5277:12:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},"value":"PoolId: %s"},{"id":58308,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"5291:6:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58304,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5264:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5273:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"5264:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5264:34:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58310,"nodeType":"ExpressionStatement","src":"5264:34:91"},{"expression":{"arguments":[{"hexValue":"53747261746567793120416464723a202573","id":58314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5321:20:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},"value":"Strategy1 Addr: %s"},{"arguments":[{"id":58317,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57902,"src":"5351:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5343:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58315,"name":"address","nodeType":"ElementaryTypeName","src":"5343:7:91","typeDescriptions":{}}},"id":58318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5343:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58311,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5308:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5317:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5308:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5308:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58320,"nodeType":"ExpressionStatement","src":"5308:54:91"},{"expression":{"arguments":[{"hexValue":"706f6f6c49645369676e616c696e673a202573","id":58324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5386:21:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_113c36173906b4b51e488530846a35d3a7ff96f5b16dd66bdd4d34c9c2179e9d","typeString":"literal_string \"poolIdSignaling: %s\""},"value":"poolIdSignaling: %s"},{"id":58325,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57949,"src":"5409:15:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_113c36173906b4b51e488530846a35d3a7ff96f5b16dd66bdd4d34c9c2179e9d","typeString":"literal_string \"poolIdSignaling: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58321,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5373:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5382:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"5373:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5373:52:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58327,"nodeType":"ExpressionStatement","src":"5373:52:91"},{"expression":{"arguments":[{"hexValue":"53747261746567793220416464723a202573","id":58331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5448:20:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},"value":"Strategy2 Addr: %s"},{"arguments":[{"id":58334,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"5478:9:91","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5470:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58332,"name":"address","nodeType":"ElementaryTypeName","src":"5470:7:91","typeDescriptions":{}}},"id":58335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5470:18:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58328,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5435:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5444:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5435:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5435:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58337,"nodeType":"ExpressionStatement","src":"5435:54:91"},{"expression":{"arguments":[{"hexValue":"416c6c6f20416464723a202573","id":58341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5513:15:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},"value":"Allo Addr: %s"},{"arguments":[{"id":58344,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57794,"src":"5538:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5530:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58342,"name":"address","nodeType":"ElementaryTypeName","src":"5530:7:91","typeDescriptions":{}}},"id":58345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5530:13:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58338,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5500:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5509:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5500:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5500:44:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58347,"nodeType":"ExpressionStatement","src":"5500:44:91"},{"expression":{"arguments":[{"hexValue":"546f6b656e20416464723a202573","id":58351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5567:16:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},"value":"Token Addr: %s"},{"arguments":[{"id":58354,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57752,"src":"5593:5:91","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5585:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58352,"name":"address","nodeType":"ElementaryTypeName","src":"5585:7:91","typeDescriptions":{}}},"id":58355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5585:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58348,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5554:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5563:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5554:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5554:46:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58357,"nodeType":"ExpressionStatement","src":"5554:46:91"},{"expression":{"arguments":[{"hexValue":"546f6b656e204e617469766520416464723a202573","id":58361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5623:23:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},"value":"Token Native Addr: %s"},{"arguments":[{"id":58364,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5656:6:91","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5648:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58362,"name":"address","nodeType":"ElementaryTypeName","src":"5648:7:91","typeDescriptions":{}}},"id":58365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5648:15:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58358,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5610:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5619:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5610:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5610:54:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58367,"nodeType":"ExpressionStatement","src":"5610:54:91"},{"expression":{"arguments":[{"hexValue":"52656769737472792047617264656e7320416464723a202573","id":58371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5688:27:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},"value":"Registry Gardens Addr: %s"},{"arguments":[{"id":58374,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"5725:15:91","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5717:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58372,"name":"address","nodeType":"ElementaryTypeName","src":"5717:7:91","typeDescriptions":{}}},"id":58375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5717:24:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58368,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5675:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5684:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5675:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5675:67:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58377,"nodeType":"ExpressionStatement","src":"5675:67:91"},{"expression":{"arguments":[{"hexValue":"416c6c6f20526567697374727920416464723a202573","id":58381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5766:24:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},"value":"Allo Registry Addr: %s"},{"arguments":[{"id":58384,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57809,"src":"5800:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":58383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5792:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58382,"name":"address","nodeType":"ElementaryTypeName","src":"5792:7:91","typeDescriptions":{}}},"id":58385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5792:17:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58378,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5753:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5762:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5753:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:57:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58387,"nodeType":"ExpressionStatement","src":"5753:57:91"},{"expression":{"arguments":[{"hexValue":"506f6f6c2041646d696e20416464723a202573","id":58391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5833:21:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},"value":"Pool Admin Addr: %s"},{"arguments":[],"expression":{"argumentTypes":[],"id":58392,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[57770],"referencedDeclaration":57770,"src":"5856:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5856:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58388,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5820:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5829:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5820:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5820:49:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58395,"nodeType":"ExpressionStatement","src":"5820:49:91"},{"expression":{"arguments":[{"hexValue":"436f756e63696c205361666520416464723a202573","id":58399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5892:23:91","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},"value":"Council Safe Addr: %s"},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58402,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65748,"src":"5925:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":58403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5925:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":58401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5917:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58400,"name":"address","nodeType":"ElementaryTypeName","src":"5917:7:91","typeDescriptions":{}}},"id":58404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:23:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58396,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5879:8:91","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5888:3:91","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5879:12:91","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5879:62:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58406,"nodeType":"ExpressionStatement","src":"5879:62:91"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1432:3:91","parameters":{"id":57783,"nodeType":"ParameterList","parameters":[],"src":"1435:2:91"},"returnParameters":{"id":57784,"nodeType":"ParameterList","parameters":[],"src":"1445:0:91"},"scope":58456,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":58455,"nodeType":"FunctionDefinition","src":"5954:421:91","nodes":[],"body":{"id":58454,"nodeType":"Block","src":"6001:374:91","nodes":[],"statements":[{"expression":{"id":58418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58413,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57758,"src":"6011:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":58416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6024:12:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":58415,"nodeType":"UserDefinedTypeName","pathNode":{"id":58414,"name":"Registry","nameLocations":["6028:8:91"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"6028:8:91"},"referencedDeclaration":2295,"src":"6028:8:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":58417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6024:14:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"6011:27:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":58419,"nodeType":"ExpressionStatement","src":"6011:27:91"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58423,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8913,"src":"6070:14:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6070:16:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58420,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57758,"src":"6048:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":58422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6059:10:91","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"6048:21:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6048:39:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58426,"nodeType":"ExpressionStatement","src":"6048:39:91"},{"expression":{"id":58432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58427,"name":"_allo_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57755,"src":"6097:6:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":58430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6106:8:91","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () returns (contract Allo)"},"typeName":{"id":58429,"nodeType":"UserDefinedTypeName","pathNode":{"id":58428,"name":"Allo","nameLocations":["6110:4:91"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"6110:4:91"},"referencedDeclaration":1390,"src":"6110:4:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}},"id":58431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6106:10:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"src":"6097:19:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58433,"nodeType":"ExpressionStatement","src":"6097:19:91"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58437,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[57782],"referencedDeclaration":57782,"src":"6158:10:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6158:12:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58441,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57758,"src":"6202:10:91","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":58440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6194:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58439,"name":"address","nodeType":"ElementaryTypeName","src":"6194:7:91","typeDescriptions":{}}},"id":58442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6194:19:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58443,"name":"allo_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8936,"src":"6240:13:91","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_payable_$","typeString":"function () returns (address payable)"}},"id":58444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6240:15:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"30","id":58445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6282:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":58446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6312:1:91","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":58434,"name":"_allo_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57755,"src":"6127:6:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6134:10:91","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":101,"src":"6127:17:91","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_address_payable_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,address payable,uint256,uint256) external"}},"id":58447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6127:208:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58448,"nodeType":"ExpressionStatement","src":"6127:208:91"},{"expression":{"arguments":[{"id":58451,"name":"_allo_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57755,"src":"6361:6:91","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6353:7:91","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58449,"name":"address","nodeType":"ElementaryTypeName","src":"6353:7:91","typeDescriptions":{}}},"id":58452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6353:15:91","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":58412,"id":58453,"nodeType":"Return","src":"6346:22:91"}]},"functionSelector":"8125937b","implemented":true,"kind":"function","modifiers":[],"name":"deployAllo","nameLocation":"5963:10:91","parameters":{"id":58409,"nodeType":"ParameterList","parameters":[],"src":"5973:2:91"},"returnParameters":{"id":58412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58455,"src":"5992:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58410,"name":"address","nodeType":"ElementaryTypeName","src":"5992:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5991:9:91"},"scope":58456,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":57739,"name":"Native","nameLocations":["960:6:91"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"960:6:91"},"id":57740,"nodeType":"InheritanceSpecifier","src":"960:6:91"},{"baseName":{"id":57741,"name":"CVStrategyHelpers","nameLocations":["968:17:91"],"nodeType":"IdentifierPath","referencedDeclaration":62208,"src":"968:17:91"},"id":57742,"nodeType":"InheritanceSpecifier","src":"968:17:91"},{"baseName":{"id":57743,"name":"Script","nameLocations":["987:6:91"],"nodeType":"IdentifierPath","referencedDeclaration":12629,"src":"987:6:91"},"id":57744,"nodeType":"InheritanceSpecifier","src":"987:6:91"},{"baseName":{"id":57745,"name":"SafeSetup","nameLocations":["995:9:91"],"nodeType":"IdentifierPath","referencedDeclaration":65847,"src":"995:9:91"},"id":57746,"nodeType":"InheritanceSpecifier","src":"995:9:91"}],"canonicalName":"DeployCV","contractDependencies":[1390,2295,9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[58456,65847,22442,12629,22391,17989,62208,9264,17664,16871,14811,14047,12515,12581,12590,12578,3106],"name":"DeployCV","nameLocation":"948:8:91","scope":58457,"usedErrors":[]}],"license":"UNLICENSED"},"id":91} \ No newline at end of file diff --git a/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json b/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json index 3d529e953..f5ddb0e06 100644 --- a/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json +++ b/pkg/contracts/out/DeployCVArbSepolia.s.sol/DeployCVArbSepolia.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SENDER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a081905260139283559091906014906200006090826200012f565b5050601f805460ff19166001908117909155602255503480156200008357600080fd5b50620001fb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b557607f821691505b602082108103620000d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012a57600081815260208120601f850160051c81016020861015620001055750805b601f850160051c820191505b81811015620001265782815560010162000111565b5050505b505050565b81516001600160401b038111156200014b576200014b6200008a565b62000163816200015c8454620000a0565b84620000dc565b602080601f8311600181146200019b5760008415620001825750858301515b600019600386901b1c1916600185901b17855562000126565b600085815260208120601f198616915b82811015620001cc57888601518255948401946001909101908401620001ab565b5085821015620001eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61ea2c806200020b6000396000f3fe60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c3660046200362b565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e3919062003698565b6200048962000c2e565b604051620003e3919062003701565b620004a262000d7c565b604051620003e3929190620037c7565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e39190620037ea565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003916565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e39190620039bc565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe3660046200362b565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003a22565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002eb8565b620003cf62002efa565b620003cf62002f3c565b620003cf62002f7e565b620003cf62002fc0565b6200047062003002565b6200041d620006d136600462003a9e565b62003064565b620003cf62003112565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657231000000000000000000000000000000000000008152506200314f565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d626572000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f726563697069656e7432000000000000000000000000000000000000000000008152506200314f565b6020546000906001600160a01b031662000b35576000604051620007ec9062003564565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b9062003572565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003ad1565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003af1565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003b07565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657231000000000000000000000000000000008152506200314f565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003b6e565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003b6e565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657231000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f726563697069656e7441646472657373000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600981526020017f726563697069656e7400000000000000000000000000000000000000000000008152506200314f565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657232000000000000000000000000000000000000008152506200314f565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003baa565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003bf1565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003c68565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003ce8565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003d27565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003dae565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003af1565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e7400000000000000000000000000000000000000008152506200314f565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003af1565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657232000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e6572000000000000000000000000000000000000000000008152506200314f565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003b6e565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657232000000000000000000000000000000008152506200314f565b601554600090620017b057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003df3565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003baa565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e7431000000000000000000000000000000000000000000008152506200314f565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d80062003163565b6020820152620019a16702c68af0bb14000062003163565b6040820152620019b866038d7ea4c6800062003163565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003af1565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003af1565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003e70565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003baa565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003b6e565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003f8d565b60408051601f198184030181529082905262001d149162003fbf565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003dae565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003ad1565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f349062003580565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003ad1565b9050600060405162001fcd906200358e565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff76200359c565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003b6e565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003fdd565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003ad1565b90506000866040516200219e9062003607565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003607565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c083165900062003163565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a000062003163565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf5263400062003163565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c083165900062003163565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a000062003163565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf5263400062003163565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50505050886001600160a01b03166340c10f19620025c7732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200261157600080fd5b505af115801562002626573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002694573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026ba919062003dae565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200271f57600080fd5b505af115801562002734573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018481526020016200276e732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016103e881526020018b6001600160a01b03168152509050600081604051602001620027af919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620027ef9087908590600401620037c7565b6020604051808303816000875af11580156200280f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002835919062003ad1565b506040518060c00160405280600281526020018581526020016200286a732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016101f481526020018c6001600160a01b0316815250915081604051602001620028a9919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620028e99087908590600401620037c7565b6020604051808303816000875af115801562002909573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200292f919062003ad1565b506040518060c001604052806003815260200185815260200162002964732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b031681526020016001815260200161038481526020018c6001600160a01b0316815250915081604051602001620029a3919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620029e39087908590600401620037c7565b6020604051808303816000875af115801562002a03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a29919062003ad1565b5060006040518060c001604052806001815260200185815260200162002a60732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002aa1919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002ae19088908590600401620037c7565b6020604051808303816000875af115801562002b01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b27919062003ad1565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b8757600080fd5b505af115801562002b9c573d6000803e3d6000fd5b5050505062002be16040518060400160405280600a81526020017f506f6f6c49643a20257300000000000000000000000000000000000000000000815250876200317c565b62002c226040518060400160405280601281526020017f53747261746567793120416464723a202573000000000000000000000000000081525089620031e2565b62002c636040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a20257300000000000000000000000000815250866200317c565b62002ca46040518060400160405280601281526020017f53747261746567793220416464723a202573000000000000000000000000000081525088620031e2565b62002ce56040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f620031e2565b62002d266040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e620031e2565b62002d7b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee620031e2565b62002dbc6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a620031e2565b62002dfd6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d620031e2565b62002e596040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002e53732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b620031e2565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002ea791906001600160a01b0316620031e2565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e61676572000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600b81526020017f72616e646f6d20636861640000000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f7472656173757279000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e65720000000000000000000000000000000000008152506200314f565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b60008481620030866200307f62989680608087901b620040d2565b8362003244565b905060806f80000000000000000000000000000000620030aa8662989680620040f5565b620030ba84600160801b620040f5565b620030c9629896808a6200410b565b620030d591906200410b565b620030e19190620040d2565b620030ed89856200410b565b620030f9919062004125565b62003105919062004125565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200315c82620032f9565b5092915050565b60006200317664174876e80083620040d2565b92915050565b620031de8282604051602401620031959291906200413b565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc000000000000000000000000000000000000000000000000000000001790526200342e565b5050565b620031de8282604051602401620031fb9291906200415f565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200342e565b6000600160801b83106200329b5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b8015620032f15780600116600003620032ce57620032c382836200343c565b915060011c620032a4565b620032da83836200343c565b9250620032e9600182620040f5565b9050620032a4565b505092915050565b600080826040516020016200330f919062003fbf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003391573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620033b7919062003ad1565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033f590859087906004016200418c565b600060405180830381600087803b1580156200341057600080fd5b505af115801562003425573d6000803e3d6000fd5b50505050915091565b620034398162003543565b50565b6000600160801b831115620034ba5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b82106200350f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f800000000000000000000000000000006200352e84866200410b565b6200353a919062004125565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b61085280620041b183390190565b6135948062004a0383390190565b610e678062007f9783390190565b6127688062008dfe83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620035fa604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b56683390190565b6001600160a01b03811681146200343957600080fd5b6000602082840312156200363e57600080fd5b81356200364b8162003615565b9392505050565b600081518084526020808501945080840160005b838110156200368d5781516001600160a01b03168752958201959082019060010162003666565b509495945050505050565b6020815260006200364b602083018462003652565b60005b83811015620036ca578181015183820152602001620036b0565b50506000910152565b60008151808452620036ed816020860160208601620036ad565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015620037b757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015620037a057605f198985030183526200378d848651620036d3565b948e01949350918d01916001016200376e565b505050978a01979450509188019160010162003728565b50919a9950505050505050505050565b828152604060208201526000620037e26040830184620036d3565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200389257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200387c5783516001600160e01b0319168252928b019260019290920191908b019062003850565b50978a0197955050509187019160010162003812565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715620038e357620038e3620038a1565b604052919050565b600067ffffffffffffffff821115620039085762003908620038a1565b50601f01601f191660200190565b6000806000606084860312156200392c57600080fd5b8335620039398162003615565b925060208401359150604084013567ffffffffffffffff8111156200395d57600080fd5b8401601f810186136200396f57600080fd5b8035620039866200398082620038eb565b620038b7565b8181528760208385010111156200399c57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562003a1557603f1988860301845262003a02858351620036d3565b94509285019290850190600101620039e3565b5092979650505050505050565b600080600080600060a0868803121562003a3b57600080fd5b853562003a488162003615565b9450602086013562003a5a8162003615565b9350604086013562003a6c8162003615565b9250606086013562003a7e8162003615565b9150608086013562003a908162003615565b809150509295509295909350565b6000806000806080858703121562003ab557600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003ae457600080fd5b81516200364b8162003615565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003b1d8184018b62003652565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003b8357607f821691505b60208210810362003ba457634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003bbd57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003bed5762003bed62003bc4565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003c1d8285018d620036d3565b925062003c2e606085018c62003bda565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003c7b57600080fd5b815167ffffffffffffffff81111562003c9357600080fd5b8201601f8101841362003ca557600080fd5b805162003cb66200398082620038eb565b81815285602083850101111562003ccc57600080fd5b62003cdf826020830160208601620036ad565b95945050505050565b60008060006060848603121562003cfe57600080fd5b835160ff8116811462003d1057600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003d538285018d620036d3565b915062003d64606085018c62003bda565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d9d8185620036d3565b9d9c50505050505050505050505050565b60006020828403121562003dc157600080fd5b815180151581146200364b57600080fd5b805182526000602082015160406020850152620037e26040850182620036d3565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003e4260e083018662003dd2565b6001600160a01b0385166060840152828103608084015262003e65818562003652565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e9c60e085018a620036d3565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003edd57607f821691505b878210810362003efb57634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003f1f576001811462003f365762003f63565b60ff198416875282151560051b8701945062003f63565b60008681526020902060005b8481101562003f5d57815489820152908901908a0162003f42565b88019550505b5050505086810360c088015262003f7b818962003652565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003fb1816004850160208701620036ad565b919091016004019392505050565b6000825162003fd3818460208701620036ad565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200403a61010085018262003dd2565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004098576200409862003bc4565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b600082620040f057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620031765762003176620040bc565b8082028115828204841417620031765762003176620040bc565b80820180821115620031765762003176620040bc565b604081526000620041506040830185620036d3565b90508260208301529392505050565b604081526000620041746040830185620036d3565b90506001600160a01b03831660208301529392505050565b6001600160a01b0383168152604060208201526000620037e26040830184620036d356fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220955617b70978c6effaa1868be3d00741fac2396e6e354778fdfa8f958a99a00664736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;939:4354:92;534:52:96;;;1572:26:44;939:4354:92;534:52:96;;;;;;-1:-1:-1;;;534:52:96;;;;;;507:79;;;;939:4354:92;;507:79:96;;;;;;;:::i;:::-;-1:-1:-1;;800:28:46;;;-1:-1:-1;;800:28:46;824:4;800:28;;;;;;339:34:100;;-1:-1:-1;939:4354:92;;;;;;;;;;;;14:127:101;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;:::-;939:4354:92;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c3660046200362b565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e3919062003698565b6200048962000c2e565b604051620003e3919062003701565b620004a262000d7c565b604051620003e3929190620037c7565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e39190620037ea565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003916565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e39190620039bc565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe3660046200362b565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003a22565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002eb8565b620003cf62002efa565b620003cf62002f3c565b620003cf62002f7e565b620003cf62002fc0565b6200047062003002565b6200041d620006d136600462003a9e565b62003064565b620003cf62003112565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657231000000000000000000000000000000000000008152506200314f565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d626572000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f726563697069656e7432000000000000000000000000000000000000000000008152506200314f565b6020546000906001600160a01b031662000b35576000604051620007ec9062003564565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b9062003572565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003ad1565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003af1565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003b07565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657231000000000000000000000000000000008152506200314f565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003b6e565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003b6e565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657231000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280601081526020017f726563697069656e7441646472657373000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600981526020017f726563697069656e7400000000000000000000000000000000000000000000008152506200314f565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657232000000000000000000000000000000000000008152506200314f565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003baa565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003bf1565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003c68565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003ce8565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003d27565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003dae565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003af1565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e7400000000000000000000000000000000000000008152506200314f565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003af1565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657232000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e6572000000000000000000000000000000000000000000008152506200314f565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003b6e565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657232000000000000000000000000000000008152506200314f565b601554600090620017b057816001600160a01b0316633a92f65f60016040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003df3565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003baa565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003af1565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e7431000000000000000000000000000000000000000000008152506200314f565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d80062003163565b6020820152620019a16702c68af0bb14000062003163565b6040820152620019b866038d7ea4c6800062003163565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003af1565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003af1565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003e70565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003baa565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003b6e565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003b6e565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003f8d565b60408051601f198184030181529082905262001d149162003fbf565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003dae565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003ad1565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f349062003580565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003ad1565b9050600060405162001fcd906200358e565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff76200359c565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003b6e565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003b6e565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003fdd565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003ad1565b90506000866040516200219e9062003607565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003607565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c083165900062003163565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a000062003163565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf5263400062003163565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c083165900062003163565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a000062003163565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf5263400062003163565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50505050886001600160a01b03166340c10f19620025c7732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200261157600080fd5b505af115801562002626573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002694573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026ba919062003dae565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200271f57600080fd5b505af115801562002734573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018481526020016200276e732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016103e881526020018b6001600160a01b03168152509050600081604051602001620027af919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620027ef9087908590600401620037c7565b6020604051808303816000875af11580156200280f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002835919062003ad1565b506040518060c00160405280600281526020018581526020016200286a732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600181526020016101f481526020018c6001600160a01b0316815250915081604051602001620028a9919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620028e99087908590600401620037c7565b6020604051808303816000875af115801562002909573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200292f919062003ad1565b506040518060c001604052806003815260200185815260200162002964732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b031681526020016001815260200161038481526020018c6001600160a01b0316815250915081604051602001620029a3919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620029e39087908590600401620037c7565b6020604051808303816000875af115801562002a03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a29919062003ad1565b5060006040518060c001604052806001815260200185815260200162002a60732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002aa1919062004053565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002ae19088908590600401620037c7565b6020604051808303816000875af115801562002b01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b27919062003ad1565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b8757600080fd5b505af115801562002b9c573d6000803e3d6000fd5b5050505062002be16040518060400160405280600a81526020017f506f6f6c49643a20257300000000000000000000000000000000000000000000815250876200317c565b62002c226040518060400160405280601281526020017f53747261746567793120416464723a202573000000000000000000000000000081525089620031e2565b62002c636040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a20257300000000000000000000000000815250866200317c565b62002ca46040518060400160405280601281526020017f53747261746567793220416464723a202573000000000000000000000000000081525088620031e2565b62002ce56040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f620031e2565b62002d266040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e620031e2565b62002d7b6040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee620031e2565b62002dbc6040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a620031e2565b62002dfd6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d620031e2565b62002e596040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002e53732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b620031e2565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002ea791906001600160a01b0316620031e2565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e61676572000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e65720000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600b81526020017f72616e646f6d20636861640000000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f7472656173757279000000000000000000000000000000000000008152506200314f565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e65720000000000000000000000000000000000008152506200314f565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b60008481620030866200307f62989680608087901b620040d2565b8362003244565b905060806f80000000000000000000000000000000620030aa8662989680620040f5565b620030ba84600160801b620040f5565b620030c9629896808a6200410b565b620030d591906200410b565b620030e19190620040d2565b620030ed89856200410b565b620030f9919062004125565b62003105919062004125565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200315c82620032f9565b5092915050565b60006200317664174876e80083620040d2565b92915050565b620031de8282604051602401620031959291906200413b565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc000000000000000000000000000000000000000000000000000000001790526200342e565b5050565b620031de8282604051602401620031fb9291906200415f565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200342e565b6000600160801b83106200329b5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b8015620032f15780600116600003620032ce57620032c382836200343c565b915060011c620032a4565b620032da83836200343c565b9250620032e9600182620040f5565b9050620032a4565b505092915050565b600080826040516020016200330f919062003fbf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801562003391573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620033b7919062003ad1565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033f590859087906004016200418c565b600060405180830381600087803b1580156200341057600080fd5b505af115801562003425573d6000803e3d6000fd5b50505050915091565b620034398162003543565b50565b6000600160801b831115620034ba5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b82106200350f5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f800000000000000000000000000000006200352e84866200410b565b6200353a919062004125565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b61085280620041b183390190565b6135948062004a0383390190565b610e678062007f9783390190565b6127688062008dfe83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620035fa604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b56683390190565b6001600160a01b03811681146200343957600080fd5b6000602082840312156200363e57600080fd5b81356200364b8162003615565b9392505050565b600081518084526020808501945080840160005b838110156200368d5781516001600160a01b03168752958201959082019060010162003666565b509495945050505050565b6020815260006200364b602083018462003652565b60005b83811015620036ca578181015183820152602001620036b0565b50506000910152565b60008151808452620036ed816020860160208601620036ad565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015620037b757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015620037a057605f198985030183526200378d848651620036d3565b948e01949350918d01916001016200376e565b505050978a01979450509188019160010162003728565b50919a9950505050505050505050565b828152604060208201526000620037e26040830184620036d3565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200389257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200387c5783516001600160e01b0319168252928b019260019290920191908b019062003850565b50978a0197955050509187019160010162003812565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715620038e357620038e3620038a1565b604052919050565b600067ffffffffffffffff821115620039085762003908620038a1565b50601f01601f191660200190565b6000806000606084860312156200392c57600080fd5b8335620039398162003615565b925060208401359150604084013567ffffffffffffffff8111156200395d57600080fd5b8401601f810186136200396f57600080fd5b8035620039866200398082620038eb565b620038b7565b8181528760208385010111156200399c57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562003a1557603f1988860301845262003a02858351620036d3565b94509285019290850190600101620039e3565b5092979650505050505050565b600080600080600060a0868803121562003a3b57600080fd5b853562003a488162003615565b9450602086013562003a5a8162003615565b9350604086013562003a6c8162003615565b9250606086013562003a7e8162003615565b9150608086013562003a908162003615565b809150509295509295909350565b6000806000806080858703121562003ab557600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003ae457600080fd5b81516200364b8162003615565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003b1d8184018b62003652565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003b8357607f821691505b60208210810362003ba457634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003bbd57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003bed5762003bed62003bc4565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003c1d8285018d620036d3565b925062003c2e606085018c62003bda565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003c7b57600080fd5b815167ffffffffffffffff81111562003c9357600080fd5b8201601f8101841362003ca557600080fd5b805162003cb66200398082620038eb565b81815285602083850101111562003ccc57600080fd5b62003cdf826020830160208601620036ad565b95945050505050565b60008060006060848603121562003cfe57600080fd5b835160ff8116811462003d1057600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003d538285018d620036d3565b915062003d64606085018c62003bda565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d9d8185620036d3565b9d9c50505050505050505050505050565b60006020828403121562003dc157600080fd5b815180151581146200364b57600080fd5b805182526000602082015160406020850152620037e26040850182620036d3565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003e4260e083018662003dd2565b6001600160a01b0385166060840152828103608084015262003e65818562003652565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e9c60e085018a620036d3565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003edd57607f821691505b878210810362003efb57634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003f1f576001811462003f365762003f63565b60ff198416875282151560051b8701945062003f63565b60008681526020902060005b8481101562003f5d57815489820152908901908a0162003f42565b88019550505b5050505086810360c088015262003f7b818962003652565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003fb1816004850160208701620036ad565b919091016004019392505050565b6000825162003fd3818460208701620036ad565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200403a61010085018262003dd2565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004098576200409862003bc4565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b600082620040f057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620031765762003176620040bc565b8082028115828204841417620031765762003176620040bc565b80820180821115620031765762003176620040bc565b604081526000620041506040830185620036d3565b90508260208301529392505050565b604081526000620041746040830185620036d3565b90506001600160a01b03831660208301529392505050565b6001600160a01b0383168152604060208201526000620037e26040830184620036d356fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220955617b70978c6effaa1868be3d00741fac2396e6e354778fdfa8f958a99a00664736f6c63430008130033","sourceMap":"939:4354:92:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:100:-;;;;;-1:-1:-1;;;;;269:28:100;;;4045:101:38;;;:::i;1021:42:92:-;;1061:2;1021:42;;;;;644:25:101;;;632:2;617:18;1021:42:92;498:177:101;226:92:38;306:4;226:92;;905:138;968:7;905:138;;380:708:100;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;507:79:96:-;;;:::i;:::-;;;;;;;;:::i;3221:133:51:-;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;1070:75:92:-;;1103:42;1070:75;;4152:99:38;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:100:-;;;;;;;;-1:-1:-1;;;;;240:23:100;;;1885:763;;;;;;:::i;:::-;;:::i;:::-;;2792:241:38;;;:::i;4376:105::-;;;:::i;339:34:100:-;;;;;;1989:232:38;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;304:29:100:-;;;;;-1:-1:-1;;;;;304:29:100;;;1152:103:92;1103:42;1152:103;;3485:113:38;;;:::i;799:361:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1166:1463:96:-;;;;;;:::i;:::-;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;10067:14:101;;10060:22;10042:41;;10030:2;10015:18;1819:584:44;9902:187:101;1379:3912:92;;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:51:-;;;:::i;3483:378:96:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;800:28:46:-;;;;;;;;;1572:26:44;;;;;;;;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;380:708:100:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:100;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:100;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:100;;-1:-1:-1;;;;;;592:52:100;;;;;;;-1:-1:-1;;;;;10996:55:101;;;592:52:100;;;10978:74:101;11088:2;11068:18;;;11061:30;642:1:100;11107:18:101;;;11100:29;;;11181:18;;;11174:34;11146:19;;592:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;;;-1:-1:-1;;;;;658:45:100;;;;;;;;717:54;;;-1:-1:-1;;;717:54:100;;;;;11706:74:101;;;;11796:18;;;11789:30;11855:2;11835:18;;;11828:30;11894:17;11874:18;;;11867:45;658::100;;-1:-1:-1;717:8:100;;;;11929:19:101;;717:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:100;;;-1:-1:-1;;;785:45:100;;-1:-1:-1;;;;;12189:55:101;;785:45:100;;;12171:74:101;12261:18;;;12254:30;;;;12320:2;12300:18;;;12293:30;12359:18;12339;;;12332:46;785:8:100;;-1:-1:-1;785:8:100;;-1:-1:-1;12395:19:101;;785:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:100;;-1:-1:-1;884:1:100;;-1:-1:-1;870:16:100;;-1:-1:-1;870:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:100;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:100;;;:9;;;;;;;;;;:27;;;;941:16;:97;;;;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:100;;-1:-1:-1;;;;;1065:16:100;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;507:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:100:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:100;-1:-1:-1;;;;;1993:33:100;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:100;-1:-1:-1;;;;;2240:17:100;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:100;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;16517:25:101;;;;16558:18;;;16551:34;;;2301:17:100;;-1:-1:-1;2301:17:100;2280:18;;;;;;2363:7;;;;16490:18:101;;2363:36:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;17177:19:101;;;17212:12;;;17205:28;;;17285:66;17271:3;17267:16;;;17263:89;17249:12;;;17242:111;2435:25:100;;;;;;;;;17369:12:101;;;2435:25:100;;;;2489:11;;:152;;;;17267:16:101;;-1:-1:-1;17177:19:101;;-1:-1:-1;17205:28:101;;-1:-1:-1;2489:11:100;;;-1:-1:-1;;;;;2489:11:100;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:100;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:113:38;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;799:361:96:-;891:16;;868:7;;887:234;;956:8;-1:-1:-1;;;;;956:22:96;;996:1;1017:48;;;;;;;;1037:1;1017:48;;;;;;;;;;;;;;;;;;;;;;;;1067:12;1103:42:92;;1152:103;1067:12:96;1081:15;:13;:15::i;:::-;956:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;937:16;:173;887:234;-1:-1:-1;;1137:16:96;;;799:361::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1166:1463:96:-;-1:-1:-1;;;;;;;;1307:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1454:30:96;1468:15;1454:13;:30::i;:::-;1439:12;;;:45;1601:24;1615:9;1601:13;:24::i;:::-;1583:15;;;:42;1670:26;1684:11;1670:13;:26::i;:::-;1654:13;;;;:42;;;;-1:-1:-1;;;;;1793:40:96;;;;1878:16;;;1892:1;1878:16;;;;;;;;-1:-1:-1;;1878:16:96;;;;;;;;;;;;-1:-1:-1;1878:16:96;1844:50;;1932:4;1904:14;1919:1;1904:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;1904:33:96;;;-1:-1:-1;;;;;1904:33:96;;;;;1975:10;1947:14;1962:1;1947:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1947:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2273:19:96;;;2269:64;;-1:-1:-1;2317:5:96;2269:64;2351:4;-1:-1:-1;;;;;2351:33:96;;2439:25;2455:8;2439:15;:25::i;:::-;2509:18;;;20406:13:101;;-1:-1:-1;;;;;20402:62:101;2509:18:96;;;;20384:81:101;;;;20509:17;;20503:24;20481:20;;;20474:54;20572:17;;;20566:24;20544:20;;;;20537:54;;;;20635:17;;20629:24;20607:20;;;20600:54;2486:8:96;;20356:19:101;;2509:18:96;;;;;;;;;;;;2541:6;2561:1;2576:8;2598:14;2351:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:280;1166:1463;-1:-1:-1;;;;;;;;;1166:1463:96:o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23135:74:101;;;2221:17:44;23225:18:101;;;23218:34;2196:43:44;;;;;;;;;23108:18:101;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;1379:3912:92:-;1432:27;;;;;24192:2:101;1432:27:92;;;24174:21:101;24231:2;24211:18;;;24204:30;24270:12;24250:18;;;24243:40;1411:18:92;;1432:13;;;;24300:18:101;;1432:27:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1411:48;-1:-1:-1;;;;;;1473:24:92;;1469:83;;1513:28;;-1:-1:-1;;;1513:28:92;;24787:2:101;1513:28:92;;;24769:21:101;24826:2;24806:18;;;24799:30;24865:20;24845:18;;;24838:48;24903:18;;1513:28:92;;;;;;;;1469:83;1579:10;1601:17;;1103:42;1601:31;;-1:-1:-1;;;;;;1601:31:92;;;;;;;-1:-1:-1;;;;;178:55:101;;;1601:31:92;;;160:74:101;133:18;;1601:31:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:16;1662;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1643:35;;1689:18;1710:4;-1:-1:-1;;;;;1710:16:92;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1689:39;;1739:31;1773:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1739:55;;1805:46;;:::i;:::-;-1:-1:-1;;;;;1862:28:92;;;;;1900:44;;:19;;;;:44;;;;1061:2;1954:26;;;;:42;;;;1862:12;2006:19;;;:23;2039:27;;;;;;;;2058:8;2039:27;;;;;;;;;2058:8;;2039:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:27:92;;;;-1:-1:-1;;;2039:16:92;;;:27;2132:35;1103:42;380:708:100;:::i;2132:35:92:-;-1:-1:-1;;;;;2094:75:92;;;:19;;;:75;2230:38;;;;;2180:31;;2230:30;;;;;:38;;2094:6;;2230:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2180:89;;2316:20;2362:4;2339:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2339:29:92;;;;;;;;;;;;;;;;;;;;;;;2316:52;;2378:20;2424:4;2401:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2401:29:92;;;;;;;;;;;;;;;;;;;;;;;2378:52;;2441:14;2470:103;2494:4;2510:9;2530:15;2548:8;2566:5;2470:10;:103::i;:::-;2441:132;;2584:23;2622:99;2646:4;2662:9;2682:15;2700:8;2718:1;2622:10;:99::i;:::-;2584:137;;2732:9;-1:-1:-1;;;;;2732:18:92;;2751:30;2765:15;2751:13;:30::i;:::-;2732:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2732:50:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2809:9;-1:-1:-1;;;;;2809:21:92;;2831:24;2845:9;2831:13;:24::i;:::-;2809:47;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2809:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2885:9;-1:-1:-1;;;;;2885:19:92;;2905:27;2919:12;2905:13;:27::i;:::-;2885:48;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2885:48:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2994:9;-1:-1:-1;;;;;2994:18:92;;3013:30;3027:15;3013:13;:30::i;:::-;2994:50;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;2994:50:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3071:9;-1:-1:-1;;;;;3071:21:92;;3093:24;3107:9;3093:13;:24::i;:::-;3071:47;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;3071:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3147:9;-1:-1:-1;;;;;3147:19:92;;3167:27;3181:12;3167:13;:27::i;:::-;3147:48;;;;;;;;;;;;;644:25:101;;632:2;617:18;;498:177;3147:48:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3227:9;-1:-1:-1;;;;;3227:24:92;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3263:9;-1:-1:-1;;;;;3263:24:92;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3370:5;-1:-1:-1;;;;;3370:10:92;;3389:12;1103:42;;1152:103;3389:12;3370:41;;-1:-1:-1;;;;;;3370:41:92;;;;;;;-1:-1:-1;;;;;23153:55:101;;;3370:41:92;;;23135:74:101;3404:6:92;23225:18:101;;;23218:34;23108:18;;3370:41:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3421:47:92;;;;;-1:-1:-1;;;;;23153:55:101;;;3421:47:92;;;23135:74:101;-1:-1:-1;;23225:18:101;;;23218:34;3421:13:92;;;-1:-1:-1;3421:13:92;;-1:-1:-1;23108:18:101;;3421:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3478:28:92;;;;;;;;16517:25:101;;;3500:5:92;16558:18:101;;;16551:34;-1:-1:-1;;;;;3478:13:92;;;;;16490:18:101;;3478:28:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3517:41;3561:131;;;;;;;;3600:1;3561:131;;;;3603:6;3561:131;;;;3611:12;1103:42;;1152:103;3611:12;-1:-1:-1;;;;;3561:131:92;;;;;3625:31;3561:131;;;;3658:8;3561:131;;;;3676:5;-1:-1:-1;;;;;3561:131:92;;;;3517:175;;3702:17;3733:8;3722:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3722:20:92;;;;;;;;;;-1:-1:-1;;;3752:36:92;;3722:20;-1:-1:-1;;;;;;3752:22:92;;;;;:36;;3775:6;;3722:20;;3752:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3822:108;;;;;;;;3848:1;3822:108;;;;3851:6;3822:108;;;;3859:12;1103:42;;1152:103;3859:12;-1:-1:-1;;;;;3822:108:92;;;;;3873:31;3822:108;;;;3906:7;3822:108;;;;3923:5;-1:-1:-1;;;;;3822:108:92;;;;3799:131;;3958:8;3947:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3947:20:92;;;;;;;;;;-1:-1:-1;;;3977:36:92;;3947:20;-1:-1:-1;;;;;;3977:22:92;;;;;:36;;4000:6;;3947:20;;3977:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4047:108;;;;;;;;4073:1;4047:108;;;;4076:6;4047:108;;;;4084:12;1103:42;;1152:103;4084:12;-1:-1:-1;;;;;4047:108:92;;;;;4098:31;4047:108;;;;4131:7;4047:108;;;;4148:5;-1:-1:-1;;;;;4047:108:92;;;;4024:131;;4183:8;4172:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4172:20:92;;;;;;;;;;-1:-1:-1;;;4202:36:92;;4172:20;-1:-1:-1;;;;;;4202:22:92;;;;;:36;;4225:6;;4172:20;;4202:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4281:42;4326:131;;;;;;;;4365:1;4326:131;;;;4368:15;4326:131;;;;4385:12;1103:42;;1152:103;4385:12;-1:-1:-1;;;;;4326:131:92;;;;;4399:33;4326:131;;;;4434:1;4326:131;;;;4445:1;-1:-1:-1;;;;;4326:131:92;;;;4281:176;;4467:18;4499:9;4488:21;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4488:21:92;;;;;;;;;;-1:-1:-1;;;4519:46:92;;4488:21;-1:-1:-1;;;;;;4519:22:92;;;;;:46;;4542:15;;4488:21;;4519:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;317:28:45;309:37;;-1:-1:-1;;;;;4576:16:92;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4605:34;;;;;;;;;;;;;;;;;;4632:6;4605:12;:34::i;:::-;4649:54;;;;;;;;;;;;;;;;;;4692:9;4649:12;:54::i;:::-;4714:52;;;;;;;;;;;;;;;;;;4750:15;4714:12;:52::i;:::-;4776:54;;;;;;;;;;;;;;;;;;4819:9;4776:12;:54::i;:::-;4841:44;;;;;;;;;;;;;;;;;;4879:4;4841:12;:44::i;:::-;4895:46;;;;;;;;;;;;;;;;;;4934:5;4895:12;:46::i;:::-;4951:54;;;;;;;;;;;;;;;;;;4445:42:9;4951:12:92;:54::i;:::-;5016:67;;;;;;;;;;;;;;;;;;5066:15;5016:12;:67::i;:::-;5094:57;;;;;;;;;;;;;;;;;;5141:8;5094:12;:57::i;:::-;5161:49;;;;;;;;;;;;;;;;;;5197:12;1103:42;;1152:103;5197:12;5161;:49::i;:::-;5220:64;;;;;;;;;;;;;;;;;;;;;5266:16;5220:64;;;-1:-1:-1;;;;;5266:16:92;5220:12;:64::i;:::-;1401:3890;;;;;;;;;;;;;;;1379:3912::o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3483:378:96:-;3633:7;3668:11;3633:7;3709:27;3714:18;785:7;3724:3;3715:12;;;3714:18;:::i;:::-;3734:1;3709:4;:27::i;:::-;3689:47;-1:-1:-1;3851:3:96;691:8;3824:9;3828:5;785:7;3824:9;:::i;:::-;3800:19;3810:9;-1:-1:-1;;;3800:19:96;:::i;:::-;3782:14;785:7;3782:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;3756:21;3768:9;3756;:21;:::i;:::-;3755:80;;;;:::i;:::-;3754:92;;;;:::i;:::-;3753:101;;;3483:378;-1:-1:-1;;;;;;;3483:378:96:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;2635:114:96:-;2698:7;2724:18;2734:8;2724:7;:18;:::i;:::-;2717:25;2635:114;-1:-1:-1;;2635:114:96:o;7546:145:60:-;7613:71;7676:2;7680;7629:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7629:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;7629:54:60;;;;;7613:15;:71::i;:::-;7546:145;;:::o;8147:::-;8214:71;8277:2;8281;8230:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8230:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;8230:54:60;;;;;8214:15;:71::i;3030:447:96:-;3091:15;-1:-1:-1;;;3126:2:96;:12;3118:53;;;;-1:-1:-1;;;3118:53:96;;29780:2:101;3118:53:96;;;29762:21:101;29819:2;29799:18;;;29792:30;29858;29838:18;;;29831:58;29906:18;;3118:53:96;29578:352:101;3118:53:96;-1:-1:-1;;;;3193:2:96;3217;3256:215;3263:5;;3256:215;;3288:1;3292;3288:5;3297:1;3288:10;3284:177;;3322:10;3327:1;3330;3322:4;:10::i;:::-;3318:14;-1:-1:-1;3356:1:96;3350:7;3256:215;;3284:177;3406:16;3411:7;3420:1;3406:4;:16::i;:::-;3396:26;-1:-1:-1;3440:6:96;3445:1;3440:6;;:::i;:::-;;;3256:215;;;3108:369;;3030:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;868:133:60:-;939:55;986:7;965:19;939:55::i;:::-;868:133;:::o;2755:269:96:-;2816:15;-1:-1:-1;;;2851:2:96;:13;;2843:66;;;;-1:-1:-1;;;2843:66:96;;30776:2:101;2843:66:96;;;30758:21:101;30815:2;30795:18;;;30788:30;30854:34;30834:18;;;30827:62;30925:10;30905:18;;;30898:38;30953:19;;2843:66:96;30574:404:101;2843:66:96;-1:-1:-1;;;2927:2:96;:12;2919:53;;;;-1:-1:-1;;;2919:53:96;;31185:2:101;2919:53:96;;;31167:21:101;31224:2;31204:18;;;31197:30;31263;31243:18;;;31236:58;31311:18;;2919:53:96;30983:352:101;2919:53:96;3014:3;691:8;2991:7;2996:2;2991;:7;:::i;:::-;2990:19;;;;:::i;:::-;2989:28;;;2755:269;-1:-1:-1;;;2755:269:96:o;1007:380:60:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;680:154:101:-;-1:-1:-1;;;;;759:5:101;755:54;748:5;745:65;735:93;;824:1;821;814:12;839:247;898:6;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;839:247;-1:-1:-1;;;839:247:101:o;1257:484::-;1310:3;1348:5;1342:12;1375:6;1370:3;1363:19;1401:4;1430:2;1425:3;1421:12;1414:19;;1467:2;1460:5;1456:14;1488:1;1498:218;1512:6;1509:1;1506:13;1498:218;;;1577:13;;-1:-1:-1;;;;;1573:62:101;1561:75;;1656:12;;;;1691:15;;;;1534:1;1527:9;1498:218;;;-1:-1:-1;1732:3:101;;1257:484;-1:-1:-1;;;;;1257:484:101:o;1746:261::-;1925:2;1914:9;1907:21;1888:4;1945:56;1997:2;1986:9;1982:18;1974:6;1945:56;:::i;2012:250::-;2097:1;2107:113;2121:6;2118:1;2115:13;2107:113;;;2197:11;;;2191:18;2178:11;;;2171:39;2143:2;2136:10;2107:113;;;-1:-1:-1;;2254:1:101;2236:16;;2229:27;2012:250::o;2267:271::-;2309:3;2347:5;2341:12;2374:6;2369:3;2362:19;2390:76;2459:6;2452:4;2447:3;2443:14;2436:4;2429:5;2425:16;2390:76;:::i;:::-;2520:2;2499:15;-1:-1:-1;;2495:29:101;2486:39;;;;2527:4;2482:50;;2267:271;-1:-1:-1;;2267:271:101:o;2543:1767::-;2778:2;2830:21;;;2900:13;;2803:18;;;2922:22;;;2749:4;;2778:2;2963;;2981:18;;;;3018:1;3061:15;;;3046:31;;3042:40;;3105:15;;;2749:4;;3169:1112;3185:6;3180:3;3177:15;3169:1112;;;-1:-1:-1;;3254:22:101;;;3250:36;3238:49;;3310:13;;3397:9;;-1:-1:-1;;;;;3393:58:101;3378:74;;3491:11;;3485:18;3523:15;;;3516:27;;;3604:19;;3350:15;;;3636:24;;;3817:21;;;;3683:2;3765:17;;;3753:30;;3749:39;;;3707:15;;;;3862:1;3876:296;3892:8;3887:3;3884:17;3876:296;;;3998:2;3994:7;3985:6;3977;3973:19;3969:33;3962:5;3955:48;4030:42;4065:6;4054:8;4048:15;4030:42;:::i;:::-;4101:17;;;;4020:52;-1:-1:-1;4144:14:101;;;;3920:1;3911:11;3876:296;;;-1:-1:-1;;;4259:12:101;;;;4195:6;-1:-1:-1;;4224:15:101;;;;3211:1;3202:11;3169:1112;;;-1:-1:-1;4298:6:101;;2543:1767;-1:-1:-1;;;;;;;;;;2543:1767:101:o;4315:291::-;4492:6;4481:9;4474:25;4535:2;4530;4519:9;4515:18;4508:30;4455:4;4555:45;4596:2;4585:9;4581:18;4573:6;4555:45;:::i;:::-;4547:53;4315:291;-1:-1:-1;;;;4315:291:101:o;4611:1638::-;4815:4;4844:2;4884;4873:9;4869:18;4914:2;4903:9;4896:21;4937:6;4972;4966:13;5003:6;4995;4988:22;5029:2;5019:12;;5062:2;5051:9;5047:18;5040:25;;5124:2;5114:6;5111:1;5107:14;5096:9;5092:30;5088:39;5162:2;5154:6;5150:15;5183:1;5204;5214:1006;5230:6;5225:3;5222:15;5214:1006;;;5299:22;;;-1:-1:-1;;5295:36:101;5283:49;;5355:13;;5442:9;;-1:-1:-1;;;;;5438:58:101;5423:74;;5536:11;;5530:18;5568:15;;;5561:27;;;5649:19;;5395:15;;;5681:24;;;5771:21;;;;5816:1;;5739:2;5727:15;;;5830:282;5846:8;5841:3;5838:17;5830:282;;;5927:15;;-1:-1:-1;;;;;;5923:88:101;5909:103;;6081:17;;;;5874:1;5865:11;;;;;6038:14;;;;5830:282;;;-1:-1:-1;6198:12:101;;;;6135:5;-1:-1:-1;;;6163:15:101;;;;5256:1;5247:11;5214:1006;;;-1:-1:-1;6237:6:101;;4611:1638;-1:-1:-1;;;;;;;;;4611:1638:101:o;6254:184::-;-1:-1:-1;;;6303:1:101;6296:88;6403:4;6400:1;6393:15;6427:4;6424:1;6417:15;6443:275;6514:2;6508:9;6579:2;6560:13;;-1:-1:-1;;6556:27:101;6544:40;;6614:18;6599:34;;6635:22;;;6596:62;6593:88;;;6661:18;;:::i;:::-;6697:2;6690:22;6443:275;;-1:-1:-1;6443:275:101:o;6723:186::-;6771:4;6804:18;6796:6;6793:30;6790:56;;;6826:18;;:::i;:::-;-1:-1:-1;6892:2:101;6871:15;-1:-1:-1;;6867:29:101;6898:4;6863:40;;6723:186::o;6914:874::-;7000:6;7008;7016;7069:2;7057:9;7048:7;7044:23;7040:32;7037:52;;;7085:1;7082;7075:12;7037:52;7124:9;7111:23;7143:31;7168:5;7143:31;:::i;:::-;7193:5;-1:-1:-1;7245:2:101;7230:18;;7217:32;;-1:-1:-1;7300:2:101;7285:18;;7272:32;7327:18;7316:30;;7313:50;;;7359:1;7356;7349:12;7313:50;7382:22;;7435:4;7427:13;;7423:27;-1:-1:-1;7413:55:101;;7464:1;7461;7454:12;7413:55;7500:2;7487:16;7525:48;7541:31;7569:2;7541:31;:::i;:::-;7525:48;:::i;:::-;7596:2;7589:5;7582:17;7636:7;7631:2;7626;7622;7618:11;7614:20;7611:33;7608:53;;;7657:1;7654;7647:12;7608:53;7712:2;7707;7703;7699:11;7694:2;7687:5;7683:14;7670:45;7756:1;7751:2;7746;7739:5;7735:14;7731:23;7724:34;7777:5;7767:15;;;;;6914:874;;;;;:::o;7793:803::-;7955:4;7984:2;8024;8013:9;8009:18;8054:2;8043:9;8036:21;8077:6;8112;8106:13;8143:6;8135;8128:22;8181:2;8170:9;8166:18;8159:25;;8243:2;8233:6;8230:1;8226:14;8215:9;8211:30;8207:39;8193:53;;8281:2;8273:6;8269:15;8302:1;8312:255;8326:6;8323:1;8320:13;8312:255;;;8419:2;8415:7;8403:9;8395:6;8391:22;8387:36;8382:3;8375:49;8447:40;8480:6;8471;8465:13;8447:40;:::i;:::-;8437:50;-1:-1:-1;8545:12:101;;;;8510:15;;;;8348:1;8341:9;8312:255;;;-1:-1:-1;8584:6:101;;7793:803;-1:-1:-1;;;;;;;7793:803:101:o;9053:844::-;9179:6;9187;9195;9203;9211;9264:3;9252:9;9243:7;9239:23;9235:33;9232:53;;;9281:1;9278;9271:12;9232:53;9320:9;9307:23;9339:31;9364:5;9339:31;:::i;:::-;9389:5;-1:-1:-1;9446:2:101;9431:18;;9418:32;9459:33;9418:32;9459:33;:::i;:::-;9511:7;-1:-1:-1;9570:2:101;9555:18;;9542:32;9583:33;9542:32;9583:33;:::i;:::-;9635:7;-1:-1:-1;9694:2:101;9679:18;;9666:32;9707:33;9666:32;9707:33;:::i;:::-;9759:7;-1:-1:-1;9818:3:101;9803:19;;9790:33;9832;9790;9832;:::i;:::-;9884:7;9874:17;;;9053:844;;;;;;;;:::o;10341:385::-;10427:6;10435;10443;10451;10504:3;10492:9;10483:7;10479:23;10475:33;10472:53;;;10521:1;10518;10511:12;10472:53;-1:-1:-1;;10544:23:101;;;10614:2;10599:18;;10586:32;;-1:-1:-1;10665:2:101;10650:18;;10637:32;;10716:2;10701:18;10688:32;;-1:-1:-1;10341:385:101;-1:-1:-1;10341:385:101:o;11219:270::-;11308:6;11361:2;11349:9;11340:7;11336:23;11332:32;11329:52;;;11377:1;11374;11367:12;11329:52;11409:9;11403:16;11428:31;11453:5;11428:31;:::i;12425:184::-;-1:-1:-1;;;12474:1:101;12467:88;12574:4;12571:1;12564:15;12598:4;12595:1;12588:15;12614:1065;13056:4;13085:3;13115:2;13104:9;13097:21;13141:56;13193:2;13182:9;13178:18;13170:6;13141:56;:::i;:::-;13228:2;13213:18;;;13206:34;;;;-1:-1:-1;;;;;13337:15:101;;;13332:2;13317:18;;13310:43;13389:22;;;13384:2;13369:18;;13362:50;-1:-1:-1;13421:17:101;;13507:15;;;13501:3;13486:19;;13479:44;-1:-1:-1;;13560:15:101;;;13554:3;13539:19;;13532:44;13607:3;13592:19;;13585:35;;;;13657:15;;;13651:3;13636:19;;;13629:44;;;;13455:15;;12614:1065;-1:-1:-1;12614:1065:101:o;13684:437::-;13763:1;13759:12;;;;13806;;;13827:61;;13881:4;13873:6;13869:17;13859:27;;13827:61;13934:2;13926:6;13923:14;13903:18;13900:38;13897:218;;-1:-1:-1;;;13968:1:101;13961:88;14072:4;14069:1;14062:15;14100:4;14097:1;14090:15;13897:218;;13684:437;;;:::o;14126:184::-;14196:6;14249:2;14237:9;14228:7;14224:23;14220:32;14217:52;;;14265:1;14262;14255:12;14217:52;-1:-1:-1;14288:16:101;;14126:184;-1:-1:-1;14126:184:101:o;14315:::-;-1:-1:-1;;;14364:1:101;14357:88;14464:4;14461:1;14454:15;14488:4;14485:1;14478:15;14504:140;14585:1;14578:5;14575:12;14565:46;;14591:18;;:::i;:::-;14620;;14504:140::o;14649:1037::-;15056:4;15085:3;-1:-1:-1;;;;;15188:2:101;15180:6;15176:15;15165:9;15158:34;15228:6;15223:2;15212:9;15208:18;15201:34;15271:2;15266;15255:9;15251:18;15244:30;15291:45;15332:2;15321:9;15317:18;15309:6;15291:45;:::i;:::-;15283:53;;15345;15394:2;15383:9;15379:18;15371:6;15345:53;:::i;:::-;15429:3;15414:19;;15407:35;;;;-1:-1:-1;15473:3:101;15458:19;;15451:35;;;;15517:3;15502:19;;15495:35;;;;15567:15;;;15561:3;15546:19;;15539:44;15620:15;;;15614:3;15599:19;;15592:44;15667:3;15652:19;15645:35;;;;14649:1037;;-1:-1:-1;;;;14649:1037:101:o;15691:647::-;15770:6;15823:2;15811:9;15802:7;15798:23;15794:32;15791:52;;;15839:1;15836;15829:12;15791:52;15872:9;15866:16;15905:18;15897:6;15894:30;15891:50;;;15937:1;15934;15927:12;15891:50;15960:22;;16013:4;16005:13;;16001:27;-1:-1:-1;15991:55:101;;16042:1;16039;16032:12;15991:55;16071:2;16065:9;16096:48;16112:31;16140:2;16112:31;:::i;16096:48::-;16167:2;16160:5;16153:17;16207:7;16202:2;16197;16193;16189:11;16185:20;16182:33;16179:53;;;16228:1;16225;16218:12;16179:53;16241:67;16305:2;16300;16293:5;16289:14;16284:2;16280;16276:11;16241:67;:::i;:::-;16327:5;15691:647;-1:-1:-1;;;;;15691:647:101:o;16596:395::-;16682:6;16690;16698;16751:2;16739:9;16730:7;16726:23;16722:32;16719:52;;;16767:1;16764;16757:12;16719:52;16799:9;16793:16;16849:4;16842:5;16838:16;16831:5;16828:27;16818:55;;16869:1;16866;16859:12;16818:55;16937:2;16922:18;;16916:25;16981:2;16966:18;;;16960:25;16892:5;;16916:25;;-1:-1:-1;16960:25:101;16596:395;-1:-1:-1;;;16596:395:101:o;17392:1135::-;17825:4;17854:3;-1:-1:-1;;;;;17957:2:101;17949:6;17945:15;17934:9;17927:34;17997:6;17992:2;17981:9;17977:18;17970:34;18040:2;18035;18024:9;18020:18;18013:30;18066:45;18107:2;18096:9;18092:18;18084:6;18066:45;:::i;:::-;18052:59;;18120:53;18169:2;18158:9;18154:18;18146:6;18120:53;:::i;:::-;18210:6;18204:3;18193:9;18189:19;18182:35;18254:6;18248:3;18237:9;18233:19;18226:35;18298:6;18292:3;18281:9;18277:19;18270:35;18354:2;18346:6;18342:15;18336:3;18325:9;18321:19;18314:44;18407:2;18399:6;18395:15;18389:3;18378:9;18374:19;18367:44;;18460:9;18452:6;18448:22;18442:3;18431:9;18427:19;18420:51;18488:33;18514:6;18506;18488:33;:::i;:::-;18480:41;17392:1135;-1:-1:-1;;;;;;;;;;;;;17392:1135:101:o;18532:277::-;18599:6;18652:2;18640:9;18631:7;18627:23;18623:32;18620:52;;;18668:1;18665;18658:12;18620:52;18700:9;18694:16;18753:5;18746:13;18739:21;18732:5;18729:32;18719:60;;18775:1;18772;18765:12;18814:252;18901:5;18895:12;18890:3;18883:25;18865:3;18954:4;18947:5;18943:16;18937:23;18992:4;18985;18980:3;18976:14;18969:28;19013:47;19054:4;19049:3;19045:14;19031:12;19013:47;:::i;19071:902::-;19495:6;19484:9;19477:25;19538:3;19533:2;19522:9;19518:18;19511:31;19579:2;19573:3;19562:9;19558:19;19551:31;19619:16;19613:3;19602:9;19598:19;19591:45;19672:3;19667:2;19656:9;19652:18;19645:31;19458:4;19699:55;19749:3;19738:9;19734:19;19726:6;19699:55;:::i;:::-;-1:-1:-1;;;;;19794:6:101;19790:55;19785:2;19774:9;19770:18;19763:83;19895:9;19887:6;19883:22;19877:3;19866:9;19862:19;19855:51;19923:44;19960:6;19952;19923:44;:::i;:::-;19915:52;19071:902;-1:-1:-1;;;;;;;19071:902:101:o;20791:2165::-;21213:6;21202:9;21195:25;21176:4;21239:2;-1:-1:-1;;;;;21350:2:101;21342:6;21338:15;21333:2;21322:9;21318:18;21311:43;21390:3;21385:2;21374:9;21370:18;21363:31;21417:46;21458:3;21447:9;21443:19;21435:6;21417:46;:::i;:::-;21511:2;21503:6;21499:15;21494:2;21483:9;21479:18;21472:43;21552:6;21546:3;21535:9;21531:19;21524:35;21608:9;21600:6;21596:22;21590:3;21579:9;21575:19;21568:51;21649:6;21643:13;21635:6;21628:29;21676:4;21666:14;;21721:2;21713:6;21709:15;21757:2;21752;21744:6;21740:15;21733:27;21780:1;21813:12;21807:19;21849:3;21879:9;21875:2;21871:18;21861:28;;21939:2;21928:9;21924:18;21961;21951:61;;22005:4;21997:6;21993:17;21983:27;;21951:61;22058:2;22050:6;22047:14;22027:18;22024:38;22021:222;;-1:-1:-1;;;22092:3:101;22085:90;22198:4;22195:1;22188:15;22228:4;22223:3;22216:17;22021:222;22322:2;22310:15;;1189:19;;;1232:14;;;22252:82;-1:-1:-1;22350:18:101;22377:128;;;;22519:1;22514:321;;;;22343:492;;22377:128;-1:-1:-1;;22410:24:101;;22398:37;;22478:14;;22471:22;22468:1;22464:30;22455:40;;;-1:-1:-1;22377:128:101;;22514:321;20738:1;20731:14;;;20775:4;20762:18;;22615:1;22629:165;22643:6;22640:1;22637:13;22629:165;;;22721:14;;22708:11;;;22701:35;22764:16;;;;22658:10;;22629:165;;;22814:11;;;-1:-1:-1;;22343:492:101;;;;;22881:9;22876:3;22872:19;22866:3;22855:9;22851:19;22844:48;22909:41;22946:3;22938:6;22909:41;:::i;:::-;22901:49;20791:2165;-1:-1:-1;;;;;;;;;;;;;;20791:2165:101:o;23263:430::-;-1:-1:-1;;;;;;23452:6:101;23448:79;23443:3;23436:92;23418:3;23557:6;23551:13;23573:74;23640:6;23636:1;23631:3;23627:11;23620:4;23612:6;23608:17;23573:74;:::i;:::-;23667:16;;;;23685:1;23663:24;;23263:430;-1:-1:-1;;;23263:430:101:o;23698:287::-;23827:3;23865:6;23859:13;23881:66;23940:6;23935:3;23928:4;23920:6;23916:17;23881:66;:::i;:::-;23963:16;;;;;23698:287;-1:-1:-1;;23698:287:101:o;25206:848::-;25405:2;25394:9;25387:21;25368:4;-1:-1:-1;;;;;25524:2:101;25515:6;25509:13;25505:22;25500:2;25489:9;25485:18;25478:50;25592:2;25586;25578:6;25574:15;25568:22;25564:31;25559:2;25548:9;25544:18;25537:59;25650:2;25642:6;25638:15;25632:22;25627:2;25616:9;25612:18;25605:50;25710:2;25702:6;25698:15;25692:22;25686:3;25675:9;25671:19;25664:51;25770:3;25762:6;25758:16;25752:23;25746:3;25735:9;25731:19;25724:52;25823:3;25815:6;25811:16;25805:23;25865:4;25859:3;25848:9;25844:19;25837:33;25893:61;25949:3;25938:9;25934:19;25920:12;25893:61;:::i;:::-;25879:75;;26021:2;26014:3;26006:6;26002:16;25996:23;25992:32;25985:4;25974:9;25970:20;25963:62;26042:6;26034:14;;;;25206:848;;;;:::o;26939:795::-;27097:4;27139:3;27128:9;27124:19;27116:27;;27176:6;27170:13;27159:9;27152:32;27240:4;27232:6;27228:17;27222:24;27215:4;27204:9;27200:20;27193:54;27294:4;27286:6;27282:17;27276:24;-1:-1:-1;;;;;27417:2:101;27403:12;27399:21;27392:4;27381:9;27377:20;27370:51;27470:4;27462:6;27458:17;27452:24;27430:46;;27514:1;27498:14;27495:21;27485:55;;27520:18;;:::i;:::-;27578:14;27571:4;27560:9;27556:20;27549:44;27649:4;27641:6;27637:17;27631:24;27624:4;27613:9;27609:20;27602:54;27724:2;27716:4;27708:6;27704:17;27698:24;27694:33;27687:4;27676:9;27672:20;27665:63;;;26939:795;;;;:::o;28033:184::-;-1:-1:-1;;;28082:1:101;28075:88;28182:4;28179:1;28172:15;28206:4;28203:1;28196:15;28222:274;28262:1;28288;28278:189;;-1:-1:-1;;;28320:1:101;28313:88;28424:4;28421:1;28414:15;28452:4;28449:1;28442:15;28278:189;-1:-1:-1;28481:9:101;;28222:274::o;28501:128::-;28568:9;;;28589:11;;;28586:37;;;28603:18;;:::i;28634:168::-;28707:9;;;28738;;28755:15;;;28749:22;;28735:37;28725:71;;28776:18;;:::i;28807:125::-;28872:9;;;28893:10;;;28890:36;;;28906:18;;:::i;28937:291::-;29114:2;29103:9;29096:21;29077:4;29134:45;29175:2;29164:9;29160:18;29152:6;29134:45;:::i;:::-;29126:53;;29215:6;29210:2;29199:9;29195:18;29188:34;28937:291;;;;;:::o;29233:340::-;29410:2;29399:9;29392:21;29373:4;29430:45;29471:2;29460:9;29456:18;29448:6;29430:45;:::i;:::-;29422:53;;-1:-1:-1;;;;;29515:6:101;29511:55;29506:2;29495:9;29491:18;29484:83;29233:340;;;;;:::o;30229:::-;-1:-1:-1;;;;;30410:6:101;30406:55;30395:9;30388:74;30498:2;30493;30482:9;30478:18;30471:30;30369:4;30518:45;30559:2;30548:9;30544:18;30536:6;30518:45;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","SENDER()":"6050f2f8","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SENDER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":\"DeployCVArbSepolia\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":{\"keccak256\":\"0xd7749e46fc4ee52ae8a7708dbe5d8fc1e915ac96e6a87f1a206d08004c0ad26f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://7c68f9cbbe7990ba045ee9e1fe1893abffa7ff1eebe850fac1b543c0c3631fb4\",\"dweb:/ipfs/QmSY4iD9V1Xgd7X6eTgRCycJYWCYL3bwHUsT2TbTeahCoK\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c\",\"dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SENDER","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/DeployCVArbSepolia.s.sol":"DeployCVArbSepolia"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/script/DeployCVArbSepolia.s.sol":{"keccak256":"0xd7749e46fc4ee52ae8a7708dbe5d8fc1e915ac96e6a87f1a206d08004c0ad26f","urls":["bzz-raw://7c68f9cbbe7990ba045ee9e1fe1893abffa7ff1eebe850fac1b543c0c3631fb4","dweb:/ipfs/QmSY4iD9V1Xgd7X6eTgRCycJYWCYL3bwHUsT2TbTeahCoK"],"license":"UNLICENSED"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x569f2f0292ce5a13516f9e99be42172752e0609ef3c787cd479e23cf910af0bc","urls":["bzz-raw://a0f2be3746f9b18f5480373fa5cf1b3cf6e439e5b32c88894b9fa7338902343c","dweb:/ipfs/QmamuA3hEq1fJ8cz2gjr2TeQrzBUKVXqvjSYWhfd6KgeVM"],"license":"UNLICENSED"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/script/DeployCVArbSepolia.s.sol","id":59044,"exportedSymbols":{"AMockERC20":[9751],"Accounts":[9264],"Allo":[1390],"BaseStrategy":[3923],"CVStrategy":[61025],"CVStrategyHelpers":[62207],"DeployCVArbSepolia":[59043],"IAllo":[2610],"IERC20":[6903],"IRegistry":[2802],"IWithdrawMember":[59058],"Metadata":[3098],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"SafeSetup":[66201],"Script":[12629],"ScriptBase":[12590],"StdChains":[14811],"StdCheatsSafe":[16871],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"VmSafe":[23817],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdJson":[18581],"stdMath":[18723],"stdStorageSafe":[19803]},"nodeType":"SourceUnit","src":"39:5255:92","nodes":[{"id":58458,"nodeType":"PragmaDirective","src":"39:24:92","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":58459,"nodeType":"ImportDirective","src":"65:32:92","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":40483,"symbolAliases":[],"unitAlias":""},{"id":58460,"nodeType":"ImportDirective","src":"98:30:92","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":12630,"symbolAliases":[],"unitAlias":""},{"id":58461,"nodeType":"ImportDirective","src":"129:56:92","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":58462,"nodeType":"ImportDirective","src":"186:31:92","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":61026,"symbolAliases":[],"unitAlias":""},{"id":58464,"nodeType":"ImportDirective","src":"218:66:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":58463,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"226:5:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58466,"nodeType":"ImportDirective","src":"285:53:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":58465,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"293:4:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58468,"nodeType":"ImportDirective","src":"339:74:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":58467,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"347:9:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58470,"nodeType":"ImportDirective","src":"414:61:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":58469,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"422:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58472,"nodeType":"ImportDirective","src":"476:67:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":58471,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"484:6:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58474,"nodeType":"ImportDirective","src":"544:64:92","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"../test/CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":62208,"symbolAliases":[{"foreign":{"id":58473,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62207,"src":"552:17:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58476,"nodeType":"ImportDirective","src":"609:73:92","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":58475,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"617:9:92","typeDescriptions":{}},"local":"AMockERC20","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58478,"nodeType":"ImportDirective","src":"683:59:92","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":58477,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"691:15:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58480,"nodeType":"ImportDirective","src":"743:55:92","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"../test/shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":66202,"symbolAliases":[{"foreign":{"id":58479,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66201,"src":"751:9:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58482,"nodeType":"ImportDirective","src":"799:71:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":58481,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"807:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58484,"nodeType":"ImportDirective","src":"871:66:92","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":58483,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"879:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59043,"nodeType":"ContractDefinition","src":"939:4354:92","nodes":[{"id":58495,"nodeType":"VariableDeclaration","src":"1021:42:92","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1045:13:92","scope":59043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58493,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":58494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1061:2:92","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":58498,"nodeType":"VariableDeclaration","src":"1070:75:92","nodes":[],"constant":true,"functionSelector":"6050f2f8","mutability":"constant","name":"SENDER","nameLocation":"1094:6:92","scope":59043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58496,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307832463965313133343334616542446437306242393963423635303565314637323643353738443664","id":58497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1103:42:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d"},"visibility":"public"},{"id":58510,"nodeType":"FunctionDefinition","src":"1152:103:92","nodes":[],"body":{"id":58509,"nodeType":"Block","src":"1216:39:92","nodes":[],"statements":[{"expression":{"arguments":[{"id":58506,"name":"SENDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58498,"src":"1241:6:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1233:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58504,"name":"address","nodeType":"ElementaryTypeName","src":"1233:7:92","typeDescriptions":{}}},"id":58507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":58503,"id":58508,"nodeType":"Return","src":"1226:22:92"}]},"baseFunctions":[8991],"functionSelector":"8e0d1a50","implemented":true,"kind":"function","modifiers":[],"name":"pool_admin","nameLocation":"1161:10:92","overrides":{"id":58500,"nodeType":"OverrideSpecifier","overrides":[],"src":"1189:8:92"},"parameters":{"id":58499,"nodeType":"ParameterList","parameters":[],"src":"1171:2:92"},"returnParameters":{"id":58503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58510,"src":"1207:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58501,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1206:9:92"},"scope":59043,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":59042,"nodeType":"FunctionDefinition","src":"1379:3912:92","nodes":[],"body":{"id":59041,"nodeType":"Block","src":"1401:3890:92","nodes":[],"statements":[{"assignments":[58514],"declarations":[{"constant":false,"id":58514,"mutability":"mutable","name":"allo_proxy","nameLocation":"1419:10:92","nodeType":"VariableDeclaration","scope":59041,"src":"1411:18:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58513,"name":"address","nodeType":"ElementaryTypeName","src":"1411:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58519,"initialValue":{"arguments":[{"hexValue":"414c4c4f5f50524f5859","id":58517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1446:12:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""},"value":"ALLO_PROXY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""}],"expression":{"id":58515,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1432:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:10:92","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":22972,"src":"1432:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":58518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1411:48:92"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58520,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58514,"src":"1473:10:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":58523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1495:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1487:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58521,"name":"address","nodeType":"ElementaryTypeName","src":"1487:7:92","typeDescriptions":{}}},"id":58524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1487:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1473:24:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58531,"nodeType":"IfStatement","src":"1469:83:92","trueBody":{"id":58530,"nodeType":"Block","src":"1499:53:92","statements":[{"expression":{"arguments":[{"hexValue":"414c4c4f5f50524f5859206e6f7420736574","id":58527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1520:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""},"value":"ALLO_PROXY not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""}],"id":58526,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1513:6:92","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1513:28:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58529,"nodeType":"ExpressionStatement","src":"1513:28:92"}]}},{"assignments":[58534],"declarations":[{"constant":false,"id":58534,"mutability":"mutable","name":"allo","nameLocation":"1567:4:92","nodeType":"VariableDeclaration","scope":59041,"src":"1562:9:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":58533,"nodeType":"UserDefinedTypeName","pathNode":{"id":58532,"name":"Allo","nameLocations":["1562:4:92"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1562:4:92"},"referencedDeclaration":1390,"src":"1562:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"}],"id":58538,"initialValue":{"arguments":[{"id":58536,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58514,"src":"1579:10:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58535,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"1574:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1574:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"VariableDeclarationStatement","src":"1562:28:92"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58542,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"1619:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1619:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1601:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1604:14:92","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"1601:17:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1601:31:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58545,"nodeType":"ExpressionStatement","src":"1601:31:92"},{"assignments":[58548],"declarations":[{"constant":false,"id":58548,"mutability":"mutable","name":"token","nameLocation":"1654:5:92","nodeType":"VariableDeclaration","scope":59041,"src":"1643:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":58547,"nodeType":"UserDefinedTypeName","pathNode":{"id":58546,"name":"AMockERC20","nameLocations":["1643:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1643:10:92"},"referencedDeclaration":9751,"src":"1643:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":58553,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1662:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":58550,"nodeType":"UserDefinedTypeName","pathNode":{"id":58549,"name":"AMockERC20","nameLocations":["1666:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1666:10:92"},"referencedDeclaration":9751,"src":"1666:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":58552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1662:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"1643:35:92"},{"assignments":[58556],"declarations":[{"constant":false,"id":58556,"mutability":"mutable","name":"registry","nameLocation":"1699:8:92","nodeType":"VariableDeclaration","scope":59041,"src":"1689:18:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":58555,"nodeType":"UserDefinedTypeName","pathNode":{"id":58554,"name":"IRegistry","nameLocations":["1689:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1689:9:92"},"referencedDeclaration":2802,"src":"1689:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"id":58560,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58557,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"1710:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1715:11:92","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":1362,"src":"1710:16:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IRegistry_$2802_$","typeString":"function () view external returns (contract IRegistry)"}},"id":58559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1710:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1689:39:92"},{"assignments":[58563],"declarations":[{"constant":false,"id":58563,"mutability":"mutable","name":"registryFactory","nameLocation":"1755:15:92","nodeType":"VariableDeclaration","scope":59041,"src":"1739:31:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":58562,"nodeType":"UserDefinedTypeName","pathNode":{"id":58561,"name":"RegistryFactory","nameLocations":["1739:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1739:15:92"},"referencedDeclaration":61072,"src":"1739:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":58568,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1773:19:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":58565,"nodeType":"UserDefinedTypeName","pathNode":{"id":58564,"name":"RegistryFactory","nameLocations":["1777:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1777:15:92"},"referencedDeclaration":61072,"src":"1777:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":58567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1773:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"1739:55:92"},{"assignments":[58573],"declarations":[{"constant":false,"id":58573,"mutability":"mutable","name":"params","nameLocation":"1845:6:92","nodeType":"VariableDeclaration","scope":59041,"src":"1805:46:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":58572,"nodeType":"UserDefinedTypeName","pathNode":{"id":58571,"name":"RegistryGardens.InitializeParams","nameLocations":["1805:15:92","1821:16:92"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"1805:32:92"},"referencedDeclaration":61245,"src":"1805:32:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":58574,"nodeType":"VariableDeclarationStatement","src":"1805:46:92"},{"expression":{"id":58582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58575,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"1862:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1869:5:92","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"1862:12:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58580,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"1885:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1877:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58578,"name":"address","nodeType":"ElementaryTypeName","src":"1877:7:92","typeDescriptions":{}}},"id":58581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1877:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1862:28:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58583,"nodeType":"ExpressionStatement","src":"1862:28:92"},{"expression":{"id":58593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58584,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"1900:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1907:12:92","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"1900:19:92","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":58590,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"1937:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1929:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58588,"name":"address","nodeType":"ElementaryTypeName","src":"1929:7:92","typeDescriptions":{}}},"id":58591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1929:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58587,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"1922:6:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":58592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1922:22:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"1900:44:92","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":58594,"nodeType":"ExpressionStatement","src":"1900:44:92"},{"expression":{"id":58599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58595,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"1954:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1961:19:92","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"1954:26:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58598,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58495,"src":"1983:13:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1954:42:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58600,"nodeType":"ExpressionStatement","src":"1954:42:92"},{"expression":{"id":58605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58601,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2006:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2013:12:92","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"2006:19:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":58604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2028:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2006:23:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58606,"nodeType":"ExpressionStatement","src":"2006:23:92"},{"expression":{"id":58611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58607,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2039:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2046:9:92","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"2039:16:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58610,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61865,"src":"2058:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2039:27:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":58612,"nodeType":"ExpressionStatement","src":"2039:27:92"},{"expression":{"id":58626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58613,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2094:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2101:12:92","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"2094:19:92","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58621,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"2154:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58620,"name":"_councilSafeWithOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65964,"src":"2132:21:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_contract$_Safe_$55944_$","typeString":"function (address) returns (contract Safe)"}},"id":58623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:35:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":58619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2124:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58618,"name":"address","nodeType":"ElementaryTypeName","src":"2124:7:92","typeDescriptions":{}}},"id":58624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2124:44:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2116:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":58616,"name":"address","nodeType":"ElementaryTypeName","src":"2116:8:92","stateMutability":"payable","typeDescriptions":{}}},"id":58625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2116:53:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2094:75:92","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":58627,"nodeType":"ExpressionStatement","src":"2094:75:92"},{"assignments":[58630],"declarations":[{"constant":false,"id":58630,"mutability":"mutable","name":"registryGardens","nameLocation":"2196:15:92","nodeType":"VariableDeclaration","scope":59041,"src":"2180:31:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":58629,"nodeType":"UserDefinedTypeName","pathNode":{"id":58628,"name":"RegistryGardens","nameLocations":["2180:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"2180:15:92"},"referencedDeclaration":61840,"src":"2180:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"id":58637,"initialValue":{"arguments":[{"arguments":[{"id":58634,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2261:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":58632,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58563,"src":"2230:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":58633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2246:14:92","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"2230:30:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":58635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2230:38:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58631,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"2214:15:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":58636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2214:55:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"VariableDeclarationStatement","src":"2180:89:92"},{"assignments":[58640],"declarations":[{"constant":false,"id":58640,"mutability":"mutable","name":"strategy1","nameLocation":"2327:9:92","nodeType":"VariableDeclaration","scope":59041,"src":"2316:20:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":58639,"nodeType":"UserDefinedTypeName","pathNode":{"id":58638,"name":"CVStrategy","nameLocations":["2316:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2316:10:92"},"referencedDeclaration":61025,"src":"2316:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":58649,"initialValue":{"arguments":[{"arguments":[{"id":58646,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2362:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2354:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58644,"name":"address","nodeType":"ElementaryTypeName","src":"2354:7:92","typeDescriptions":{}}},"id":58647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2354:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2339:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":58642,"nodeType":"UserDefinedTypeName","pathNode":{"id":58641,"name":"CVStrategy","nameLocations":["2343:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2343:10:92"},"referencedDeclaration":61025,"src":"2343:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":58648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2339:29:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2316:52:92"},{"assignments":[58652],"declarations":[{"constant":false,"id":58652,"mutability":"mutable","name":"strategy2","nameLocation":"2389:9:92","nodeType":"VariableDeclaration","scope":59041,"src":"2378:20:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":58651,"nodeType":"UserDefinedTypeName","pathNode":{"id":58650,"name":"CVStrategy","nameLocations":["2378:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2378:10:92"},"referencedDeclaration":61025,"src":"2378:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":58661,"initialValue":{"arguments":[{"arguments":[{"id":58658,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2424:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2416:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58656,"name":"address","nodeType":"ElementaryTypeName","src":"2416:7:92","typeDescriptions":{}}},"id":58659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2416:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2401:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":58654,"nodeType":"UserDefinedTypeName","pathNode":{"id":58653,"name":"CVStrategy","nameLocations":["2405:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2405:10:92"},"referencedDeclaration":61025,"src":"2405:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":58660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2401:29:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2378:52:92"},{"assignments":[58663],"declarations":[{"constant":false,"id":58663,"mutability":"mutable","name":"poolId","nameLocation":"2449:6:92","nodeType":"VariableDeclaration","scope":59041,"src":"2441:14:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58662,"name":"uint256","nodeType":"ElementaryTypeName","src":"2441:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58685,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":58668,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2494:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2486:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58666,"name":"address","nodeType":"ElementaryTypeName","src":"2486:7:92","typeDescriptions":{}}},"id":58669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2486:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58665,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2481:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2481:19:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":58673,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2510:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2502:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58671,"name":"address","nodeType":"ElementaryTypeName","src":"2502:7:92","typeDescriptions":{}}},"id":58674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2502:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58677,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"2530:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2522:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58675,"name":"address","nodeType":"ElementaryTypeName","src":"2522:7:92","typeDescriptions":{}}},"id":58678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2522:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58679,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"2548:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"id":58682,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"2566:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2558:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58680,"name":"address","nodeType":"ElementaryTypeName","src":"2558:7:92","typeDescriptions":{}}},"id":58683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2558:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58664,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62038,"src":"2470:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":58684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2470:103:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2441:132:92"},{"assignments":[58687],"declarations":[{"constant":false,"id":58687,"mutability":"mutable","name":"poolIdSignaling","nameLocation":"2592:15:92","nodeType":"VariableDeclaration","scope":59041,"src":"2584:23:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58686,"name":"uint256","nodeType":"ElementaryTypeName","src":"2584:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58709,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":58692,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2646:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2638:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58690,"name":"address","nodeType":"ElementaryTypeName","src":"2638:7:92","typeDescriptions":{}}},"id":58693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2638:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58689,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2633:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2633:19:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":58697,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"2662:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2654:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58695,"name":"address","nodeType":"ElementaryTypeName","src":"2654:7:92","typeDescriptions":{}}},"id":58698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58701,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"2682:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2674:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58699,"name":"address","nodeType":"ElementaryTypeName","src":"2674:7:92","typeDescriptions":{}}},"id":58702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58703,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"2700:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"hexValue":"30","id":58706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2718:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2710:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58704,"name":"address","nodeType":"ElementaryTypeName","src":"2710:7:92","typeDescriptions":{}}},"id":58707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2710:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58688,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62038,"src":"2622:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":58708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2622:99:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2584:137:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2765:15:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58713,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"2751:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2751:30:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58710,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2732:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2742:8:92","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"2732:18:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:50:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58717,"nodeType":"ExpressionStatement","src":"2732:50:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2845:9:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58721,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"2831:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58718,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2809:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2819:11:92","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"2809:21:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58725,"nodeType":"ExpressionStatement","src":"2809:47:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2919:12:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58729,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"2905:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2905:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58726,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2885:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2895:9:92","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"2885:19:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2885:48:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58733,"nodeType":"ExpressionStatement","src":"2885:48:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3027:15:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58737,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"3013:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3013:30:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58734,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"2994:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3004:8:92","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"2994:18:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2994:50:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58741,"nodeType":"ExpressionStatement","src":"2994:50:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3107:9:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58745,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"3093:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3093:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58742,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3071:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3081:11:92","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"3071:21:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3071:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58749,"nodeType":"ExpressionStatement","src":"3071:47:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3181:12:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58753,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62052,"src":"3167:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3167:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58750,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3147:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3157:9:92","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"3147:19:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3147:48:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58757,"nodeType":"ExpressionStatement","src":"3147:48:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58758,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"3227:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3237:14:92","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3227:24:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3227:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58762,"nodeType":"ExpressionStatement","src":"3227:26:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58763,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3263:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3273:14:92","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3263:24:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3263:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58767,"nodeType":"ExpressionStatement","src":"3263:26:92"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58773,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3389:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3389:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3381:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58771,"name":"address","nodeType":"ElementaryTypeName","src":"3381:7:92","typeDescriptions":{}}},"id":58775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3381:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31305f303030","id":58776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3404:6:92","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}],"expression":{"id":58768,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3370:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3376:4:92","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"3370:10:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":58777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3370:41:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58778,"nodeType":"ExpressionStatement","src":"3370:41:92"},{"expression":{"arguments":[{"arguments":[{"id":58784,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3443:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3435:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58782,"name":"address","nodeType":"ElementaryTypeName","src":"3435:7:92","typeDescriptions":{}}},"id":58785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3435:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":58788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3455:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58787,"name":"uint256","nodeType":"ElementaryTypeName","src":"3455:7:92","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":58786,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3450:4:92","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":58789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":58790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3464:3:92","memberName":"max","nodeType":"MemberAccess","src":"3450:17:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58779,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3421:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3427:7:92","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3421:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3421:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58792,"nodeType":"ExpressionStatement","src":"3421:47:92"},{"expression":{"arguments":[{"id":58796,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3492:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"315f303030","id":58797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3500:5:92","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":58793,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3478:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3483:8:92","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"3478:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":58798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3478:28:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58799,"nodeType":"ExpressionStatement","src":"3478:28:92"},{"assignments":[58804],"declarations":[{"constant":false,"id":58804,"mutability":"mutable","name":"proposal","nameLocation":"3550:8:92","nodeType":"VariableDeclaration","scope":59041,"src":"3517:41:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58803,"nodeType":"UserDefinedTypeName","pathNode":{"id":58802,"name":"CVStrategy.CreateProposal","nameLocations":["3517:10:92","3528:14:92"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"3517:25:92"},"referencedDeclaration":59158,"src":"3517:25:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58820,"initialValue":{"arguments":[{"hexValue":"31","id":58807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3600:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58808,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3603:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58809,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3611:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58811,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3625:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3636:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"3625:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3649:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"3625:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"31303030","id":58814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3658:8:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},{"arguments":[{"id":58817,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3676:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3668:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58815,"name":"address","nodeType":"ElementaryTypeName","src":"3668:7:92","typeDescriptions":{}}},"id":58818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3668:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58805,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3561:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3572:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"3561:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3561:131:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"3517:175:92"},{"assignments":[58822],"declarations":[{"constant":false,"id":58822,"mutability":"mutable","name":"data","nameLocation":"3715:4:92","nodeType":"VariableDeclaration","scope":59041,"src":"3702:17:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58821,"name":"bytes","nodeType":"ElementaryTypeName","src":"3702:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58827,"initialValue":{"arguments":[{"id":58825,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"3733:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58823,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3722:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3726:6:92","memberName":"encode","nodeType":"MemberAccess","src":"3722:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3722:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3702:40:92"},{"expression":{"arguments":[{"id":58831,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3775:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58832,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"3783:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58828,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3752:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3757:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"3752:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3752:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58834,"nodeType":"ExpressionStatement","src":"3752:36:92"},{"expression":{"id":58851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58835,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"3799:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":58838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3848:1:92","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":58839,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3851:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58840,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3859:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58842,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3873:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3884:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"3873:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3897:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"3873:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"353030","id":58845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3906:7:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},"value":"500"},{"arguments":[{"id":58848,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3923:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3915:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58846,"name":"address","nodeType":"ElementaryTypeName","src":"3915:7:92","typeDescriptions":{}}},"id":58849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3915:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58836,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3822:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"3822:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3822:108:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"3799:131:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58852,"nodeType":"ExpressionStatement","src":"3799:131:92"},{"expression":{"id":58858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58853,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"3940:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58856,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"3958:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58854,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3947:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3951:6:92","memberName":"encode","nodeType":"MemberAccess","src":"3947:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3947:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"3940:27:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58859,"nodeType":"ExpressionStatement","src":"3940:27:92"},{"expression":{"arguments":[{"id":58863,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4000:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58864,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"4008:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58860,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3977:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3982:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"3977:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3977:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58866,"nodeType":"ExpressionStatement","src":"3977:36:92"},{"expression":{"id":58883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58867,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"4024:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":58870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4073:1:92","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"id":58871,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4076:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58872,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"4084:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58874,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4098:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4109:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4098:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4122:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4098:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"393030","id":58877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4131:7:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_900_by_1","typeString":"int_const 900"},"value":"900"},{"arguments":[{"id":58880,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"4148:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4140:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58878,"name":"address","nodeType":"ElementaryTypeName","src":"4140:7:92","typeDescriptions":{}}},"id":58881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4140:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_900_by_1","typeString":"int_const 900"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58868,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4047:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4058:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4047:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:108:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"4024:131:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58884,"nodeType":"ExpressionStatement","src":"4024:131:92"},{"expression":{"id":58890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58885,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"4165:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58888,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"4183:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4172:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4176:6:92","memberName":"encode","nodeType":"MemberAccess","src":"4172:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4165:27:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58891,"nodeType":"ExpressionStatement","src":"4165:27:92"},{"expression":{"arguments":[{"id":58895,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4225:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58896,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"4233:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58892,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4202:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4207:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4202:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4202:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58898,"nodeType":"ExpressionStatement","src":"4202:36:92"},{"assignments":[58903],"declarations":[{"constant":false,"id":58903,"mutability":"mutable","name":"proposal2","nameLocation":"4314:9:92","nodeType":"VariableDeclaration","scope":59041,"src":"4281:42:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58902,"nodeType":"UserDefinedTypeName","pathNode":{"id":58901,"name":"CVStrategy.CreateProposal","nameLocations":["4281:10:92","4292:14:92"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4281:25:92"},"referencedDeclaration":59158,"src":"4281:25:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58919,"initialValue":{"arguments":[{"hexValue":"31","id":58906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4365:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58907,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4368:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58908,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"4385:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58910,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4399:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4410:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4399:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4423:9:92","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"4399:33:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":58913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4434:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":58916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4445:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4437:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58914,"name":"address","nodeType":"ElementaryTypeName","src":"4437:7:92","typeDescriptions":{}}},"id":58917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4437:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58904,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4326:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4337:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4326:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4326:131:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4281:176:92"},{"assignments":[58921],"declarations":[{"constant":false,"id":58921,"mutability":"mutable","name":"data2","nameLocation":"4480:5:92","nodeType":"VariableDeclaration","scope":59041,"src":"4467:18:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58920,"name":"bytes","nodeType":"ElementaryTypeName","src":"4467:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58926,"initialValue":{"arguments":[{"id":58924,"name":"proposal2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58903,"src":"4499:9:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4488:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4492:6:92","memberName":"encode","nodeType":"MemberAccess","src":"4488:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4488:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4467:42:92"},{"expression":{"arguments":[{"id":58930,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4542:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58931,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58921,"src":"4559:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58927,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4519:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4524:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4519:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4519:46:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58933,"nodeType":"ExpressionStatement","src":"4519:46:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58934,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4576:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4579:13:92","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"4576:16:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58938,"nodeType":"ExpressionStatement","src":"4576:18:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c49643a202573","id":58942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4618:12:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},"value":"PoolId: %s"},{"id":58943,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4632:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58939,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4605:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4614:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"4605:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4605:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58945,"nodeType":"ExpressionStatement","src":"4605:34:92"},{"expression":{"arguments":[{"hexValue":"53747261746567793120416464723a202573","id":58949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4662:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},"value":"Strategy1 Addr: %s"},{"arguments":[{"id":58952,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"4692:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4684:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58950,"name":"address","nodeType":"ElementaryTypeName","src":"4684:7:92","typeDescriptions":{}}},"id":58953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4684:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58946,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4649:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4658:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4649:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4649:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58955,"nodeType":"ExpressionStatement","src":"4649:54:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c49645369676e616c696e673a202573","id":58959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4727:21:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},"value":"PoolIdSignaling: %s"},{"id":58960,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4750:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58956,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4714:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4723:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"4714:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4714:52:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58962,"nodeType":"ExpressionStatement","src":"4714:52:92"},{"expression":{"arguments":[{"hexValue":"53747261746567793220416464723a202573","id":58966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4789:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},"value":"Strategy2 Addr: %s"},{"arguments":[{"id":58969,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"4819:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4811:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58967,"name":"address","nodeType":"ElementaryTypeName","src":"4811:7:92","typeDescriptions":{}}},"id":58970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4811:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58963,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4776:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4785:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4776:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4776:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58972,"nodeType":"ExpressionStatement","src":"4776:54:92"},{"expression":{"arguments":[{"hexValue":"416c6c6f20416464723a202573","id":58976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4854:15:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},"value":"Allo Addr: %s"},{"arguments":[{"id":58979,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4879:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4871:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58977,"name":"address","nodeType":"ElementaryTypeName","src":"4871:7:92","typeDescriptions":{}}},"id":58980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4871:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58973,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4841:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4850:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4841:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4841:44:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58982,"nodeType":"ExpressionStatement","src":"4841:44:92"},{"expression":{"arguments":[{"hexValue":"546f6b656e20416464723a202573","id":58986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4908:16:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},"value":"Token Addr: %s"},{"arguments":[{"id":58989,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"4934:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4926:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58987,"name":"address","nodeType":"ElementaryTypeName","src":"4926:7:92","typeDescriptions":{}}},"id":58990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4926:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58983,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4895:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4904:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4895:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4895:46:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58992,"nodeType":"ExpressionStatement","src":"4895:46:92"},{"expression":{"arguments":[{"hexValue":"546f6b656e204e617469766520416464723a202573","id":58996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4964:23:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},"value":"Token Native Addr: %s"},{"arguments":[{"id":58999,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"4997:6:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4989:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58997,"name":"address","nodeType":"ElementaryTypeName","src":"4989:7:92","typeDescriptions":{}}},"id":59000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:15:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58993,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4951:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4960:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4951:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4951:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59002,"nodeType":"ExpressionStatement","src":"4951:54:92"},{"expression":{"arguments":[{"hexValue":"52656769737472792047617264656e7320416464723a202573","id":59006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5029:27:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},"value":"Registry Gardens Addr: %s"},{"arguments":[{"id":59009,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"5066:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":59008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5058:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59007,"name":"address","nodeType":"ElementaryTypeName","src":"5058:7:92","typeDescriptions":{}}},"id":59010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5058:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59003,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5016:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5025:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5016:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5016:67:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59012,"nodeType":"ExpressionStatement","src":"5016:67:92"},{"expression":{"arguments":[{"hexValue":"416c6c6f20526567697374727920416464723a202573","id":59016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5107:24:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},"value":"Allo Registry Addr: %s"},{"arguments":[{"id":59019,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"5141:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":59018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5133:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59017,"name":"address","nodeType":"ElementaryTypeName","src":"5133:7:92","typeDescriptions":{}}},"id":59020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5133:17:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59013,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5094:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5103:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5094:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5094:57:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59022,"nodeType":"ExpressionStatement","src":"5094:57:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c2041646d696e20416464723a202573","id":59026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5174:21:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},"value":"Pool Admin Addr: %s"},{"arguments":[],"expression":{"argumentTypes":[],"id":59027,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"5197:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":59028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59023,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5161:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5170:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5161:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5161:49:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59030,"nodeType":"ExpressionStatement","src":"5161:49:92"},{"expression":{"arguments":[{"hexValue":"436f756e63696c205361666520416464723a202573","id":59034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5233:23:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},"value":"Council Safe Addr: %s"},{"arguments":[{"id":59037,"name":"councilSafeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65833,"src":"5266:16:92","typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":59036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5258:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59035,"name":"address","nodeType":"ElementaryTypeName","src":"5258:7:92","typeDescriptions":{}}},"id":59038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5258:25:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59031,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5220:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5220:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5220:64:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59040,"nodeType":"ExpressionStatement","src":"5220:64:92"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1388:3:92","parameters":{"id":58511,"nodeType":"ParameterList","parameters":[],"src":"1391:2:92"},"returnParameters":{"id":58512,"nodeType":"ParameterList","parameters":[],"src":"1401:0:92"},"scope":59043,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":58485,"name":"Native","nameLocations":["970:6:92"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"970:6:92"},"id":58486,"nodeType":"InheritanceSpecifier","src":"970:6:92"},{"baseName":{"id":58487,"name":"CVStrategyHelpers","nameLocations":["978:17:92"],"nodeType":"IdentifierPath","referencedDeclaration":62207,"src":"978:17:92"},"id":58488,"nodeType":"InheritanceSpecifier","src":"978:17:92"},{"baseName":{"id":58489,"name":"Script","nameLocations":["997:6:92"],"nodeType":"IdentifierPath","referencedDeclaration":12629,"src":"997:6:92"},"id":58490,"nodeType":"InheritanceSpecifier","src":"997:6:92"},{"baseName":{"id":58491,"name":"SafeSetup","nameLocations":["1005:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":66201,"src":"1005:9:92"},"id":58492,"nodeType":"InheritanceSpecifier","src":"1005:9:92"}],"canonicalName":"DeployCVArbSepolia","contractDependencies":[9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[59043,66201,22442,12629,22391,17989,62207,9264,17664,16871,14811,14047,12515,12581,12590,12578,3106],"name":"DeployCVArbSepolia","nameLocation":"948:18:92","scope":59044,"usedErrors":[]}],"license":"UNLICENSED"},"id":92} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"SENDER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryGardens","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b8054909116821790556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a081905260139283559091906014906200006090826200012f565b5050601f805460ff19166001908117909155602255503480156200008357600080fd5b50620001fb565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b557607f821691505b602082108103620000d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012a57600081815260208120601f850160051c81016020861015620001055750805b601f850160051c820191505b81811015620001265782815560010162000111565b5050505b505050565b81516001600160401b038111156200014b576200014b6200008a565b62000163816200015c8454620000a0565b84620000dc565b602080601f8311600181146200019b5760008415620001825750858301515b600019600386901b1c1916600185901b17855562000126565b600085815260208120601f198616915b82811015620001cc57888601518255948401946001909101908401620001ab565b5085821015620001eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61ea29806200020b6000396000f3fe60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c36600462003628565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e3919062003695565b6200048962000c2e565b604051620003e39190620036fe565b620004a262000d7c565b604051620003e3929190620037c4565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e39190620037e7565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003913565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e39190620039b9565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe36600462003628565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003a1f565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002eb5565b620003cf62002ef7565b620003cf62002f39565b620003cf62002f7b565b620003cf62002fbd565b6200047062002fff565b6200041d620006d136600462003a9b565b62003061565b620003cf6200310f565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657231000000000000000000000000000000000000008152506200314c565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d626572000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600a81526020017f726563697069656e7432000000000000000000000000000000000000000000008152506200314c565b6020546000906001600160a01b031662000b35576000604051620007ec9062003561565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b906200356f565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003ace565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003aee565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003b04565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e65720000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657231000000000000000000000000000000008152506200314c565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003b6b565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003b6b565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003b6b565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003b6b565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657231000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280601081526020017f726563697069656e7441646472657373000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600981526020017f726563697069656e7400000000000000000000000000000000000000000000008152506200314c565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657232000000000000000000000000000000000000008152506200314c565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003ba7565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003bee565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003c65565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003ce5565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003d24565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003dab565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003aee565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003aee565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e7400000000000000000000000000000000000000008152506200314c565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003aee565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657232000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e6572000000000000000000000000000000000000000000008152506200314c565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003b6b565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003b6b565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657232000000000000000000000000000000008152506200314c565b601554600090620017b057816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003df0565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003ba7565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003aee565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e7431000000000000000000000000000000000000000000008152506200314c565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d80062003160565b6020820152620019a16702c68af0bb14000062003160565b6040820152620019b866038d7ea4c6800062003160565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003aee565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003aee565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003e6d565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003ba7565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003b6b565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003b6b565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003f8a565b60408051601f198184030181529082905262001d149162003fbc565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003dab565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003ace565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f34906200357d565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003ace565b9050600060405162001fcd906200358b565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff762003599565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003b6b565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003b6b565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003fda565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003ace565b90506000866040516200219e9062003604565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003604565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c083165900062003160565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a000062003160565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf5263400062003160565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c083165900062003160565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a000062003160565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf5263400062003160565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50505050886001600160a01b03166340c10f19620025c7732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200261157600080fd5b505af115801562002626573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002694573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026ba919062003dab565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200271f57600080fd5b505af115801562002734573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018481526020016200276e732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b0316815260200160018152602001603281526020018b6001600160a01b03168152509050600081604051602001620027ae919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620027ee9087908590600401620037c4565b6020604051808303816000875af11580156200280e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002834919062003ace565b506040518060c001604052806002815260200185815260200162002869732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b0316815260200160018152602001601981526020018c6001600160a01b0316815250915081604051602001620028a7919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620028e79087908590600401620037c4565b6020604051808303816000875af115801562002907573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200292d919062003ace565b506040518060c001604052806003815260200185815260200162002962732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b0316815260200160018152602001600a81526020018c6001600160a01b0316815250915081604051602001620029a0919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620029e09087908590600401620037c4565b6020604051808303816000875af115801562002a00573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a26919062003ace565b5060006040518060c001604052806001815260200185815260200162002a5d732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002a9e919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002ade9088908590600401620037c4565b6020604051808303816000875af115801562002afe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b24919062003ace565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b8457600080fd5b505af115801562002b99573d6000803e3d6000fd5b5050505062002bde6040518060400160405280600a81526020017f506f6f6c49643a202573000000000000000000000000000000000000000000008152508762003179565b62002c1f6040518060400160405280601281526020017f53747261746567793120416464723a202573000000000000000000000000000081525089620031df565b62002c606040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a202573000000000000000000000000008152508662003179565b62002ca16040518060400160405280601281526020017f53747261746567793220416464723a202573000000000000000000000000000081525088620031df565b62002ce26040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f620031df565b62002d236040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e620031df565b62002d786040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee620031df565b62002db96040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a620031df565b62002dfa6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d620031df565b62002e566040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002e50732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b620031df565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002ea491906001600160a01b0316620031df565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e61676572000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e65720000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600b81526020017f72616e646f6d20636861640000000000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f7472656173757279000000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e65720000000000000000000000000000000000008152506200314c565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b60008481620030836200307c62989680608087901b620040cf565b8362003241565b905060806f80000000000000000000000000000000620030a78662989680620040f2565b620030b784600160801b620040f2565b620030c6629896808a62004108565b620030d2919062004108565b620030de9190620040cf565b620030ea898562004108565b620030f6919062004122565b62003102919062004122565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200315982620032f6565b5092915050565b60006200317364174876e80083620040cf565b92915050565b620031db82826040516024016200319292919062004138565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc000000000000000000000000000000000000000000000000000000001790526200342b565b5050565b620031db8282604051602401620031f89291906200415c565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200342b565b6000600160801b8310620032985760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b8015620032ee5780600116600003620032cb57620032c0828362003439565b915060011c620032a1565b620032d7838362003439565b9250620032e6600182620040f2565b9050620032a1565b505092915050565b600080826040516020016200330c919062003fbc565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200338e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620033b4919062003ace565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033f2908590879060040162004189565b600060405180830381600087803b1580156200340d57600080fd5b505af115801562003422573d6000803e3d6000fd5b50505050915091565b620034368162003540565b50565b6000600160801b831115620034b75760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b82106200350c5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f800000000000000000000000000000006200352b848662004108565b62003537919062004122565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b61085280620041ae83390190565b6135948062004a0083390190565b610e678062007f9483390190565b6127688062008dfb83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620035f7604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b56383390190565b6001600160a01b03811681146200343657600080fd5b6000602082840312156200363b57600080fd5b8135620036488162003612565b9392505050565b600081518084526020808501945080840160005b838110156200368a5781516001600160a01b03168752958201959082019060010162003663565b509495945050505050565b6020815260006200364860208301846200364f565b60005b83811015620036c7578181015183820152602001620036ad565b50506000910152565b60008151808452620036ea816020860160208601620036aa565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015620037b457603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200379d57605f198985030183526200378a848651620036d0565b948e01949350918d01916001016200376b565b505050978a01979450509188019160010162003725565b50919a9950505050505050505050565b828152604060208201526000620037df6040830184620036d0565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200388f57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620038795783516001600160e01b0319168252928b019260019290920191908b01906200384d565b50978a019795505050918701916001016200380f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715620038e057620038e06200389e565b604052919050565b600067ffffffffffffffff8211156200390557620039056200389e565b50601f01601f191660200190565b6000806000606084860312156200392957600080fd5b8335620039368162003612565b925060208401359150604084013567ffffffffffffffff8111156200395a57600080fd5b8401601f810186136200396c57600080fd5b8035620039836200397d82620038e8565b620038b4565b8181528760208385010111156200399957600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562003a1257603f19888603018452620039ff858351620036d0565b94509285019290850190600101620039e0565b5092979650505050505050565b600080600080600060a0868803121562003a3857600080fd5b853562003a458162003612565b9450602086013562003a578162003612565b9350604086013562003a698162003612565b9250606086013562003a7b8162003612565b9150608086013562003a8d8162003612565b809150509295509295909350565b6000806000806080858703121562003ab257600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003ae157600080fd5b8151620036488162003612565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003b1a8184018b6200364f565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003b8057607f821691505b60208210810362003ba157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003bba57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003bea5762003bea62003bc1565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003c1a8285018d620036d0565b925062003c2b606085018c62003bd7565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003c7857600080fd5b815167ffffffffffffffff81111562003c9057600080fd5b8201601f8101841362003ca257600080fd5b805162003cb36200397d82620038e8565b81815285602083850101111562003cc957600080fd5b62003cdc826020830160208601620036aa565b95945050505050565b60008060006060848603121562003cfb57600080fd5b835160ff8116811462003d0d57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003d508285018d620036d0565b915062003d61606085018c62003bd7565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d9a8185620036d0565b9d9c50505050505050505050505050565b60006020828403121562003dbe57600080fd5b815180151581146200364857600080fd5b805182526000602082015160406020850152620037df6040850182620036d0565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003e3f60e083018662003dcf565b6001600160a01b0385166060840152828103608084015262003e6281856200364f565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e9960e085018a620036d0565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003eda57607f821691505b878210810362003ef857634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003f1c576001811462003f335762003f60565b60ff198416875282151560051b8701945062003f60565b60008681526020902060005b8481101562003f5a57815489820152908901908a0162003f3f565b88019550505b5050505086810360c088015262003f7881896200364f565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003fae816004850160208701620036aa565b919091016004019392505050565b6000825162003fd0818460208701620036aa565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200403761010085018262003dcf565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004095576200409562003bc1565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b600082620040ed57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620031735762003173620040b9565b8082028115828204841417620031735762003173620040b9565b80820180821115620031735762003173620040b9565b6040815260006200414d6040830185620036d0565b90508260208301529392505050565b604081526000620041716040830185620036d0565b90506001600160a01b03831660208301529392505050565b6001600160a01b0383168152604060208201526000620037df6040830184620036d056fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220ad1724b73ce4d4ec5c2e0c8ac7ef8cf7c2611f02ef29310ea5cd1c9af3a6830464736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;;939:4446:92;566:52:96;;;1572:26:44;939:4446:92;566:52:96;;;;;;-1:-1:-1;;;566:52:96;;;;;;539:79;;;;939:4446:92;;539:79:96;;;;;;;:::i;:::-;-1:-1:-1;;800:28:46;;;-1:-1:-1;;800:28:46;824:4;800:28;;;;;;339:34:99;;-1:-1:-1;939:4446:92;;;;;;;;;;;;14:127:100;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:100;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:100;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:100;;;2580:26;2531:89;-1:-1:-1;;1335:1:100;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:100;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:100;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:100;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:100:o;:::-;939:4446:92;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620003c05760003560e01c806379e62d0d11620001f9578063ae1596011162000119578063da4bf08711620000af578063e99ce9111162000086578063e99ce91114620006c0578063ef0d790f14620006d7578063f8ccbf4714620006e1578063fa7626d414620006ef57600080fd5b8063da4bf08714620006a2578063dac4eb1614620006ac578063e20c9f7114620006b657600080fd5b8063c040622611620000f0578063c0406226146200067a578063d1e82b581462000684578063d1f2cd88146200068e578063d5bee9f5146200069857600080fd5b8063ae159601146200063e578063b5508aa91462000655578063ba414fa6146200065f57600080fd5b80638e0d1a50116200018f578063916a17c61162000166578063916a17c61462000604578063a0cf0aea146200060e578063a407c67a146200062a578063aa3744bd146200063457600080fd5b80638e0d1a5014620005c85780638e3c249314620005e3578063914a5f6d14620005ed57600080fd5b8063829e423f11620001d0578063829e423f146200043357806385226c81146200059b578063896546a114620005b45780638c7408c4146200043357600080fd5b806379e62d0d146200057d5780637b2edf3214620005875780637cbe79ed146200059157600080fd5b80633f7286f411620002e55780636a38dd0a116200027b57806370a32944116200025257806370a32944146200055f57806374d9284e1462000433578063759c9a8614620005695780637658524d146200057357600080fd5b80636a38dd0a14620005235780636c53db9a146200052d5780636db52510146200054657600080fd5b80635aff599911620002bc5780635aff599914620004da5780636050f2f814620004e457806366d003ac146200050057806366d9a9a0146200050a57600080fd5b80633f7286f414620004bc5780634bf4ba2114620004c6578063587c124314620004d057600080fd5b80631ae726d9116200035b5780631ed7831c11620003325780631ed7831c14620004665780632ade3880146200047f578063392f37e914620004985780633e5e3c2314620004b257600080fd5b80631ae726d9146200043b5780631b96dce614620004525780631e7bcb2e146200045c57600080fd5b80630688b135116200039c5780630688b135146200040a57806308dbbb0314620004145780630f166ad4146200042c578063174eedde146200043357600080fd5b8062b1fad714620003c5578063030e400614620003ec5780630522b7db14620003f6575b600080fd5b620003cf620006fd565b6040516001600160a01b0390911681526020015b60405180910390f35b620003cf62000744565b602054620003cf906001600160a01b031681565b620003cf62000786565b6200041d603281565b604051908152602001620003e3565b30620003cf565b6000620003cf565b620003cf6200044c36600462003628565b620007c8565b620003cf62000b46565b620003cf62000b88565b6200047062000bca565b604051620003e3919062003695565b6200048962000c2e565b604051620003e39190620036fe565b620004a262000d7c565b604051620003e3929190620037c4565b6200047062000e1b565b6200047062000e7d565b6200047062000edf565b620003cf62000f02565b620003cf62000f44565b620003cf732f9e113434aebdd70bb99cb6505e1f726c578d6d81565b620003cf62000f86565b6200051462000fc8565b604051620003e39190620037e7565b620003cf620010b2565b601f54620003cf9061010090046001600160a01b031681565b6200055d6200055736600462003913565b620010f4565b005b62000470620013c5565b620003cf62001467565b6200041d60225481565b62000470620014a9565b620003cf62001518565b620003cf6200155a565b620005a56200159c565b604051620003e39190620039b9565b602154620003cf906001600160a01b031681565b732f9e113434aebdd70bb99cb6505e1f726c578d6d620003cf565b620003cf62001676565b6200041d620005fe36600462003628565b620016b8565b62000514620017b8565b620003cf73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b62000470620018a2565b620003cf62001911565b6200041d6200064f36600462003a1f565b62001953565b620005a562001b53565b6200066962001c2d565b6040519015158152602001620003e3565b6200055d62001d7b565b620003cf62002eb5565b620003cf62002ef7565b620003cf62002f39565b620003cf62002f7b565b620003cf62002fbd565b6200047062002fff565b6200041d620006d136600462003a9b565b62003061565b620003cf6200310f565b601f54620006699060ff1681565b600754620006699060ff1681565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657231000000000000000000000000000000000000008152506200314c565b905090565b60006200073f6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d626572000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600a81526020017f726563697069656e7432000000000000000000000000000000000000000000008152506200314c565b6020546000906001600160a01b031662000b35576000604051620007ec9062003561565b604051809103906000f08015801562000809573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b96040516200082b906200356f565b604051809103906000f08015801562000848573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af1158015620008a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008cb919062003ace565b602080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200098657600080fd5b505af11580156200099b573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b15801562000a2b57600080fd5b505af115801562000a40573d6000803e3d6000fd5b50600092506001915062000a519050565b60405190808252806020026020018201604052801562000a7b578160200160208202803683370190505b509050848160008151811062000a955762000a9562003aee565b6001600160a01b03928316602091820292909201810191909152546040517fb63e800d00000000000000000000000000000000000000000000000000000000815291169063b63e800d9062000afd908490600190600090819081908190819060040162003b04565b600060405180830381600087803b15801562000b1857600080fd5b505af115801562000b2d573d6000803e3d6000fd5b505050505050505b50506020546001600160a01b031690565b60006200073f6040518060400160405280600e81526020017f70726f66696c65325f6f776e65720000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657231000000000000000000000000000000008152506200314c565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c2457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000c05575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d5b57838290600052602060002001805462000cc79062003b6b565b80601f016020809104026020016040519081016040528092919081815260200182805462000cf59062003b6b565b801562000d465780601f1062000d1a5761010080835404028352916020019162000d46565b820191906000526020600020905b81548152906001019060200180831162000d2857829003601f168201915b50505050508152602001906001019062000ca5565b50505050815250508152602001906001019062000c52565b50505050905090565b601380546014805491929162000d929062003b6b565b80601f016020809104026020016040519081016040528092919081815260200182805462000dc09062003b6b565b801562000e115780601f1062000de55761010080835404028352916020019162000e11565b820191906000526020600020905b81548152906001019060200180831162000df357829003601f168201915b5050505050905082565b6060601980548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657231000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280601081526020017f726563697069656e7441646472657373000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600981526020017f726563697069656e7400000000000000000000000000000000000000000000008152506200314c565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200109957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200105a5790505b5050505050815250508152602001906001019062000fec565b60006200073f6040518060400160405280600d81526020017f706f6f6c5f6d616e6167657232000000000000000000000000000000000000008152506200314c565b6000601f60019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080601f60019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200117a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011a0919062003ba7565b6040518b63ffffffff1660e01b8152600401620011c79a9998979695949392919062003bee565b600060405180830381865afa158015620011e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200120f919081019062003c65565b805160208201206022546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012bc919062003ce5565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b166060820152815180820360410181526061820192839052601f547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a7612029062001373908c908c908c90600090819081908190819081908d9060650162003d24565b6020604051808303816000875af115801562001393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013b9919062003dab565b50505050505050505050565b60408051600280825260608083018452926000929190602083019080368337019050509050620013f462000b88565b816000815181106200140a576200140a62003aee565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001518565b816001815181106200144a576200144a62003aee565b6001600160a01b0390921660209283029190910190910152919050565b60006200073f6040518060400160405280600c81526020017f6e6f5f726563697069656e7400000000000000000000000000000000000000008152506200314c565b60408051600280825260608083018452926000929190602083019080368337019050509050620014d8620006fd565b81600081518110620014ee57620014ee62003aee565b60200260200101906001600160a01b031690816001600160a01b03168152505062001434620010b2565b60006200073f6040518060400160405280601081526020017f70726f66696c65315f6d656d62657232000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600a81526020017f616c6c6f5f6f776e6572000000000000000000000000000000000000000000008152506200314c565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d73578382906000526020600020018054620015e29062003b6b565b80601f0160208091040260200160405190810160405280929190818152602001828054620016109062003b6b565b8015620016615780601f10620016355761010080835404028352916020019162001661565b820191906000526020600020905b8154815290600101906020018083116200164357829003601f168201915b505050505081526020019060010190620015c0565b60006200073f6040518060400160405280601081526020017f70726f66696c65325f6d656d62657232000000000000000000000000000000008152506200314c565b601554600090620017b057816001600160a01b0316633a92f65f60026040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c653100000000000000000000000000000000000000008152508152506200173b732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b62001745620014a9565b6040518563ffffffff1660e01b815260040162001766949392919062003df0565b6020604051808303816000875af115801562001786573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017ac919062003ba7565b6015555b505060155490565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d735760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200188957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116200184a5790505b50505050508152505081526020019060010190620017dc565b60408051600280825260608083018452926000929190602083019080368337019050509050620018d162000f02565b81600081518110620018e757620018e762003aee565b60200260200101906001600160a01b031690816001600160a01b0316815250506200143462001676565b60006200073f6040518060400160405280600a81526020017f726563697069656e7431000000000000000000000000000000000000000000008152506200314c565b604080516080810182526000808252602082018190529181018290526060810182905262001989670de0a46bc207d80062003160565b6020820152620019a16702c68af0bb14000062003160565b6040820152620019b866038d7ea4c6800062003160565b6060828101919091526001600160a01b038616825260408051600280825292810182526000929091602083019080368337019050509050308160008151811062001a065762001a0662003aee565b60200260200101906001600160a01b031690816001600160a01b031681525050338160018151811062001a3d5762001a3d62003aee565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9085161562001a745750835b886001600160a01b031663e1007d4a62001a8e88620016b8565b6040805187516001600160a01b0316602080830191909152880151818301529087015160608083019190915287015160808201528b9060a0016040516020818303038152906040528560006013896040518863ffffffff1660e01b815260040162001b00979695949392919062003e6d565b6020604051808303816000875af115801562001b20573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b46919062003ba7565b9998505050505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d7357838290600052602060002001805462001b999062003b6b565b80601f016020809104026020016040519081016040528092919081815260200182805462001bc79062003b6b565b801562001c185780601f1062001bec5761010080835404028352916020019162001c18565b820191906000526020600020905b81548152906001019060200180831162001bfa57829003601f168201915b50505050508152602001906001019062001b77565b600754600090610100900460ff161562001c505750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562001d765760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909162001cf8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162003f8a565b60408051601f198184030181529082905262001d149162003fbc565b6000604051808303816000865af19150503d806000811462001d53576040519150601f19603f3d011682016040523d82523d6000602084013e62001d58565b606091505b509150508080602001905181019062001d72919062003dab565b9150505b919050565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f414c4c4f5f50524f5859000000000000000000000000000000000000000000006044820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801562001e15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e3b919062003ace565b90506001600160a01b03811662001e995760405162461bcd60e51b815260206004820152601260248201527f414c4c4f5f50524f5859206e6f7420736574000000000000000000000000000060448201526064015b60405180910390fd5b80737109709ecfa91a80626ff3989d68f67f5b1dd12d637fec2a8d732f9e113434aebdd70bb99cb6505e1f726c578d6d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562001f0b57600080fd5b505af115801562001f20573d6000803e3d6000fd5b50505050600060405162001f34906200357d565b604051809103906000f08015801562001f51573d6000803e3d6000fd5b5090506000826001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001f95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fbb919062003ace565b9050600060405162001fcd906200358b565b604051809103906000f08015801562001fea573d6000803e3d6000fd5b50905062001ff762003599565b6001600160a01b03808616825284166020808301919091526032604080840191909152600060608401528051808201909152601380548252601480549293919291840191620020469062003b6b565b80601f0160208091040260200160405190810160405280929190818152602001828054620020749062003b6b565b8015620020c55780601f106200209957610100808354040283529160200191620020c5565b820191906000526020600020905b815481529060010190602001808311620020a757829003601f168201915b5050509190925250505060a0820152620020f3732f9e113434aebdd70bb99cb6505e1f726c578d6d620007c8565b6001600160a01b0390811660c08301526040517f4f350fb2000000000000000000000000000000000000000000000000000000008152600091841690634f350fb2906200214590859060040162003fda565b6020604051808303816000875af115801562002165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200218b919062003ace565b90506000866040516200219e9062003604565b6001600160a01b039091168152602001604051809103906000f080158015620021cb573d6000803e3d6000fd5b509050600087604051620021df9062003604565b6001600160a01b039091168152602001604051809103906000f0801580156200220c573d6000803e3d6000fd5b5090506000620022208984868a8c62001953565b90506000620022348a84878b600062001953565b9050836001600160a01b03166369fa25c462002258670dd46c083165900062003160565b6040518263ffffffff1660e01b81526004016200227791815260200190565b600060405180830381600087803b1580156200229257600080fd5b505af1158015620022a7573d6000803e3d6000fd5b50505050836001600160a01b03166311f22ae3620022cd67016345785d8a000062003160565b6040518263ffffffff1660e01b8152600401620022ec91815260200190565b600060405180830381600087803b1580156200230757600080fd5b505af11580156200231c573d6000803e3d6000fd5b50505050836001600160a01b031663fc1711f2620023416601c6bf5263400062003160565b6040518263ffffffff1660e01b81526004016200236091815260200190565b600060405180830381600087803b1580156200237b57600080fd5b505af115801562002390573d6000803e3d6000fd5b50505050826001600160a01b03166369fa25c4620023b6670dd46c083165900062003160565b6040518263ffffffff1660e01b8152600401620023d591815260200190565b600060405180830381600087803b158015620023f057600080fd5b505af115801562002405573d6000803e3d6000fd5b50505050826001600160a01b03166311f22ae36200242b67016345785d8a000062003160565b6040518263ffffffff1660e01b81526004016200244a91815260200190565b600060405180830381600087803b1580156200246557600080fd5b505af11580156200247a573d6000803e3d6000fd5b50505050826001600160a01b031663fc1711f26200249f6601c6bf5263400062003160565b6040518263ffffffff1660e01b8152600401620024be91815260200190565b600060405180830381600087803b158015620024d957600080fd5b505af1158015620024ee573d6000803e3d6000fd5b50505050836001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200252e57600080fd5b505af115801562002543573d6000803e3d6000fd5b50505050826001600160a01b031663814516ad6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200258357600080fd5b505af115801562002598573d6000803e3d6000fd5b50505050886001600160a01b03166340c10f19620025c7732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526127106024820152604401600060405180830381600087803b1580156200261157600080fd5b505af115801562002626573d6000803e3d6000fd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260001960248301528c16925063095ea7b391506044016020604051808303816000875af115801562002694573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620026ba919062003dab565b506040517f5acd6fac000000000000000000000000000000000000000000000000000000008152600481018390526103e860248201526001600160a01b038b1690635acd6fac90604401600060405180830381600087803b1580156200271f57600080fd5b505af115801562002734573d6000803e3d6000fd5b5050505060006040518060c00160405280600181526020018481526020016200276e732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b0316815260200160018152602001603281526020018b6001600160a01b03168152509050600081604051602001620027ae919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620027ee9087908590600401620037c4565b6020604051808303816000875af11580156200280e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002834919062003ace565b506040518060c001604052806002815260200185815260200162002869732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b0316815260200160018152602001601981526020018c6001600160a01b0316815250915081604051602001620028a7919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620028e79087908590600401620037c4565b6020604051808303816000875af115801562002907573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200292d919062003ace565b506040518060c001604052806003815260200185815260200162002962732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b0316815260200160018152602001600a81526020018c6001600160a01b0316815250915081604051602001620029a0919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038d169063075c0e9c90620029e09087908590600401620037c4565b6020604051808303816000875af115801562002a00573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a26919062003ace565b5060006040518060c001604052806001815260200185815260200162002a5d732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b6001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815250905060008160405160200162002a9e919062004050565b60408051601f19818403018152908290526301d703a760e21b825291506001600160a01b038f169063075c0e9c9062002ade9088908590600401620037c4565b6020604051808303816000875af115801562002afe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b24919062003ace565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562002b8457600080fd5b505af115801562002b99573d6000803e3d6000fd5b5050505062002bde6040518060400160405280600a81526020017f506f6f6c49643a202573000000000000000000000000000000000000000000008152508762003179565b62002c1f6040518060400160405280601281526020017f53747261746567793120416464723a202573000000000000000000000000000081525089620031df565b62002c606040518060400160405280601381526020017f506f6f6c49645369676e616c696e673a202573000000000000000000000000008152508662003179565b62002ca16040518060400160405280601281526020017f53747261746567793220416464723a202573000000000000000000000000000081525088620031df565b62002ce26040518060400160405280600d81526020017f416c6c6f20416464723a202573000000000000000000000000000000000000008152508f620031df565b62002d236040518060400160405280600e81526020017f546f6b656e20416464723a2025730000000000000000000000000000000000008152508e620031df565b62002d786040518060400160405280601581526020017f546f6b656e204e617469766520416464723a202573000000000000000000000081525073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee620031df565b62002db96040518060400160405280601981526020017f52656769737472792047617264656e7320416464723a202573000000000000008152508a620031df565b62002dfa6040518060400160405280601681526020017f416c6c6f20526567697374727920416464723a202573000000000000000000008152508d620031df565b62002e566040518060400160405280601381526020017f506f6f6c2041646d696e20416464723a2025730000000000000000000000000081525062002e50732f9e113434aebdd70bb99cb6505e1f726c578d6d90565b620031df565b60408051808201909152601581527f436f756e63696c205361666520416464723a20257300000000000000000000006020808301919091525462002ea491906001600160a01b0316620031df565b505050505050505050505050505050565b60006200073f6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e61676572000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600e81526020017f70726f66696c65315f6f776e65720000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600b81526020017f72616e646f6d20636861640000000000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600d81526020017f616c6c6f5f7472656173757279000000000000000000000000000000000000008152506200314c565b60006200073f6040518060400160405280600e81526020017f72656769737472795f6f776e65720000000000000000000000000000000000008152506200314c565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c24576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000c05575050505050905090565b60008481620030836200307c62989680608087901b620040cf565b8362003241565b905060806f80000000000000000000000000000000620030a78662989680620040f2565b620030b784600160801b620040f2565b620030c6629896808a62004108565b620030d2919062004108565b620030de9190620040cf565b620030ea898562004108565b620030f6919062004122565b62003102919062004122565b901c979650505050505050565b60006200073f6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006200315982620032f6565b5092915050565b60006200317364174876e80083620040cf565b92915050565b620031db82826040516024016200319292919062004138565b60408051601f198184030181529190526020810180516001600160e01b03167fb60e72cc000000000000000000000000000000000000000000000000000000001790526200342b565b5050565b620031db8282604051602401620031f89291906200415c565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200342b565b6000600160801b8310620032985760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b50600160801b82825b8015620032ee5780600116600003620032cb57620032c0828362003439565b915060011c620032a1565b620032d7838362003439565b9250620032e6600182620040f2565b9050620032a1565b505092915050565b600080826040516020016200330c919062003fbc565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200338e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620033b4919062003ace565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620033f2908590879060040162004189565b600060405180830381600087803b1580156200340d57600080fd5b505af115801562003422573d6000803e3d6000fd5b50505050915091565b620034368162003540565b50565b6000600160801b831115620034b75760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840162001e90565b600160801b82106200350c5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640162001e90565b60806f800000000000000000000000000000006200352b848662004108565b62003537919062004122565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b61085280620041ae83390190565b6135948062004a0083390190565b610e678062007f9483390190565b6127688062008dfb83390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001620035f7604051806040016040528060008152602001606081525090565b8152600060209091015290565b613491806200b56383390190565b6001600160a01b03811681146200343657600080fd5b6000602082840312156200363b57600080fd5b8135620036488162003612565b9392505050565b600081518084526020808501945080840160005b838110156200368a5781516001600160a01b03168752958201959082019060010162003663565b509495945050505050565b6020815260006200364860208301846200364f565b60005b83811015620036c7578181015183820152602001620036ad565b50506000910152565b60008151808452620036ea816020860160208601620036aa565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015620037b457603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200379d57605f198985030183526200378a848651620036d0565b948e01949350918d01916001016200376b565b505050978a01979450509188019160010162003725565b50919a9950505050505050505050565b828152604060208201526000620037df6040830184620036d0565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200388f57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620038795783516001600160e01b0319168252928b019260019290920191908b01906200384d565b50978a019795505050918701916001016200380f565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715620038e057620038e06200389e565b604052919050565b600067ffffffffffffffff8211156200390557620039056200389e565b50601f01601f191660200190565b6000806000606084860312156200392957600080fd5b8335620039368162003612565b925060208401359150604084013567ffffffffffffffff8111156200395a57600080fd5b8401601f810186136200396c57600080fd5b8035620039836200397d82620038e8565b620038b4565b8181528760208385010111156200399957600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562003a1257603f19888603018452620039ff858351620036d0565b94509285019290850190600101620039e0565b5092979650505050505050565b600080600080600060a0868803121562003a3857600080fd5b853562003a458162003612565b9450602086013562003a578162003612565b9350604086013562003a698162003612565b9250606086013562003a7b8162003612565b9150608086013562003a8d8162003612565b809150509295509295909350565b6000806000806080858703121562003ab257600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121562003ae157600080fd5b8151620036488162003612565b634e487b7160e01b600052603260045260246000fd5b600061010080835262003b1a8184018b6200364f565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600181811c9082168062003b8057607f821691505b60208210810362003ba157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562003bba57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6002811062003bea5762003bea62003bc1565b9052565b60006101406001600160a01b03808e1684528c602085015281604085015262003c1a8285018d620036d0565b925062003c2b606085018c62003bd7565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b60006020828403121562003c7857600080fd5b815167ffffffffffffffff81111562003c9057600080fd5b8201601f8101841362003ca257600080fd5b805162003cb36200397d82620038e8565b81815285602083850101111562003cc957600080fd5b62003cdc826020830160208601620036aa565b95945050505050565b60008060006060848603121562003cfb57600080fd5b835160ff8116811462003d0d57600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c602085015281604085015262003d508285018d620036d0565b915062003d61606085018c62003bd7565b8960808501528860a08501528760c085015280871660e08501528086166101008501525082810361012084015262003d9a8185620036d0565b9d9c50505050505050505050505050565b60006020828403121562003dbe57600080fd5b815180151581146200364857600080fd5b805182526000602082015160406020850152620037df6040850182620036d0565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152600062003e3f60e083018662003dcf565b6001600160a01b0385166060840152828103608084015262003e6281856200364f565b979650505050505050565b878152600060206001600160a01b03808a168285015260e0604085015262003e9960e085018a620036d0565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c90508582168062003eda57607f821691505b878210810362003ef857634e487b7160e01b84526022600452602484fd5b6040860182905260608601955080801562003f1c576001811462003f335762003f60565b60ff198416875282151560051b8701945062003f60565b60008681526020902060005b8481101562003f5a57815489820152908901908a0162003f3f565b88019550505b5050505086810360c088015262003f7881896200364f565b9e9d5050505050505050505050505050565b6001600160e01b0319831681526000825162003fae816004850160208701620036aa565b919091016004019392505050565b6000825162003fd0818460208701620036aa565b9190910192915050565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501526200403761010085018262003dcf565b90508160c08601511660e0850152809250505092915050565b600060c082019050825182526020830151602083015260408301516001600160a01b038082166040850152606085015191506003821062004095576200409562003bc1565b816060850152608085015160808501528060a08601511660a0850152505092915050565b634e487b7160e01b600052601160045260246000fd5b600082620040ed57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620031735762003173620040b9565b8082028115828204841417620031735762003173620040b9565b80820180821115620031735762003173620040b9565b6040815260006200414d6040830185620036d0565b90508260208301529392505050565b604081526000620041716040830185620036d0565b90506001600160a01b03831660208301529392505050565b6001600160a01b0383168152604060208201526000620037df6040830184620036d056fe608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c6343000813003360806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c63430008130033a2646970667358221220ad1724b73ce4d4ec5c2e0c8ac7ef8cf7c2611f02ef29310ea5cd1c9af3a6830464736f6c63430008130033","sourceMap":"939:4446:92:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;269:28:99:-;;;;;-1:-1:-1;;;;;269:28:99;;;4045:101:38;;;:::i;1021:42:92:-;;1061:2;1021:42;;;;;644:25:100;;;632:2;617:18;1021:42:92;498:177:100;226:92:38;306:4;226:92;;905:138;968:7;905:138;;380:708:99;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;539:79:96:-;;;:::i;:::-;;;;;;;;:::i;3221:133:51:-;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;1070:75:92:-;;1103:42;1070:75;;4152:99:38;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:99:-;;;;;;;;-1:-1:-1;;;;;240:23:99;;;1885:763;;;;;;:::i;:::-;;:::i;:::-;;2792:241:38;;;:::i;4376:105::-;;;:::i;339:34:99:-;;;;;;1989:232:38;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;304:29:99:-;;;;;-1:-1:-1;;;;;304:29:99;;;1152:103:92;1103:42;1152:103;;3485:113:38;;;:::i;931:492:96:-;;;;;;:::i;:::-;;:::i;3069:146:51:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;3938:101::-;;;:::i;1429:1463:96:-;;;;;;:::i;:::-;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;10067:14:100;;10060:22;10042:41;;10030:2;10015:18;1819:584:44;9902:187:100;1379:4004:92;;;:::i;1644:113:38:-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:51:-;;;:::i;3746:378:96:-;;;;;;:::i;:::-;;:::i;3241:119:38:-;;;:::i;800:28:46:-;;;;;;;;;1572:26:44;;;;;;;;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;380:708:99:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:99;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:99;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:99;;-1:-1:-1;;;;;;592:52:99;;;;;;;-1:-1:-1;;;;;10996:55:100;;;592:52:99;;;10978:74:100;11088:2;11068:18;;;11061:30;642:1:99;11107:18:100;;;11100:29;;;11181:18;;;11174:34;11146:19;;592:52:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;;;-1:-1:-1;;;;;658:45:99;;;;;;;;717:54;;;-1:-1:-1;;;717:54:99;;;;;11706:74:100;;;;11796:18;;;11789:30;11855:2;11835:18;;;11828:30;11894:17;11874:18;;;11867:45;658::99;;-1:-1:-1;717:8:99;;;;11929:19:100;;717:54:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:99;;;-1:-1:-1;;;785:45:99;;-1:-1:-1;;;;;12189:55:100;;785:45:99;;;12171:74:100;12261:18;;;12254:30;;;;12320:2;12300:18;;;12293:30;12359:18;12339;;;12332:46;785:8:99;;-1:-1:-1;785:8:99;;-1:-1:-1;12395:19:100;;785:45:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:99;;-1:-1:-1;884:1:99;;-1:-1:-1;870:16:99;;-1:-1:-1;870:16:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:99;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:99;;;:9;;;;;;;;;;:27;;;;941:16;:97;;;;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:99;;-1:-1:-1;;;;;1065:16:99;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;539:79:96:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:99:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:99;-1:-1:-1;;;;;1993:33:99;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:99;-1:-1:-1;;;;;2240:17:99;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:99;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;16517:25:100;;;;16558:18;;;16551:34;;;2301:17:99;;-1:-1:-1;2301:17:99;2280:18;;;;;;2363:7;;;;16490:18:100;;2363:36:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;17177:19:100;;;17212:12;;;17205:28;;;17285:66;17271:3;17267:16;;;17263:89;17249:12;;;17242:111;2435:25:99;;;;;;;;;17369:12:100;;;2435:25:99;;;;2489:11;;:152;;;;17267:16:100;;-1:-1:-1;17177:19:100;;-1:-1:-1;17205:28:100;;-1:-1:-1;2489:11:99;;;-1:-1:-1;;;;;2489:11:99;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:99;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:113:38;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;931:492:96:-;1023:16;;1000:7;;1019:234;;1088:8;-1:-1:-1;;;;;1088:22:96;;1128:1;1149:48;;;;;;;;1169:1;1149:48;;;;;;;;;;;;;;;;;;;;;;;;1199:12;1103:42:92;;1152:103;1199:12:96;1213:15;:13;:15::i;:::-;1088:154;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1069:16;:173;1019:234;-1:-1:-1;;1269:16:96;;;931:492::o;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1429:1463:96:-;-1:-1:-1;;;;;;;;1570:14:96;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;1717:30:96;1731:15;1717:13;:30::i;:::-;1702:12;;;:45;1864:24;1878:9;1864:13;:24::i;:::-;1846:15;;;:42;1933:26;1947:11;1933:13;:26::i;:::-;1917:13;;;;:42;;;;-1:-1:-1;;;;;2056:40:96;;;;2141:16;;;2155:1;2141:16;;;;;;;;-1:-1:-1;;2141:16:96;;;;;;;;;;;;-1:-1:-1;2141:16:96;2107:50;;2195:4;2167:14;2182:1;2167:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;2167:33:96;;;-1:-1:-1;;;;;2167:33:96;;;;;2238:10;2210:14;2225:1;2210:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2210:39:96;;;:17;;;;;;;;;:39;4445:42:9;;2536:19:96;;;2532:64;;-1:-1:-1;2580:5:96;2532:64;2614:4;-1:-1:-1;;;;;2614:33:96;;2702:25;2718:8;2702:15;:25::i;:::-;2772:18;;;20406:13:100;;-1:-1:-1;;;;;20402:62:100;2772:18:96;;;;20384:81:100;;;;20509:17;;20503:24;20481:20;;;20474:54;20572:17;;;20566:24;20544:20;;;;20537:54;;;;20635:17;;20629:24;20607:20;;;20600:54;2749:8:96;;20356:19:100;;2772:18:96;;;;;;;;;;;;2804:6;2824:1;2839:8;2861:14;2614:271;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2605:280;1429:1463;-1:-1:-1;;;;;;;;;1429:1463:96:o;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;23135:74:100;;;2221:17:44;23225:18:100;;;23218:34;2196:43:44;;;;;;;;;23108:18:100;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;1379:4004:92:-;1432:27;;;;;24192:2:100;1432:27:92;;;24174:21:100;24231:2;24211:18;;;24204:30;24270:12;24250:18;;;24243:40;1411:18:92;;1432:13;;;;24300:18:100;;1432:27:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1411:48;-1:-1:-1;;;;;;1473:24:92;;1469:83;;1513:28;;-1:-1:-1;;;1513:28:92;;24787:2:100;1513:28:92;;;24769:21:100;24826:2;24806:18;;;24799:30;24865:20;24845:18;;;24838:48;24903:18;;1513:28:92;;;;;;;;1469:83;1579:10;1601:17;;1103:42;1601:31;;-1:-1:-1;;;;;;1601:31:92;;;;;;;-1:-1:-1;;;;;178:55:100;;;1601:31:92;;;160:74:100;133:18;;1601:31:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:16;1662;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1643:35;;1689:18;1710:4;-1:-1:-1;;;;;1710:16:92;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1689:39;;1845:31;1879:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1845:55;;1911:46;;:::i;:::-;-1:-1:-1;;;;;1968:28:92;;;;;2006:44;;:19;;;;:44;;;;1061:2;2060:26;;;;:42;;;;1968:12;2112:19;;;:23;2145:27;;;;;;;;2164:8;2145:27;;;;;;;;;2164:8;;2145:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2145:27:92;;;;-1:-1:-1;;;2145:16:92;;;:27;2238:35;1103:42;380:708:99;:::i;2238:35:92:-;-1:-1:-1;;;;;2200:75:92;;;:19;;;:75;2336:38;;;;;2286:31;;2336:30;;;;;:38;;2200:6;;2336:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2286:89;;2422:20;2468:4;2445:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;2445:29:92;;;;;;;;;;;;;;;;;;;;;;;2422:52;;2484:20;2530:4;2507:29;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:100;;;160:74;;148:2;133:18;2507:29:92;;;;;;;;;;;;;;;;;;;;;;;2484:52;;2547:14;2576:103;2600:4;2616:9;2636:15;2654:8;2672:5;2576:10;:103::i;:::-;2547:132;;2690:23;2728:99;2752:4;2768:9;2788:15;2806:8;2824:1;2728:10;:99::i;:::-;2690:137;;2838:9;-1:-1:-1;;;;;2838:18:92;;2857:30;2871:15;2857:13;:30::i;:::-;2838:50;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;2838:50:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2915:9;-1:-1:-1;;;;;2915:21:92;;2937:24;2951:9;2937:13;:24::i;:::-;2915:47;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;2915:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2991:9;-1:-1:-1;;;;;2991:19:92;;3011:27;3025:12;3011:13;:27::i;:::-;2991:48;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;2991:48:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3100:9;-1:-1:-1;;;;;3100:18:92;;3119:30;3133:15;3119:13;:30::i;:::-;3100:50;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;3100:50:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3177:9;-1:-1:-1;;;;;3177:21:92;;3199:24;3213:9;3199:13;:24::i;:::-;3177:47;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;3177:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3253:9;-1:-1:-1;;;;;3253:19:92;;3273:27;3287:12;3273:13;:27::i;:::-;3253:48;;;;;;;;;;;;;644:25:100;;632:2;617:18;;498:177;3253:48:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3333:9;-1:-1:-1;;;;;3333:24:92;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3369:9;-1:-1:-1;;;;;3369:24:92;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3476:5;-1:-1:-1;;;;;3476:10:92;;3495:12;1103:42;;1152:103;3495:12;3476:41;;-1:-1:-1;;;;;;3476:41:92;;;;;;;-1:-1:-1;;;;;23153:55:100;;;3476:41:92;;;23135:74:100;3510:6:92;23225:18:100;;;23218:34;23108:18;;3476:41:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3527:47:92;;;;;-1:-1:-1;;;;;23153:55:100;;;3527:47:92;;;23135:74:100;-1:-1:-1;;23225:18:100;;;23218:34;3527:13:92;;;-1:-1:-1;3527:13:92;;-1:-1:-1;23108:18:100;;3527:47:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3584:28:92;;;;;;;;16517:25:100;;;3606:5:92;16558:18:100;;;16551:34;-1:-1:-1;;;;;3584:13:92;;;;;16490:18:100;;3584:28:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3623:41;3679:107;;;;;;;;3705:1;3679:107;;;;3708:6;3679:107;;;;3716:12;1103:42;;1152:103;3716:12;-1:-1:-1;;;;;3679:107:92;;;;;3730:31;3679:107;;;;3763:6;3679:107;;;;3779:5;-1:-1:-1;;;;;3679:107:92;;;;3623:163;;3796:17;3827:8;3816:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3816:20:92;;;;;;;;;;-1:-1:-1;;;3846:36:92;;3816:20;-1:-1:-1;;;;;;3846:22:92;;;;;:36;;3869:6;;3816:20;;3846:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3916:107;;;;;;;;3942:1;3916:107;;;;3945:6;3916:107;;;;3953:12;1103:42;;1152:103;3953:12;-1:-1:-1;;;;;3916:107:92;;;;;3967:31;3916:107;;;;4000:6;3916:107;;;;4016:5;-1:-1:-1;;;;;3916:107:92;;;;3893:130;;4051:8;4040:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4040:20:92;;;;;;;;;;-1:-1:-1;;;4070:36:92;;4040:20;-1:-1:-1;;;;;;4070:22:92;;;;;:36;;4093:6;;4040:20;;4070:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4140:107;;;;;;;;4166:1;4140:107;;;;4169:6;4140:107;;;;4177:12;1103:42;;1152:103;4177:12;-1:-1:-1;;;;;4140:107:92;;;;;4191:31;4140:107;;;;4224:6;4140:107;;;;4240:5;-1:-1:-1;;;;;4140:107:92;;;;4117:130;;4275:8;4264:20;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4264:20:92;;;;;;;;;;-1:-1:-1;;;4294:36:92;;4264:20;-1:-1:-1;;;;;;4294:22:92;;;;;:36;;4317:6;;4264:20;;4294:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4373:42;4418:131;;;;;;;;4457:1;4418:131;;;;4460:15;4418:131;;;;4477:12;1103:42;;1152:103;4477:12;-1:-1:-1;;;;;4418:131:92;;;;;4491:33;4418:131;;;;4526:1;4418:131;;;;4537:1;-1:-1:-1;;;;;4418:131:92;;;;4373:176;;4559:18;4591:9;4580:21;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4580:21:92;;;;;;;;;;-1:-1:-1;;;4611:46:92;;4580:21;-1:-1:-1;;;;;;4611:22:92;;;;;:46;;4634:15;;4580:21;;4611:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;317:28:45;309:37;;-1:-1:-1;;;;;4668:16:92;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4697:34;;;;;;;;;;;;;;;;;;4724:6;4697:12;:34::i;:::-;4741:54;;;;;;;;;;;;;;;;;;4784:9;4741:12;:54::i;:::-;4806:52;;;;;;;;;;;;;;;;;;4842:15;4806:12;:52::i;:::-;4868:54;;;;;;;;;;;;;;;;;;4911:9;4868:12;:54::i;:::-;4933:44;;;;;;;;;;;;;;;;;;4971:4;4933:12;:44::i;:::-;4987:46;;;;;;;;;;;;;;;;;;5026:5;4987:12;:46::i;:::-;5043:54;;;;;;;;;;;;;;;;;;4445:42:9;5043:12:92;:54::i;:::-;5108:67;;;;;;;;;;;;;;;;;;5158:15;5108:12;:67::i;:::-;5186:57;;;;;;;;;;;;;;;;;;5233:8;5186:12;:57::i;:::-;5253:49;;;;;;;;;;;;;;;;;;5289:12;1103:42;;1152:103;5289:12;5253;:49::i;:::-;5312:64;;;;;;;;;;;;;;;;;;;;;5358:16;5312:64;;;-1:-1:-1;;;;;5358:16:92;5312:12;:64::i;:::-;1401:3982;;;;;;;;;;;;;;;1379:4004::o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3746:378:96:-;3896:7;3931:11;3896:7;3972:27;3977:18;817:7;3987:3;3978:12;;;3977:18;:::i;:::-;3997:1;3972:4;:27::i;:::-;3952:47;-1:-1:-1;4114:3:96;723:8;4087:9;4091:5;817:7;4087:9;:::i;:::-;4063:19;4073:9;-1:-1:-1;;;4063:19:96;:::i;:::-;4045:14;817:7;4045:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;4019:21;4031:9;4019;:21;:::i;:::-;4018:80;;;;:::i;:::-;4017:92;;;;:::i;:::-;4016:101;;;3746:378;-1:-1:-1;;;;;;;3746:378:96:o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;2898:114:96:-;2961:7;2987:18;2997:8;2987:7;:18;:::i;:::-;2980:25;2898:114;-1:-1:-1;;2898:114:96:o;7546:145:60:-;7613:71;7676:2;7680;7629:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7629:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;7629:54:60;;;;;7613:15;:71::i;:::-;7546:145;;:::o;8147:::-;8214:71;8277:2;8281;8230:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8230:54:60;;;;;;;;;;;;;;-1:-1:-1;;;;;8230:54:60;;;;;8214:15;:71::i;3293:447:96:-;3354:15;-1:-1:-1;;;3389:2:96;:12;3381:53;;;;-1:-1:-1;;;3381:53:96;;29780:2:100;3381:53:96;;;29762:21:100;29819:2;29799:18;;;29792:30;29858;29838:18;;;29831:58;29906:18;;3381:53:96;29578:352:100;3381:53:96;-1:-1:-1;;;;3456:2:96;3480;3519:215;3526:5;;3519:215;;3551:1;3555;3551:5;3560:1;3551:10;3547:177;;3585:10;3590:1;3593;3585:4;:10::i;:::-;3581:14;-1:-1:-1;3619:1:96;3613:7;3519:215;;3547:177;3669:16;3674:7;3683:1;3669:4;:16::i;:::-;3659:26;-1:-1:-1;3703:6:96;3708:1;3703:6;;:::i;:::-;;;3519:215;;;3371:369;;3293:447;;;;:::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:100;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:100;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;868:133:60:-;939:55;986:7;965:19;939:55::i;:::-;868:133;:::o;3018:269:96:-;3079:15;-1:-1:-1;;;3114:2:96;:13;;3106:66;;;;-1:-1:-1;;;3106:66:96;;30776:2:100;3106:66:96;;;30758:21:100;30815:2;30795:18;;;30788:30;30854:34;30834:18;;;30827:62;30925:10;30905:18;;;30898:38;30953:19;;3106:66:96;30574:404:100;3106:66:96;-1:-1:-1;;;3190:2:96;:12;3182:53;;;;-1:-1:-1;;;3182:53:96;;31185:2:100;3182:53:96;;;31167:21:100;31224:2;31204:18;;;31197:30;31263;31243:18;;;31236:58;31311:18;;3182:53:96;30983:352:100;3182:53:96;3277:3;723:8;3254:7;3259:2;3254;:7;:::i;:::-;3253:19;;;;:::i;:::-;3252:28;;;3018:269;-1:-1:-1;;;3018:269:96:o;1007:380:60:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;680:154:100:-;-1:-1:-1;;;;;759:5:100;755:54;748:5;745:65;735:93;;824:1;821;814:12;839:247;898:6;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;839:247;-1:-1:-1;;;839:247:100:o;1257:484::-;1310:3;1348:5;1342:12;1375:6;1370:3;1363:19;1401:4;1430:2;1425:3;1421:12;1414:19;;1467:2;1460:5;1456:14;1488:1;1498:218;1512:6;1509:1;1506:13;1498:218;;;1577:13;;-1:-1:-1;;;;;1573:62:100;1561:75;;1656:12;;;;1691:15;;;;1534:1;1527:9;1498:218;;;-1:-1:-1;1732:3:100;;1257:484;-1:-1:-1;;;;;1257:484:100:o;1746:261::-;1925:2;1914:9;1907:21;1888:4;1945:56;1997:2;1986:9;1982:18;1974:6;1945:56;:::i;2012:250::-;2097:1;2107:113;2121:6;2118:1;2115:13;2107:113;;;2197:11;;;2191:18;2178:11;;;2171:39;2143:2;2136:10;2107:113;;;-1:-1:-1;;2254:1:100;2236:16;;2229:27;2012:250::o;2267:271::-;2309:3;2347:5;2341:12;2374:6;2369:3;2362:19;2390:76;2459:6;2452:4;2447:3;2443:14;2436:4;2429:5;2425:16;2390:76;:::i;:::-;2520:2;2499:15;-1:-1:-1;;2495:29:100;2486:39;;;;2527:4;2482:50;;2267:271;-1:-1:-1;;2267:271:100:o;2543:1767::-;2778:2;2830:21;;;2900:13;;2803:18;;;2922:22;;;2749:4;;2778:2;2963;;2981:18;;;;3018:1;3061:15;;;3046:31;;3042:40;;3105:15;;;2749:4;;3169:1112;3185:6;3180:3;3177:15;3169:1112;;;-1:-1:-1;;3254:22:100;;;3250:36;3238:49;;3310:13;;3397:9;;-1:-1:-1;;;;;3393:58:100;3378:74;;3491:11;;3485:18;3523:15;;;3516:27;;;3604:19;;3350:15;;;3636:24;;;3817:21;;;;3683:2;3765:17;;;3753:30;;3749:39;;;3707:15;;;;3862:1;3876:296;3892:8;3887:3;3884:17;3876:296;;;3998:2;3994:7;3985:6;3977;3973:19;3969:33;3962:5;3955:48;4030:42;4065:6;4054:8;4048:15;4030:42;:::i;:::-;4101:17;;;;4020:52;-1:-1:-1;4144:14:100;;;;3920:1;3911:11;3876:296;;;-1:-1:-1;;;4259:12:100;;;;4195:6;-1:-1:-1;;4224:15:100;;;;3211:1;3202:11;3169:1112;;;-1:-1:-1;4298:6:100;;2543:1767;-1:-1:-1;;;;;;;;;;2543:1767:100:o;4315:291::-;4492:6;4481:9;4474:25;4535:2;4530;4519:9;4515:18;4508:30;4455:4;4555:45;4596:2;4585:9;4581:18;4573:6;4555:45;:::i;:::-;4547:53;4315:291;-1:-1:-1;;;;4315:291:100:o;4611:1638::-;4815:4;4844:2;4884;4873:9;4869:18;4914:2;4903:9;4896:21;4937:6;4972;4966:13;5003:6;4995;4988:22;5029:2;5019:12;;5062:2;5051:9;5047:18;5040:25;;5124:2;5114:6;5111:1;5107:14;5096:9;5092:30;5088:39;5162:2;5154:6;5150:15;5183:1;5204;5214:1006;5230:6;5225:3;5222:15;5214:1006;;;5299:22;;;-1:-1:-1;;5295:36:100;5283:49;;5355:13;;5442:9;;-1:-1:-1;;;;;5438:58:100;5423:74;;5536:11;;5530:18;5568:15;;;5561:27;;;5649:19;;5395:15;;;5681:24;;;5771:21;;;;5816:1;;5739:2;5727:15;;;5830:282;5846:8;5841:3;5838:17;5830:282;;;5927:15;;-1:-1:-1;;;;;;5923:88:100;5909:103;;6081:17;;;;5874:1;5865:11;;;;;6038:14;;;;5830:282;;;-1:-1:-1;6198:12:100;;;;6135:5;-1:-1:-1;;;6163:15:100;;;;5256:1;5247:11;5214:1006;;;-1:-1:-1;6237:6:100;;4611:1638;-1:-1:-1;;;;;;;;;4611:1638:100:o;6254:184::-;-1:-1:-1;;;6303:1:100;6296:88;6403:4;6400:1;6393:15;6427:4;6424:1;6417:15;6443:275;6514:2;6508:9;6579:2;6560:13;;-1:-1:-1;;6556:27:100;6544:40;;6614:18;6599:34;;6635:22;;;6596:62;6593:88;;;6661:18;;:::i;:::-;6697:2;6690:22;6443:275;;-1:-1:-1;6443:275:100:o;6723:186::-;6771:4;6804:18;6796:6;6793:30;6790:56;;;6826:18;;:::i;:::-;-1:-1:-1;6892:2:100;6871:15;-1:-1:-1;;6867:29:100;6898:4;6863:40;;6723:186::o;6914:874::-;7000:6;7008;7016;7069:2;7057:9;7048:7;7044:23;7040:32;7037:52;;;7085:1;7082;7075:12;7037:52;7124:9;7111:23;7143:31;7168:5;7143:31;:::i;:::-;7193:5;-1:-1:-1;7245:2:100;7230:18;;7217:32;;-1:-1:-1;7300:2:100;7285:18;;7272:32;7327:18;7316:30;;7313:50;;;7359:1;7356;7349:12;7313:50;7382:22;;7435:4;7427:13;;7423:27;-1:-1:-1;7413:55:100;;7464:1;7461;7454:12;7413:55;7500:2;7487:16;7525:48;7541:31;7569:2;7541:31;:::i;:::-;7525:48;:::i;:::-;7596:2;7589:5;7582:17;7636:7;7631:2;7626;7622;7618:11;7614:20;7611:33;7608:53;;;7657:1;7654;7647:12;7608:53;7712:2;7707;7703;7699:11;7694:2;7687:5;7683:14;7670:45;7756:1;7751:2;7746;7739:5;7735:14;7731:23;7724:34;7777:5;7767:15;;;;;6914:874;;;;;:::o;7793:803::-;7955:4;7984:2;8024;8013:9;8009:18;8054:2;8043:9;8036:21;8077:6;8112;8106:13;8143:6;8135;8128:22;8181:2;8170:9;8166:18;8159:25;;8243:2;8233:6;8230:1;8226:14;8215:9;8211:30;8207:39;8193:53;;8281:2;8273:6;8269:15;8302:1;8312:255;8326:6;8323:1;8320:13;8312:255;;;8419:2;8415:7;8403:9;8395:6;8391:22;8387:36;8382:3;8375:49;8447:40;8480:6;8471;8465:13;8447:40;:::i;:::-;8437:50;-1:-1:-1;8545:12:100;;;;8510:15;;;;8348:1;8341:9;8312:255;;;-1:-1:-1;8584:6:100;;7793:803;-1:-1:-1;;;;;;;7793:803:100:o;9053:844::-;9179:6;9187;9195;9203;9211;9264:3;9252:9;9243:7;9239:23;9235:33;9232:53;;;9281:1;9278;9271:12;9232:53;9320:9;9307:23;9339:31;9364:5;9339:31;:::i;:::-;9389:5;-1:-1:-1;9446:2:100;9431:18;;9418:32;9459:33;9418:32;9459:33;:::i;:::-;9511:7;-1:-1:-1;9570:2:100;9555:18;;9542:32;9583:33;9542:32;9583:33;:::i;:::-;9635:7;-1:-1:-1;9694:2:100;9679:18;;9666:32;9707:33;9666:32;9707:33;:::i;:::-;9759:7;-1:-1:-1;9818:3:100;9803:19;;9790:33;9832;9790;9832;:::i;:::-;9884:7;9874:17;;;9053:844;;;;;;;;:::o;10341:385::-;10427:6;10435;10443;10451;10504:3;10492:9;10483:7;10479:23;10475:33;10472:53;;;10521:1;10518;10511:12;10472:53;-1:-1:-1;;10544:23:100;;;10614:2;10599:18;;10586:32;;-1:-1:-1;10665:2:100;10650:18;;10637:32;;10716:2;10701:18;10688:32;;-1:-1:-1;10341:385:100;-1:-1:-1;10341:385:100:o;11219:270::-;11308:6;11361:2;11349:9;11340:7;11336:23;11332:32;11329:52;;;11377:1;11374;11367:12;11329:52;11409:9;11403:16;11428:31;11453:5;11428:31;:::i;12425:184::-;-1:-1:-1;;;12474:1:100;12467:88;12574:4;12571:1;12564:15;12598:4;12595:1;12588:15;12614:1065;13056:4;13085:3;13115:2;13104:9;13097:21;13141:56;13193:2;13182:9;13178:18;13170:6;13141:56;:::i;:::-;13228:2;13213:18;;;13206:34;;;;-1:-1:-1;;;;;13337:15:100;;;13332:2;13317:18;;13310:43;13389:22;;;13384:2;13369:18;;13362:50;-1:-1:-1;13421:17:100;;13507:15;;;13501:3;13486:19;;13479:44;-1:-1:-1;;13560:15:100;;;13554:3;13539:19;;13532:44;13607:3;13592:19;;13585:35;;;;13657:15;;;13651:3;13636:19;;;13629:44;;;;13455:15;;12614:1065;-1:-1:-1;12614:1065:100:o;13684:437::-;13763:1;13759:12;;;;13806;;;13827:61;;13881:4;13873:6;13869:17;13859:27;;13827:61;13934:2;13926:6;13923:14;13903:18;13900:38;13897:218;;-1:-1:-1;;;13968:1:100;13961:88;14072:4;14069:1;14062:15;14100:4;14097:1;14090:15;13897:218;;13684:437;;;:::o;14126:184::-;14196:6;14249:2;14237:9;14228:7;14224:23;14220:32;14217:52;;;14265:1;14262;14255:12;14217:52;-1:-1:-1;14288:16:100;;14126:184;-1:-1:-1;14126:184:100:o;14315:::-;-1:-1:-1;;;14364:1:100;14357:88;14464:4;14461:1;14454:15;14488:4;14485:1;14478:15;14504:140;14585:1;14578:5;14575:12;14565:46;;14591:18;;:::i;:::-;14620;;14504:140::o;14649:1037::-;15056:4;15085:3;-1:-1:-1;;;;;15188:2:100;15180:6;15176:15;15165:9;15158:34;15228:6;15223:2;15212:9;15208:18;15201:34;15271:2;15266;15255:9;15251:18;15244:30;15291:45;15332:2;15321:9;15317:18;15309:6;15291:45;:::i;:::-;15283:53;;15345;15394:2;15383:9;15379:18;15371:6;15345:53;:::i;:::-;15429:3;15414:19;;15407:35;;;;-1:-1:-1;15473:3:100;15458:19;;15451:35;;;;15517:3;15502:19;;15495:35;;;;15567:15;;;15561:3;15546:19;;15539:44;15620:15;;;15614:3;15599:19;;15592:44;15667:3;15652:19;15645:35;;;;14649:1037;;-1:-1:-1;;;;14649:1037:100:o;15691:647::-;15770:6;15823:2;15811:9;15802:7;15798:23;15794:32;15791:52;;;15839:1;15836;15829:12;15791:52;15872:9;15866:16;15905:18;15897:6;15894:30;15891:50;;;15937:1;15934;15927:12;15891:50;15960:22;;16013:4;16005:13;;16001:27;-1:-1:-1;15991:55:100;;16042:1;16039;16032:12;15991:55;16071:2;16065:9;16096:48;16112:31;16140:2;16112:31;:::i;16096:48::-;16167:2;16160:5;16153:17;16207:7;16202:2;16197;16193;16189:11;16185:20;16182:33;16179:53;;;16228:1;16225;16218:12;16179:53;16241:67;16305:2;16300;16293:5;16289:14;16284:2;16280;16276:11;16241:67;:::i;:::-;16327:5;15691:647;-1:-1:-1;;;;;15691:647:100:o;16596:395::-;16682:6;16690;16698;16751:2;16739:9;16730:7;16726:23;16722:32;16719:52;;;16767:1;16764;16757:12;16719:52;16799:9;16793:16;16849:4;16842:5;16838:16;16831:5;16828:27;16818:55;;16869:1;16866;16859:12;16818:55;16937:2;16922:18;;16916:25;16981:2;16966:18;;;16960:25;16892:5;;16916:25;;-1:-1:-1;16960:25:100;16596:395;-1:-1:-1;;;16596:395:100:o;17392:1135::-;17825:4;17854:3;-1:-1:-1;;;;;17957:2:100;17949:6;17945:15;17934:9;17927:34;17997:6;17992:2;17981:9;17977:18;17970:34;18040:2;18035;18024:9;18020:18;18013:30;18066:45;18107:2;18096:9;18092:18;18084:6;18066:45;:::i;:::-;18052:59;;18120:53;18169:2;18158:9;18154:18;18146:6;18120:53;:::i;:::-;18210:6;18204:3;18193:9;18189:19;18182:35;18254:6;18248:3;18237:9;18233:19;18226:35;18298:6;18292:3;18281:9;18277:19;18270:35;18354:2;18346:6;18342:15;18336:3;18325:9;18321:19;18314:44;18407:2;18399:6;18395:15;18389:3;18378:9;18374:19;18367:44;;18460:9;18452:6;18448:22;18442:3;18431:9;18427:19;18420:51;18488:33;18514:6;18506;18488:33;:::i;:::-;18480:41;17392:1135;-1:-1:-1;;;;;;;;;;;;;17392:1135:100:o;18532:277::-;18599:6;18652:2;18640:9;18631:7;18627:23;18623:32;18620:52;;;18668:1;18665;18658:12;18620:52;18700:9;18694:16;18753:5;18746:13;18739:21;18732:5;18729:32;18719:60;;18775:1;18772;18765:12;18814:252;18901:5;18895:12;18890:3;18883:25;18865:3;18954:4;18947:5;18943:16;18937:23;18992:4;18985;18980:3;18976:14;18969:28;19013:47;19054:4;19049:3;19045:14;19031:12;19013:47;:::i;19071:902::-;19495:6;19484:9;19477:25;19538:3;19533:2;19522:9;19518:18;19511:31;19579:2;19573:3;19562:9;19558:19;19551:31;19619:16;19613:3;19602:9;19598:19;19591:45;19672:3;19667:2;19656:9;19652:18;19645:31;19458:4;19699:55;19749:3;19738:9;19734:19;19726:6;19699:55;:::i;:::-;-1:-1:-1;;;;;19794:6:100;19790:55;19785:2;19774:9;19770:18;19763:83;19895:9;19887:6;19883:22;19877:3;19866:9;19862:19;19855:51;19923:44;19960:6;19952;19923:44;:::i;:::-;19915:52;19071:902;-1:-1:-1;;;;;;;19071:902:100:o;20791:2165::-;21213:6;21202:9;21195:25;21176:4;21239:2;-1:-1:-1;;;;;21350:2:100;21342:6;21338:15;21333:2;21322:9;21318:18;21311:43;21390:3;21385:2;21374:9;21370:18;21363:31;21417:46;21458:3;21447:9;21443:19;21435:6;21417:46;:::i;:::-;21511:2;21503:6;21499:15;21494:2;21483:9;21479:18;21472:43;21552:6;21546:3;21535:9;21531:19;21524:35;21608:9;21600:6;21596:22;21590:3;21579:9;21575:19;21568:51;21649:6;21643:13;21635:6;21628:29;21676:4;21666:14;;21721:2;21713:6;21709:15;21757:2;21752;21744:6;21740:15;21733:27;21780:1;21813:12;21807:19;21849:3;21879:9;21875:2;21871:18;21861:28;;21939:2;21928:9;21924:18;21961;21951:61;;22005:4;21997:6;21993:17;21983:27;;21951:61;22058:2;22050:6;22047:14;22027:18;22024:38;22021:222;;-1:-1:-1;;;22092:3:100;22085:90;22198:4;22195:1;22188:15;22228:4;22223:3;22216:17;22021:222;22322:2;22310:15;;1189:19;;;1232:14;;;22252:82;-1:-1:-1;22350:18:100;22377:128;;;;22519:1;22514:321;;;;22343:492;;22377:128;-1:-1:-1;;22410:24:100;;22398:37;;22478:14;;22471:22;22468:1;22464:30;22455:40;;;-1:-1:-1;22377:128:100;;22514:321;20738:1;20731:14;;;20775:4;20762:18;;22615:1;22629:165;22643:6;22640:1;22637:13;22629:165;;;22721:14;;22708:11;;;22701:35;22764:16;;;;22658:10;;22629:165;;;22814:11;;;-1:-1:-1;;22343:492:100;;;;;22881:9;22876:3;22872:19;22866:3;22855:9;22851:19;22844:48;22909:41;22946:3;22938:6;22909:41;:::i;:::-;22901:49;20791:2165;-1:-1:-1;;;;;;;;;;;;;;20791:2165:100:o;23263:430::-;-1:-1:-1;;;;;;23452:6:100;23448:79;23443:3;23436:92;23418:3;23557:6;23551:13;23573:74;23640:6;23636:1;23631:3;23627:11;23620:4;23612:6;23608:17;23573:74;:::i;:::-;23667:16;;;;23685:1;23663:24;;23263:430;-1:-1:-1;;;23263:430:100:o;23698:287::-;23827:3;23865:6;23859:13;23881:66;23940:6;23935:3;23928:4;23920:6;23916:17;23881:66;:::i;:::-;23963:16;;;;;23698:287;-1:-1:-1;;23698:287:100:o;25206:848::-;25405:2;25394:9;25387:21;25368:4;-1:-1:-1;;;;;25524:2:100;25515:6;25509:13;25505:22;25500:2;25489:9;25485:18;25478:50;25592:2;25586;25578:6;25574:15;25568:22;25564:31;25559:2;25548:9;25544:18;25537:59;25650:2;25642:6;25638:15;25632:22;25627:2;25616:9;25612:18;25605:50;25710:2;25702:6;25698:15;25692:22;25686:3;25675:9;25671:19;25664:51;25770:3;25762:6;25758:16;25752:23;25746:3;25735:9;25731:19;25724:52;25823:3;25815:6;25811:16;25805:23;25865:4;25859:3;25848:9;25844:19;25837:33;25893:61;25949:3;25938:9;25934:19;25920:12;25893:61;:::i;:::-;25879:75;;26021:2;26014:3;26006:6;26002:16;25996:23;25992:32;25985:4;25974:9;25970:20;25963:62;26042:6;26034:14;;;;25206:848;;;;:::o;26939:795::-;27097:4;27139:3;27128:9;27124:19;27116:27;;27176:6;27170:13;27159:9;27152:32;27240:4;27232:6;27228:17;27222:24;27215:4;27204:9;27200:20;27193:54;27294:4;27286:6;27282:17;27276:24;-1:-1:-1;;;;;27417:2:100;27403:12;27399:21;27392:4;27381:9;27377:20;27370:51;27470:4;27462:6;27458:17;27452:24;27430:46;;27514:1;27498:14;27495:21;27485:55;;27520:18;;:::i;:::-;27578:14;27571:4;27560:9;27556:20;27549:44;27649:4;27641:6;27637:17;27631:24;27624:4;27613:9;27609:20;27602:54;27724:2;27716:4;27708:6;27704:17;27698:24;27694:33;27687:4;27676:9;27672:20;27665:63;;;26939:795;;;;:::o;28033:184::-;-1:-1:-1;;;28082:1:100;28075:88;28182:4;28179:1;28172:15;28206:4;28203:1;28196:15;28222:274;28262:1;28288;28278:189;;-1:-1:-1;;;28320:1:100;28313:88;28424:4;28421:1;28414:15;28452:4;28449:1;28442:15;28278:189;-1:-1:-1;28481:9:100;;28222:274::o;28501:128::-;28568:9;;;28589:11;;;28586:37;;;28603:18;;:::i;28634:168::-;28707:9;;;28738;;28755:15;;;28749:22;;28735:37;28725:71;;28776:18;;:::i;28807:125::-;28872:9;;;28893:10;;;28890:36;;;28906:18;;:::i;28937:291::-;29114:2;29103:9;29096:21;29077:4;29134:45;29175:2;29164:9;29160:18;29152:6;29134:45;:::i;:::-;29126:53;;29215:6;29210:2;29199:9;29195:18;29188:34;28937:291;;;;;:::o;29233:340::-;29410:2;29399:9;29392:21;29373:4;29430:45;29471:2;29460:9;29456:18;29448:6;29430:45;:::i;:::-;29422:53;;-1:-1:-1;;;;;29515:6:100;29511:55;29506:2;29495:9;29491:18;29484:83;29233:340;;;;;:::o;30229:::-;-1:-1:-1;;;;;30410:6:100;30406:55;30395:9;30388:74;30498:2;30493;30482:9;30478:18;30471:30;30369:4;30518:45;30559:2;30548:9;30544:18;30536:6;30518:45;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","SENDER()":"6050f2f8","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","_councilSafeWithOwner(address)":"1ae726d9","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","createPool(address,address,address,address,address)":"ae159601","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address)":"914a5f6d","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16","run()":"c0406226","safeHelper(address,uint256,bytes)":"6db52510","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SENDER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryGardens\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":\"DeployCVArbSepolia\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/script/DeployCVArbSepolia.s.sol\":{\"keccak256\":\"0x67bb3c65bbf9d690ba1342172faa7ba2f0452f3c8e37a582104d2f6e743f2290\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://70c30e33a1f20c2d7d40a6974dbdacf27b4f2b23f1bf48fd236704edebf85ba4\",\"dweb:/ipfs/QmbZa3F3sZ1ZA7Gkm76WfdW718YVhiK6XXun1DJgw4d5iC\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484\",\"dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SENDER","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryGardens","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/DeployCVArbSepolia.s.sol":"DeployCVArbSepolia"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/script/DeployCVArbSepolia.s.sol":{"keccak256":"0x67bb3c65bbf9d690ba1342172faa7ba2f0452f3c8e37a582104d2f6e743f2290","urls":["bzz-raw://70c30e33a1f20c2d7d40a6974dbdacf27b4f2b23f1bf48fd236704edebf85ba4","dweb:/ipfs/QmbZa3F3sZ1ZA7Gkm76WfdW718YVhiK6XXun1DJgw4d5iC"],"license":"UNLICENSED"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0x1ef5d532b18514f6fb715a11a84c977f2147a06445688b45907b90caf7c759f9","urls":["bzz-raw://ee0320861dd0cb0a28e35bc9a024afabde12651270adee6f0440b6f89d022484","dweb:/ipfs/QmZiAvS8tofu1h8W8bNqWMCZhLRi6eh15kGnNMcZ9aCHfg"],"license":"UNLICENSED"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/script/DeployCVArbSepolia.s.sol","id":59044,"exportedSymbols":{"AMockERC20":[9751],"Accounts":[9264],"Allo":[1390],"BaseStrategy":[3923],"CVStrategy":[61025],"CVStrategyHelpers":[62208],"DeployCVArbSepolia":[59043],"IAllo":[2610],"IERC20":[6903],"IRegistry":[2802],"IWithdrawMember":[59058],"Metadata":[3098],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"SafeSetup":[65847],"Script":[12629],"ScriptBase":[12590],"StdChains":[14811],"StdCheatsSafe":[16871],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"VmSafe":[23817],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdJson":[18581],"stdMath":[18723],"stdStorageSafe":[19803]},"nodeType":"SourceUnit","src":"39:5347:92","nodes":[{"id":58458,"nodeType":"PragmaDirective","src":"39:24:92","nodes":[],"literals":["solidity","^","0.8",".13"]},{"id":58459,"nodeType":"ImportDirective","src":"65:32:92","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":40483,"symbolAliases":[],"unitAlias":""},{"id":58460,"nodeType":"ImportDirective","src":"98:30:92","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":12630,"symbolAliases":[],"unitAlias":""},{"id":58461,"nodeType":"ImportDirective","src":"129:56:92","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":58462,"nodeType":"ImportDirective","src":"186:31:92","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":61026,"symbolAliases":[],"unitAlias":""},{"id":58464,"nodeType":"ImportDirective","src":"218:66:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":58463,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"226:5:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58466,"nodeType":"ImportDirective","src":"285:53:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":58465,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"293:4:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58468,"nodeType":"ImportDirective","src":"339:74:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":58467,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"347:9:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58470,"nodeType":"ImportDirective","src":"414:61:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":58469,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"422:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58472,"nodeType":"ImportDirective","src":"476:67:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":58471,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"484:6:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58474,"nodeType":"ImportDirective","src":"544:64:92","nodes":[],"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","file":"../test/CVStrategyHelpers.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":62209,"symbolAliases":[{"foreign":{"id":58473,"name":"CVStrategyHelpers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62208,"src":"552:17:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58476,"nodeType":"ImportDirective","src":"609:73:92","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":58475,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"617:9:92","typeDescriptions":{}},"local":"AMockERC20","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58478,"nodeType":"ImportDirective","src":"683:59:92","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":58477,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"691:15:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58480,"nodeType":"ImportDirective","src":"743:55:92","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"../test/shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":65848,"symbolAliases":[{"foreign":{"id":58479,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65847,"src":"751:9:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58482,"nodeType":"ImportDirective","src":"799:71:92","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":58481,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"807:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":58484,"nodeType":"ImportDirective","src":"871:66:92","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":59044,"sourceUnit":9265,"symbolAliases":[{"foreign":{"id":58483,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"879:8:92","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":59043,"nodeType":"ContractDefinition","src":"939:4446:92","nodes":[{"id":58495,"nodeType":"VariableDeclaration","src":"1021:42:92","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1045:13:92","scope":59043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58493,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530","id":58494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1061:2:92","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"id":58498,"nodeType":"VariableDeclaration","src":"1070:75:92","nodes":[],"constant":true,"functionSelector":"6050f2f8","mutability":"constant","name":"SENDER","nameLocation":"1094:6:92","scope":59043,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58496,"name":"address","nodeType":"ElementaryTypeName","src":"1070:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307832463965313133343334616542446437306242393963423635303565314637323643353738443664","id":58497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1103:42:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x2F9e113434aeBDd70bB99cB6505e1F726C578D6d"},"visibility":"public"},{"id":58510,"nodeType":"FunctionDefinition","src":"1152:103:92","nodes":[],"body":{"id":58509,"nodeType":"Block","src":"1216:39:92","nodes":[],"statements":[{"expression":{"arguments":[{"id":58506,"name":"SENDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58498,"src":"1241:6:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1233:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58504,"name":"address","nodeType":"ElementaryTypeName","src":"1233:7:92","typeDescriptions":{}}},"id":58507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":58503,"id":58508,"nodeType":"Return","src":"1226:22:92"}]},"baseFunctions":[8991],"functionSelector":"8e0d1a50","implemented":true,"kind":"function","modifiers":[],"name":"pool_admin","nameLocation":"1161:10:92","overrides":{"id":58500,"nodeType":"OverrideSpecifier","overrides":[],"src":"1189:8:92"},"parameters":{"id":58499,"nodeType":"ParameterList","parameters":[],"src":"1171:2:92"},"returnParameters":{"id":58503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":58510,"src":"1207:7:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58501,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1206:9:92"},"scope":59043,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":59042,"nodeType":"FunctionDefinition","src":"1379:4004:92","nodes":[],"body":{"id":59041,"nodeType":"Block","src":"1401:3982:92","nodes":[],"statements":[{"assignments":[58514],"declarations":[{"constant":false,"id":58514,"mutability":"mutable","name":"allo_proxy","nameLocation":"1419:10:92","nodeType":"VariableDeclaration","scope":59041,"src":"1411:18:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58513,"name":"address","nodeType":"ElementaryTypeName","src":"1411:7:92","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":58519,"initialValue":{"arguments":[{"hexValue":"414c4c4f5f50524f5859","id":58517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1446:12:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""},"value":"ALLO_PROXY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bb709c071216aaae207676425d804f685cbe5329c2556fcf09c2a13a3ac52aa","typeString":"literal_string \"ALLO_PROXY\""}],"expression":{"id":58515,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1432:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:10:92","memberName":"envAddress","nodeType":"MemberAccess","referencedDeclaration":22972,"src":"1432:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":58518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1411:48:92"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":58525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":58520,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58514,"src":"1473:10:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":58523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1495:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1487:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58521,"name":"address","nodeType":"ElementaryTypeName","src":"1487:7:92","typeDescriptions":{}}},"id":58524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1487:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1473:24:92","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58531,"nodeType":"IfStatement","src":"1469:83:92","trueBody":{"id":58530,"nodeType":"Block","src":"1499:53:92","statements":[{"expression":{"arguments":[{"hexValue":"414c4c4f5f50524f5859206e6f7420736574","id":58527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1520:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""},"value":"ALLO_PROXY not set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_baddd551b8d62b4157edbe064d8c26e9105212550fa31fbcd4bbe050627813c4","typeString":"literal_string \"ALLO_PROXY not set\""}],"id":58526,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1513:6:92","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":58528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1513:28:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58529,"nodeType":"ExpressionStatement","src":"1513:28:92"}]}},{"assignments":[58534],"declarations":[{"constant":false,"id":58534,"mutability":"mutable","name":"allo","nameLocation":"1567:4:92","nodeType":"VariableDeclaration","scope":59041,"src":"1562:9:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":58533,"nodeType":"UserDefinedTypeName","pathNode":{"id":58532,"name":"Allo","nameLocations":["1562:4:92"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"1562:4:92"},"referencedDeclaration":1390,"src":"1562:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"}],"id":58538,"initialValue":{"arguments":[{"id":58536,"name":"allo_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58514,"src":"1579:10:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58535,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"1574:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1574:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"nodeType":"VariableDeclarationStatement","src":"1562:28:92"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58542,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"1619:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1619:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1601:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1604:14:92","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":23300,"src":"1601:17:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":58544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1601:31:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58545,"nodeType":"ExpressionStatement","src":"1601:31:92"},{"assignments":[58548],"declarations":[{"constant":false,"id":58548,"mutability":"mutable","name":"token","nameLocation":"1654:5:92","nodeType":"VariableDeclaration","scope":59041,"src":"1643:16:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":58547,"nodeType":"UserDefinedTypeName","pathNode":{"id":58546,"name":"AMockERC20","nameLocations":["1643:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1643:10:92"},"referencedDeclaration":9751,"src":"1643:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"internal"}],"id":58553,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1662:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":58550,"nodeType":"UserDefinedTypeName","pathNode":{"id":58549,"name":"AMockERC20","nameLocations":["1666:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1666:10:92"},"referencedDeclaration":9751,"src":"1666:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":58552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1662:16:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"VariableDeclarationStatement","src":"1643:35:92"},{"assignments":[58556],"declarations":[{"constant":false,"id":58556,"mutability":"mutable","name":"registry","nameLocation":"1699:8:92","nodeType":"VariableDeclaration","scope":59041,"src":"1689:18:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":58555,"nodeType":"UserDefinedTypeName","pathNode":{"id":58554,"name":"IRegistry","nameLocations":["1689:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1689:9:92"},"referencedDeclaration":2802,"src":"1689:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"id":58560,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58557,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"1710:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1715:11:92","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":1362,"src":"1710:16:92","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IRegistry_$2802_$","typeString":"function () view external returns (contract IRegistry)"}},"id":58559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1710:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1689:39:92"},{"assignments":[58563],"declarations":[{"constant":false,"id":58563,"mutability":"mutable","name":"registryFactory","nameLocation":"1861:15:92","nodeType":"VariableDeclaration","scope":59041,"src":"1845:31:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":58562,"nodeType":"UserDefinedTypeName","pathNode":{"id":58561,"name":"RegistryFactory","nameLocations":["1845:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1845:15:92"},"referencedDeclaration":61072,"src":"1845:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":58568,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":58566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1879:19:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":58565,"nodeType":"UserDefinedTypeName","pathNode":{"id":58564,"name":"RegistryFactory","nameLocations":["1883:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"1883:15:92"},"referencedDeclaration":61072,"src":"1883:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":58567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1879:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"1845:55:92"},{"assignments":[58573],"declarations":[{"constant":false,"id":58573,"mutability":"mutable","name":"params","nameLocation":"1951:6:92","nodeType":"VariableDeclaration","scope":59041,"src":"1911:46:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":58572,"nodeType":"UserDefinedTypeName","pathNode":{"id":58571,"name":"RegistryGardens.InitializeParams","nameLocations":["1911:15:92","1927:16:92"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"1911:32:92"},"referencedDeclaration":61245,"src":"1911:32:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":58574,"nodeType":"VariableDeclarationStatement","src":"1911:46:92"},{"expression":{"id":58582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58575,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"1968:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58577,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1975:5:92","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"1968:12:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58580,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"1991:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1983:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58578,"name":"address","nodeType":"ElementaryTypeName","src":"1983:7:92","typeDescriptions":{}}},"id":58581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1968:28:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58583,"nodeType":"ExpressionStatement","src":"1968:28:92"},{"expression":{"id":58593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58584,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2006:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58586,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2013:12:92","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"2006:19:92","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":58590,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"2043:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2035:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58588,"name":"address","nodeType":"ElementaryTypeName","src":"2035:7:92","typeDescriptions":{}}},"id":58591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2035:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58587,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2028:6:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":58592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2028:22:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2006:44:92","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":58594,"nodeType":"ExpressionStatement","src":"2006:44:92"},{"expression":{"id":58599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58595,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2060:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2067:19:92","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"2060:26:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58598,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58495,"src":"2089:13:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2060:42:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58600,"nodeType":"ExpressionStatement","src":"2060:42:92"},{"expression":{"id":58605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58601,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2112:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2119:12:92","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"2112:19:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":58604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2134:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2112:23:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":58606,"nodeType":"ExpressionStatement","src":"2112:23:92"},{"expression":{"id":58611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58607,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2145:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2152:9:92","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"2145:16:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":58610,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61866,"src":"2164:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2145:27:92","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":58612,"nodeType":"ExpressionStatement","src":"2145:27:92"},{"expression":{"id":58626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":58613,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2200:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":58615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2207:12:92","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"2200:19:92","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58621,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"2260:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2260:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58620,"name":"_councilSafeWithOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65610,"src":"2238:21:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_contract$_Safe_$55944_$","typeString":"function (address) returns (contract Safe)"}},"id":58623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:35:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":58619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2230:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58618,"name":"address","nodeType":"ElementaryTypeName","src":"2230:7:92","typeDescriptions":{}}},"id":58624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2230:44:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2222:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":58616,"name":"address","nodeType":"ElementaryTypeName","src":"2222:8:92","stateMutability":"payable","typeDescriptions":{}}},"id":58625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2222:53:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2200:75:92","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":58627,"nodeType":"ExpressionStatement","src":"2200:75:92"},{"assignments":[58630],"declarations":[{"constant":false,"id":58630,"mutability":"mutable","name":"registryGardens","nameLocation":"2302:15:92","nodeType":"VariableDeclaration","scope":59041,"src":"2286:31:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":58629,"nodeType":"UserDefinedTypeName","pathNode":{"id":58628,"name":"RegistryGardens","nameLocations":["2286:15:92"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"2286:15:92"},"referencedDeclaration":61840,"src":"2286:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"id":58637,"initialValue":{"arguments":[{"arguments":[{"id":58634,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58573,"src":"2367:6:92","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":58632,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58563,"src":"2336:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":58633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:14:92","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"2336:30:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":58635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2336:38:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58631,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"2320:15:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":58636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2320:55:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"VariableDeclarationStatement","src":"2286:89:92"},{"assignments":[58640],"declarations":[{"constant":false,"id":58640,"mutability":"mutable","name":"strategy1","nameLocation":"2433:9:92","nodeType":"VariableDeclaration","scope":59041,"src":"2422:20:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":58639,"nodeType":"UserDefinedTypeName","pathNode":{"id":58638,"name":"CVStrategy","nameLocations":["2422:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2422:10:92"},"referencedDeclaration":61025,"src":"2422:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":58649,"initialValue":{"arguments":[{"arguments":[{"id":58646,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2468:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2460:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58644,"name":"address","nodeType":"ElementaryTypeName","src":"2460:7:92","typeDescriptions":{}}},"id":58647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2460:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2445:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":58642,"nodeType":"UserDefinedTypeName","pathNode":{"id":58641,"name":"CVStrategy","nameLocations":["2449:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2449:10:92"},"referencedDeclaration":61025,"src":"2449:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":58648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2445:29:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2422:52:92"},{"assignments":[58652],"declarations":[{"constant":false,"id":58652,"mutability":"mutable","name":"strategy2","nameLocation":"2495:9:92","nodeType":"VariableDeclaration","scope":59041,"src":"2484:20:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":58651,"nodeType":"UserDefinedTypeName","pathNode":{"id":58650,"name":"CVStrategy","nameLocations":["2484:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2484:10:92"},"referencedDeclaration":61025,"src":"2484:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"internal"}],"id":58661,"initialValue":{"arguments":[{"arguments":[{"id":58658,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2530:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2522:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58656,"name":"address","nodeType":"ElementaryTypeName","src":"2522:7:92","typeDescriptions":{}}},"id":58659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2522:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2507:14:92","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":58654,"nodeType":"UserDefinedTypeName","pathNode":{"id":58653,"name":"CVStrategy","nameLocations":["2511:10:92"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2511:10:92"},"referencedDeclaration":61025,"src":"2511:10:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":58660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2507:29:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"VariableDeclarationStatement","src":"2484:52:92"},{"assignments":[58663],"declarations":[{"constant":false,"id":58663,"mutability":"mutable","name":"poolId","nameLocation":"2555:6:92","nodeType":"VariableDeclaration","scope":59041,"src":"2547:14:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58662,"name":"uint256","nodeType":"ElementaryTypeName","src":"2547:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58685,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":58668,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2600:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2592:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58666,"name":"address","nodeType":"ElementaryTypeName","src":"2592:7:92","typeDescriptions":{}}},"id":58669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2592:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58665,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2587:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2587:19:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":58673,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2616:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2608:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58671,"name":"address","nodeType":"ElementaryTypeName","src":"2608:7:92","typeDescriptions":{}}},"id":58674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2608:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58677,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"2636:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2628:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58675,"name":"address","nodeType":"ElementaryTypeName","src":"2628:7:92","typeDescriptions":{}}},"id":58678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2628:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58679,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"2654:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"id":58682,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"2672:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2664:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58680,"name":"address","nodeType":"ElementaryTypeName","src":"2664:7:92","typeDescriptions":{}}},"id":58683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2664:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58664,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62039,"src":"2576:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":58684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2576:103:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2547:132:92"},{"assignments":[58687],"declarations":[{"constant":false,"id":58687,"mutability":"mutable","name":"poolIdSignaling","nameLocation":"2698:15:92","nodeType":"VariableDeclaration","scope":59041,"src":"2690:23:92","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58686,"name":"uint256","nodeType":"ElementaryTypeName","src":"2690:7:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":58709,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":58692,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"2752:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2744:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58690,"name":"address","nodeType":"ElementaryTypeName","src":"2744:7:92","typeDescriptions":{}}},"id":58693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2744:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58689,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"2739:4:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Allo_$1390_$","typeString":"type(contract Allo)"}},"id":58694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2739:19:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"arguments":[{"id":58697,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"2768:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2760:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58695,"name":"address","nodeType":"ElementaryTypeName","src":"2760:7:92","typeDescriptions":{}}},"id":58698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":58701,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"2788:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":58700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2780:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58699,"name":"address","nodeType":"ElementaryTypeName","src":"2780:7:92","typeDescriptions":{}}},"id":58702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2780:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58703,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"2806:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[{"hexValue":"30","id":58706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2824:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2816:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58704,"name":"address","nodeType":"ElementaryTypeName","src":"2816:7:92","typeDescriptions":{}}},"id":58707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2816:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"}],"id":58688,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62039,"src":"2728:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address) returns (uint256)"}},"id":58708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:99:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2690:137:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2871:15:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58713,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"2857:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2857:30:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58710,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2838:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2848:8:92","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"2838:18:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2838:50:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58717,"nodeType":"ExpressionStatement","src":"2838:50:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2951:9:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58721,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"2937:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2937:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58718,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2915:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2925:11:92","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"2915:21:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2915:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58725,"nodeType":"ExpressionStatement","src":"2915:47:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3025:12:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58729,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"3011:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3011:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58726,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"2991:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3001:9:92","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"2991:19:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2991:48:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58733,"nodeType":"ExpressionStatement","src":"2991:48:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e39393635343032","id":58738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3133:15:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"},"value":"0.9965402"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_996540200000000000_by_1","typeString":"int_const 996540200000000000"}],"id":58737,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"3119:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3119:30:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58734,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3100:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3110:8:92","memberName":"setDecay","nodeType":"MemberAccess","referencedDeclaration":60980,"src":"3100:18:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3100:50:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58741,"nodeType":"ExpressionStatement","src":"3100:50:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e31","id":58746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3213:9:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"},"value":"0.1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000000000000000_by_1","typeString":"int_const 100000000000000000"}],"id":58745,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"3199:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3199:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58742,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3177:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3187:11:92","memberName":"setMaxRatio","nodeType":"MemberAccess","referencedDeclaration":60994,"src":"3177:21:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3177:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58749,"nodeType":"ExpressionStatement","src":"3177:47:92"},{"expression":{"arguments":[{"arguments":[{"hexValue":"302e30303035","id":58754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3287:12:92","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"},"value":"0.0005"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_500000000000000_by_1","typeString":"int_const 500000000000000"}],"id":58753,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62053,"src":"3273:13:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":58755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3273:27:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58750,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3253:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3263:9:92","memberName":"setWeight","nodeType":"MemberAccess","referencedDeclaration":61008,"src":"3253:19:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":58756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3253:48:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58757,"nodeType":"ExpressionStatement","src":"3253:48:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58758,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"3333:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3343:14:92","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3333:24:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3333:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58762,"nodeType":"ExpressionStatement","src":"3333:26:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58763,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"3369:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":58765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3379:14:92","memberName":"activatePoints","nodeType":"MemberAccess","referencedDeclaration":59593,"src":"3369:24:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3369:26:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58767,"nodeType":"ExpressionStatement","src":"3369:26:92"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":58773,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3495:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3495:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3487:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58771,"name":"address","nodeType":"ElementaryTypeName","src":"3487:7:92","typeDescriptions":{}}},"id":58775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3487:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31305f303030","id":58776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3510:6:92","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}],"expression":{"id":58768,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3476:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3482:4:92","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"3476:10:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":58777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3476:41:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58778,"nodeType":"ExpressionStatement","src":"3476:41:92"},{"expression":{"arguments":[{"arguments":[{"id":58784,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3549:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3541:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58782,"name":"address","nodeType":"ElementaryTypeName","src":"3541:7:92","typeDescriptions":{}}},"id":58785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3541:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"arguments":[{"id":58788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3561:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":58787,"name":"uint256","nodeType":"ElementaryTypeName","src":"3561:7:92","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":58786,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3556:4:92","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":58789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3556:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":58790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3570:3:92","memberName":"max","nodeType":"MemberAccess","src":"3556:17:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58779,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3527:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":58781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3533:7:92","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3527:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":58791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3527:47:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":58792,"nodeType":"ExpressionStatement","src":"3527:47:92"},{"expression":{"arguments":[{"id":58796,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3598:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"315f303030","id":58797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3606:5:92","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":58793,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3584:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3589:8:92","memberName":"fundPool","nodeType":"MemberAccess","referencedDeclaration":588,"src":"3584:13:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) payable external"}},"id":58798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3584:28:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58799,"nodeType":"ExpressionStatement","src":"3584:28:92"},{"assignments":[58804],"declarations":[{"constant":false,"id":58804,"mutability":"mutable","name":"proposal","nameLocation":"3656:8:92","nodeType":"VariableDeclaration","scope":59041,"src":"3623:41:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58803,"nodeType":"UserDefinedTypeName","pathNode":{"id":58802,"name":"CVStrategy.CreateProposal","nameLocations":["3623:10:92","3634:14:92"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"3623:25:92"},"referencedDeclaration":59158,"src":"3623:25:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58820,"initialValue":{"arguments":[{"hexValue":"31","id":58807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3705:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58808,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3708:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58809,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3716:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3716:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58811,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3730:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3741:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"3730:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3754:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"3730:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3530","id":58814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3763:6:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"arguments":[{"id":58817,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"3779:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3771:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58815,"name":"address","nodeType":"ElementaryTypeName","src":"3771:7:92","typeDescriptions":{}}},"id":58818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3771:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58805,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3679:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3690:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"3679:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3679:107:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"3623:163:92"},{"assignments":[58822],"declarations":[{"constant":false,"id":58822,"mutability":"mutable","name":"data","nameLocation":"3809:4:92","nodeType":"VariableDeclaration","scope":59041,"src":"3796:17:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58821,"name":"bytes","nodeType":"ElementaryTypeName","src":"3796:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58827,"initialValue":{"arguments":[{"id":58825,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"3827:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58823,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3816:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3820:6:92","memberName":"encode","nodeType":"MemberAccess","src":"3816:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3816:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3796:40:92"},{"expression":{"arguments":[{"id":58831,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3869:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58832,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"3877:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58828,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"3846:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3851:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"3846:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3846:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58834,"nodeType":"ExpressionStatement","src":"3846:36:92"},{"expression":{"id":58851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58835,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"3893:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":58838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3942:1:92","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"id":58839,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"3945:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58840,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"3953:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3953:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58842,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3967:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3978:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"3967:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3991:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"3967:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3235","id":58845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4000:6:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"arguments":[{"id":58848,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"4016:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4008:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58846,"name":"address","nodeType":"ElementaryTypeName","src":"4008:7:92","typeDescriptions":{}}},"id":58849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58836,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"3916:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3927:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"3916:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3916:107:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"3893:130:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58852,"nodeType":"ExpressionStatement","src":"3893:130:92"},{"expression":{"id":58858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58853,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"4033:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58856,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"4051:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58854,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4040:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4044:6:92","memberName":"encode","nodeType":"MemberAccess","src":"4040:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4040:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4033:27:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58859,"nodeType":"ExpressionStatement","src":"4033:27:92"},{"expression":{"arguments":[{"id":58863,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4093:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58864,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"4101:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58860,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4070:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4075:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4070:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4070:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58866,"nodeType":"ExpressionStatement","src":"4070:36:92"},{"expression":{"id":58883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58867,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"4117:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"33","id":58870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4166:1:92","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},{"id":58871,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4169:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58872,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"4177:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4177:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58874,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4191:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4202:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4191:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4215:7:92","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":59142,"src":"4191:31:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"3130","id":58877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4224:6:92","subdenomination":"wei","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"arguments":[{"id":58880,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"4240:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4232:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58878,"name":"address","nodeType":"ElementaryTypeName","src":"4232:7:92","typeDescriptions":{}}},"id":58881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4232:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58868,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4140:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4151:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4140:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4140:107:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"src":"4117:130:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"id":58884,"nodeType":"ExpressionStatement","src":"4117:130:92"},{"expression":{"id":58890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":58885,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"4257:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":58888,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58804,"src":"4275:8:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4264:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4268:6:92","memberName":"encode","nodeType":"MemberAccess","src":"4264:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4264:20:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4257:27:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":58891,"nodeType":"ExpressionStatement","src":"4257:27:92"},{"expression":{"arguments":[{"id":58895,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4317:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58896,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58822,"src":"4325:4:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58892,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4294:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4299:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4294:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4294:36:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58898,"nodeType":"ExpressionStatement","src":"4294:36:92"},{"assignments":[58903],"declarations":[{"constant":false,"id":58903,"mutability":"mutable","name":"proposal2","nameLocation":"4406:9:92","nodeType":"VariableDeclaration","scope":59041,"src":"4373:42:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal"},"typeName":{"id":58902,"nodeType":"UserDefinedTypeName","pathNode":{"id":58901,"name":"CVStrategy.CreateProposal","nameLocations":["4373:10:92","4384:14:92"],"nodeType":"IdentifierPath","referencedDeclaration":59158,"src":"4373:25:92"},"referencedDeclaration":59158,"src":"4373:25:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_storage_ptr","typeString":"struct CVStrategy.CreateProposal"}},"visibility":"internal"}],"id":58919,"initialValue":{"arguments":[{"hexValue":"31","id":58906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4457:1:92","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":58907,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4460:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"id":58908,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"4477:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":58909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4477:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":58910,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4491:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4502:12:92","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":59144,"src":"4491:23:92","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$59144_$","typeString":"type(enum CVStrategy.ProposalType)"}},"id":58912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4515:9:92","memberName":"Signaling","nodeType":"MemberAccess","referencedDeclaration":59141,"src":"4491:33:92","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"}},{"hexValue":"30","id":58913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4526:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":58916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4537:1:92","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":58915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4529:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58914,"name":"address","nodeType":"ElementaryTypeName","src":"4529:7:92","typeDescriptions":{}}},"id":58917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4529:10:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$59144","typeString":"enum CVStrategy.ProposalType"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58904,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"4418:10:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$61025_$","typeString":"type(contract CVStrategy)"}},"id":58905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4429:14:92","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":59158,"src":"4418:25:92","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$59158_storage_ptr_$","typeString":"type(struct CVStrategy.CreateProposal storage pointer)"}},"id":58918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4418:131:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"4373:176:92"},{"assignments":[58921],"declarations":[{"constant":false,"id":58921,"mutability":"mutable","name":"data2","nameLocation":"4572:5:92","nodeType":"VariableDeclaration","scope":59041,"src":"4559:18:92","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":58920,"name":"bytes","nodeType":"ElementaryTypeName","src":"4559:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":58926,"initialValue":{"arguments":[{"id":58924,"name":"proposal2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58903,"src":"4591:9:92","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_CreateProposal_$59158_memory_ptr","typeString":"struct CVStrategy.CreateProposal memory"}],"expression":{"id":58922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4580:3:92","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4584:6:92","memberName":"encode","nodeType":"MemberAccess","src":"4580:10:92","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":58925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4580:21:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4559:42:92"},{"expression":{"arguments":[{"id":58930,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4634:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58931,"name":"data2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58921,"src":"4651:5:92","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":58927,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4611:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":58929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4616:17:92","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":474,"src":"4611:22:92","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (uint256,bytes memory) payable external returns (address)"}},"id":58932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4611:46:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":58933,"nodeType":"ExpressionStatement","src":"4611:46:92"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":58934,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"4668:2:92","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":58936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4671:13:92","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":23308,"src":"4668:16:92","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":58937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4668:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58938,"nodeType":"ExpressionStatement","src":"4668:18:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c49643a202573","id":58942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4710:12:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},"value":"PoolId: %s"},{"id":58943,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58663,"src":"4724:6:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24689c5dc93ddd8d31a51d4fe77cd8ed23f78309f5b3d21a1c5449fabfa691e8","typeString":"literal_string \"PoolId: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58939,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4697:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4706:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"4697:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4697:34:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58945,"nodeType":"ExpressionStatement","src":"4697:34:92"},{"expression":{"arguments":[{"hexValue":"53747261746567793120416464723a202573","id":58949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4754:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},"value":"Strategy1 Addr: %s"},{"arguments":[{"id":58952,"name":"strategy1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58640,"src":"4784:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4776:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58950,"name":"address","nodeType":"ElementaryTypeName","src":"4776:7:92","typeDescriptions":{}}},"id":58953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4776:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_870a53c90aec20e3df42b955290e51e2f2767970c02ad266e52103c167813474","typeString":"literal_string \"Strategy1 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58946,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4741:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4750:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4741:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4741:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58955,"nodeType":"ExpressionStatement","src":"4741:54:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c49645369676e616c696e673a202573","id":58959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4819:21:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},"value":"PoolIdSignaling: %s"},{"id":58960,"name":"poolIdSignaling","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58687,"src":"4842:15:92","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c2e078fcd6cc9cd1119377279f9e1c86a2188cb3214a6717a5bd8e9ffaaf1c6","typeString":"literal_string \"PoolIdSignaling: %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58956,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4806:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4815:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33109,"src":"4806:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":58961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4806:52:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58962,"nodeType":"ExpressionStatement","src":"4806:52:92"},{"expression":{"arguments":[{"hexValue":"53747261746567793220416464723a202573","id":58966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4881:20:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},"value":"Strategy2 Addr: %s"},{"arguments":[{"id":58969,"name":"strategy2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"4911:9:92","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":58968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4903:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58967,"name":"address","nodeType":"ElementaryTypeName","src":"4903:7:92","typeDescriptions":{}}},"id":58970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4903:18:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_802449766507e1ad1e69c488263dff365018334b57788be536cf3edbdc51cf2a","typeString":"literal_string \"Strategy2 Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58963,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4868:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4877:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4868:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4868:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58972,"nodeType":"ExpressionStatement","src":"4868:54:92"},{"expression":{"arguments":[{"hexValue":"416c6c6f20416464723a202573","id":58976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4946:15:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},"value":"Allo Addr: %s"},{"arguments":[{"id":58979,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58534,"src":"4971:4:92","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":58978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4963:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58977,"name":"address","nodeType":"ElementaryTypeName","src":"4963:7:92","typeDescriptions":{}}},"id":58980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4963:13:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fe95f41e8df35f986864ca2a2353c6382d2df4dc57b522baa0a464de0e01f68c","typeString":"literal_string \"Allo Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58973,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4933:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4942:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4933:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4933:44:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58982,"nodeType":"ExpressionStatement","src":"4933:44:92"},{"expression":{"arguments":[{"hexValue":"546f6b656e20416464723a202573","id":58986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5000:16:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},"value":"Token Addr: %s"},{"arguments":[{"id":58989,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58548,"src":"5026:5:92","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":58988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5018:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58987,"name":"address","nodeType":"ElementaryTypeName","src":"5018:7:92","typeDescriptions":{}}},"id":58990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5018:14:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d03257da3564c628ba838588522d93ceff9e12cea0de42353e80c6f5d504f21","typeString":"literal_string \"Token Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58983,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"4987:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4996:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"4987:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":58991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4987:46:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58992,"nodeType":"ExpressionStatement","src":"4987:46:92"},{"expression":{"arguments":[{"hexValue":"546f6b656e204e617469766520416464723a202573","id":58996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5056:23:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},"value":"Token Native Addr: %s"},{"arguments":[{"id":58999,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"5089:6:92","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":58998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5081:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":58997,"name":"address","nodeType":"ElementaryTypeName","src":"5081:7:92","typeDescriptions":{}}},"id":59000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5081:15:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5ce109b8c974cb9252272b82f5f788970a686adc5aa2b83bebfed505f668ad","typeString":"literal_string \"Token Native Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58993,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5043:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":58995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5052:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5043:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5043:54:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59002,"nodeType":"ExpressionStatement","src":"5043:54:92"},{"expression":{"arguments":[{"hexValue":"52656769737472792047617264656e7320416464723a202573","id":59006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5121:27:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},"value":"Registry Gardens Addr: %s"},{"arguments":[{"id":59009,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58630,"src":"5158:15:92","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":59008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5150:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59007,"name":"address","nodeType":"ElementaryTypeName","src":"5150:7:92","typeDescriptions":{}}},"id":59010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5150:24:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_30fe4f9a5d2c0ba92698ba5489fc96e2227a4db396f792f3655e632c3988537c","typeString":"literal_string \"Registry Gardens Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59003,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5108:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5117:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5108:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5108:67:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59012,"nodeType":"ExpressionStatement","src":"5108:67:92"},{"expression":{"arguments":[{"hexValue":"416c6c6f20526567697374727920416464723a202573","id":59016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5199:24:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},"value":"Allo Registry Addr: %s"},{"arguments":[{"id":59019,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"5233:8:92","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}],"id":59018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5225:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59017,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:92","typeDescriptions":{}}},"id":59020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:17:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17cb9d87bc795de2ae4794506df5bbde8633bb67761974383507d8a431453588","typeString":"literal_string \"Allo Registry Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59013,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5186:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5195:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5186:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5186:57:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59022,"nodeType":"ExpressionStatement","src":"5186:57:92"},{"expression":{"arguments":[{"hexValue":"506f6f6c2041646d696e20416464723a202573","id":59026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5266:21:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},"value":"Pool Admin Addr: %s"},{"arguments":[],"expression":{"argumentTypes":[],"id":59027,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[58510],"referencedDeclaration":58510,"src":"5289:10:92","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":59028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5289:12:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_168284e0e87a42d9015a3c390d4d8b890da934126794d5fa1d00014f46f2f2de","typeString":"literal_string \"Pool Admin Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59023,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5253:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5262:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5253:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:49:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59030,"nodeType":"ExpressionStatement","src":"5253:49:92"},{"expression":{"arguments":[{"hexValue":"436f756e63696c205361666520416464723a202573","id":59034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5325:23:92","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},"value":"Council Safe Addr: %s"},{"arguments":[{"id":59037,"name":"councilSafeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65479,"src":"5358:16:92","typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":59036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5350:7:92","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59035,"name":"address","nodeType":"ElementaryTypeName","src":"5350:7:92","typeDescriptions":{}}},"id":59038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5350:25:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7a5c8934293aea685492c130827bf1c662eb80ee48dadea61ea8fc589db5a83c","typeString":"literal_string \"Council Safe Addr: %s\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59031,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40482,"src":"5312:8:92","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$40482_$","typeString":"type(library console2)"}},"id":59033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5321:3:92","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":33177,"src":"5312:12:92","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":59039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5312:64:92","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59040,"nodeType":"ExpressionStatement","src":"5312:64:92"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1388:3:92","parameters":{"id":58511,"nodeType":"ParameterList","parameters":[],"src":"1391:2:92"},"returnParameters":{"id":58512,"nodeType":"ParameterList","parameters":[],"src":"1401:0:92"},"scope":59043,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":58485,"name":"Native","nameLocations":["970:6:92"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"970:6:92"},"id":58486,"nodeType":"InheritanceSpecifier","src":"970:6:92"},{"baseName":{"id":58487,"name":"CVStrategyHelpers","nameLocations":["978:17:92"],"nodeType":"IdentifierPath","referencedDeclaration":62208,"src":"978:17:92"},"id":58488,"nodeType":"InheritanceSpecifier","src":"978:17:92"},{"baseName":{"id":58489,"name":"Script","nameLocations":["997:6:92"],"nodeType":"IdentifierPath","referencedDeclaration":12629,"src":"997:6:92"},"id":58490,"nodeType":"InheritanceSpecifier","src":"997:6:92"},{"baseName":{"id":58491,"name":"SafeSetup","nameLocations":["1005:9:92"],"nodeType":"IdentifierPath","referencedDeclaration":65847,"src":"1005:9:92"},"id":58492,"nodeType":"InheritanceSpecifier","src":"1005:9:92"}],"canonicalName":"DeployCVArbSepolia","contractDependencies":[9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[59043,65847,22442,12629,22391,17989,62208,9264,17664,16871,14811,14047,12515,12581,12590,12578,3106],"name":"DeployCVArbSepolia","nameLocation":"948:18:92","scope":59044,"usedErrors":[]}],"license":"UNLICENSED"},"id":92} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryTest.t.sol/RegistryTest.json b/pkg/contracts/out/RegistryTest.t.sol/RegistryTest.json index c985bd5ed..fa286538f 100644 --- a/pkg/contracts/out/RegistryTest.t.sol/RegistryTest.json +++ b/pkg/contracts/out/RegistryTest.t.sol/RegistryTest.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract CVStrategy"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b80548216831790556025829055602680549091169055602981905569d3c21bcecceda1000000602c556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602d928355909190602e90620000809082620002ce565b505060408051808201909152601481527f636f6d6d756e69747947617264656e4f776e65720000000000000000000000006020820152620000c29150620000f6565b603080546001600160a01b0319166001600160a01b0392909216919091179055348015620000ef57600080fd5b5062000454565b600062000103826200010a565b5092915050565b60008082604051602001620001209190620003c0565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b29190620003de565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620001f0908590879060040162000410565b600060405180830381600087803b1580156200020b57600080fd5b505af115801562000220573d6000803e3d6000fd5b50505050915091565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200025457607f821691505b6020821081036200027557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002c957600081815260208120601f850160051c81016020861015620002a45750805b601f850160051c820191505b81811015620002c557828155600101620002b0565b5050505b505050565b81516001600160401b03811115620002ea57620002ea62000229565b6200030281620002fb84546200023f565b846200027b565b602080601f8311600181146200033a5760008415620003215750858301515b600019600386901b1c1916600185901b178555620002c5565b600085815260208120601f198616915b828110156200036b578886015182559484019460019091019084016200034a565b50858210156200038a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60005b83811015620003b75781810151838201526020016200039d565b50506000910152565b60008251620003d48184602087016200039a565b9190910192915050565b600060208284031215620003f157600080fd5b81516001600160a01b03811681146200040957600080fd5b9392505050565b60018060a01b038316815260406020820152600082518060408401526200043f8160608501602087016200039a565b601f01601f1916919091016060019392505050565b6201570d80620004656000396000f3fe60806040523480156200001157600080fd5b5060043610620004205760003560e01c806374d9284e1162000229578063a8c62e761162000131578063d6d8428d11620000bb578063ef0d790f1162000086578063ef0d790f146200077e578063fa7626d41462000788578063fc0c546a1462000796578063fd325c6014620007aa57600080fd5b8063d6d8428d146200074e578063da4bf0871462000760578063dac4eb16146200076a578063e20c9f71146200077457600080fd5b8063c5d7d73b11620000fc578063c5d7d73b146200071e578063d1e82b581462000730578063d1f2cd88146200073a578063d5bee9f5146200074457600080fd5b8063a8c62e7614620006db578063aa3744bd14620006ef578063b5508aa914620006f9578063ba414fa6146200070357600080fd5b806385226c8111620001b35780638e3c2493116200017e5780638e3c249314620006a1578063916a17c614620006ab578063a0cf0aea14620006b5578063a407c67a14620006d157600080fd5b806385226c81146200066a578063896546a114620006835780638c7408c414620004aa5780638e0d1a50146200069757600080fd5b80637b10399911620001f45780637b10399914620006445780637b2edf3214620006565780637cbe79ed1462000660578063829e423f14620004aa57600080fd5b806374d9284e14620004aa578063759c9a8614620006265780637658524d146200063057806379e62d0d146200063a57600080fd5b80632d0e6731116200032d5780635a2bcc1811620002b75780636a38dd0a11620002825780636a38dd0a14620005e25780636c53db9a14620005ec5780636db52510146200060557806370a32944146200061c57600080fd5b80635a2bcc1814620005ab5780635aff599914620005b557806366d003ac14620005bf57806366d9a9a014620005c957600080fd5b80633e5e3c2311620002f85780633e5e3c2314620005835780633f7286f4146200058d5780634bf4ba211462000597578063587c124314620005a157600080fd5b80632d0e6731146200052a5780633554642a146200054e578063392f37e9146200056057806339f56f7f146200057a57600080fd5b8063174eedde11620003af5780631b96dce6116200037a5780631b96dce614620004e45780631e7bcb2e14620004ee5780631ed7831c14620004f85780632ade3880146200051157600080fd5b8063174eedde14620004aa578063176effb314620004b25780631854036114620004c45780631ae726d914620004cd57600080fd5b80630688b13511620003f05780630688b135146200047657806308dbbb0314620004805780630a9254e414620004995780630f166ad414620004a357600080fd5b8062b1fad71462000425578063030e4006146200044c5780630354ae6014620004565780630522b7db1462000462575b600080fd5b6200042f620007b3565b6040516001600160a01b0390911681526020015b60405180910390f35b6200042f620007fa565b620004606200083c565b005b6027546200042f906001600160a01b031681565b6200042f62000ba1565b6200048a6103e881565b60405190815260200162000443565b6200046062000be3565b306200042f565b60006200042f565b601f546001600160a01b03166200042f565b6022546200048a565b6200042f620004de36600462003cf3565b62001544565b6200042f6200188f565b6200042f620018d1565b6200050262001913565b60405162000443919062003d60565b6200051b62001977565b60405162000443919062003dc9565b620004606200053b36600462003e9e565b6026805460ff1916911515919091179055565b6023546001600160a01b03166200042f565b6200056a62001ac5565b6040516200044392919062003ebe565b6020546200048a565b6200050262001b64565b6200050262001bc6565b6200050262001c28565b6200042f62001c4b565b6200048a602c5481565b6200042f62001c8d565b6200042f62001ccf565b620005d362001d11565b60405162000443919062003ee1565b6200042f62001dfb565b6026546200042f9061010090046001600160a01b031681565b620004606200061636600462004039565b62001e3d565b620005026200210e565b6200042f620021b0565b6200048a60295481565b62000502620021f2565b601d546001600160a01b03166200042f565b6200042f62002261565b6200042f620022a3565b62000674620022e5565b604051620004439190620040df565b6028546200042f906001600160a01b031681565b6200042f620023bf565b6200042f62002401565b620005d362002443565b6200042f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620005026200252d565b602a546200042f906001600160a01b031681565b6200042f6200259c565b62000674620025de565b6200070d620026b8565b604051901515815260200162000443565b6021546001600160a01b03166200042f565b6200042f620027ef565b6200042f62002831565b6200042f62002873565b601c546001600160a01b03166200042f565b6200042f620028b5565b6200042f620028f7565b6200050262002939565b6200042f6200299b565b6007546200070d9060ff1681565b602b546200042f906001600160a01b031681565b601e546200048a565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620029d8565b905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620029d8565b6200087c6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250620029ec565b601c546001600160a01b0316602a546040517f41bba0b40000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201529116906341bba0b490602401600060405180830381600087803b158015620008e857600080fd5b505af1158015620008fd573d6000803e3d6000fd5b50506030546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200097457600080fd5b505af115801562000989573d6000803e3d6000fd5b5050602b54602f546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526103e860248201529116925063095ea7b391506044016020604051808303816000875af1158015620009fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a23919062004145565b50602f546001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000a6b57600080fd5b505af115801562000a80573d6000803e3d6000fd5b5050602b54602f546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015262000b1d9450911691506370a0823190602401602060405180830381865afa15801562000aef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b15919062004165565b600062002a0f565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000b7c57600080fd5b505af115801562000b91573d6000803e3d6000fd5b5050505062000b9f62002b7f565b565b6000620007f56040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620029d8565b62000bed62002c11565b62000c0a62000c04601d546001600160a01b031690565b6200322c565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c2e620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c7057600080fd5b505af115801562000c85573d6000803e3d6000fd5b5050505062000c9c601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000cfa57600080fd5b505af115801562000d0f573d6000803e3d6000fd5b5050505062000d26601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d8457600080fd5b505af115801562000d99573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b5050505060405162000e239062003c10565b604051809103906000f08015801562000e40573d6000803e3d6000fd5b50602b80546001600160a01b0319166001600160a01b039290921691821790556340c10f1930602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000eb057600080fd5b505af115801562000ec5573d6000803e3d6000fd5b5050602b546001600160a01b031691506340c10f19905062000ee6620022a3565b602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f3057600080fd5b505af115801562000f45573d6000803e3d6000fd5b5050602b54603054602c546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201526024810191909152911692506340c10f199150604401600060405180830381600087803b15801562000fb757600080fd5b505af115801562000fcc573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062000ff6601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001045573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106b919062004145565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762001090620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010d257600080fd5b505af1158015620010e7573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062001111601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001160573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001186919062004145565b50601c546001600160a01b0316604051620011a19062003c1e565b6001600160a01b039091168152602001604051809103906000f080158015620011ce573d6000803e3d6000fd5b50602a80546001600160a01b0319166001600160a01b0392909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662001213620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200125557600080fd5b505af11580156200126a573d6000803e3d6000fd5b5050505062001281601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620012d257600080fd5b505af1158015620012e7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200134a57600080fd5b505af11580156200135f573d6000803e3d6000fd5b505050506000604051620013739062003c2c565b604051809103906000f08015801562001390573d6000803e3d6000fd5b5090506200139d62003c3a565b601c546001600160a01b039081168252602b54166020808301919091526103e8604080840191909152600260608401528051808201909152602d80548252602e80549293919291840191620013f2906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001420906200417f565b8015620014715780601f10620014455761010080835404028352916020019162001471565b820191906000526020600020905b8154815290600101906020018083116200145357829003601f168201915b5050509190925250505060a08201526200148a6200340a565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620014da908490600401620041dc565b6020604051808303816000875af1158015620014fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200152091906200425f565b602f80546001600160a01b0319166001600160a01b03929092169190911790555050565b6027546000906001600160a01b03166200187e576000604051620015689062003ca5565b604051809103906000f08015801562001585573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620015a79062003cb3565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200164791906200425f565b602780546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620016ea57600080fd5b505af1158015620016ff573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b1580156200178f57600080fd5b505af1158015620017a4573d6000803e3d6000fd5b506000925060019150620017b59050565b604051908082528060200260200182016040528015620017df578160200160208202803683370190505b5090508481600081518110620017f957620017f96200427f565b6001600160a01b03928316602091820292909201015260275460405163b63e800d60e01b815291169063b63e800d9062001846908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200186157600080fd5b505af115801562001876573d6000803e3d6000fd5b505050505050505b50506027546001600160a01b031690565b6000620007f56040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620029d8565b606060148054806020026020016040519081016040528092919081815260200182805480156200196d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200194e575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001aa457838290600052602060002001805462001a10906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001a3e906200417f565b801562001a8f5780601f1062001a635761010080835404028352916020019162001a8f565b820191906000526020600020905b81548152906001019060200180831162001a7157829003601f168201915b505050505081526020019060010190620019ee565b5050505081525050815260200190600101906200199b565b50505050905090565b602d8054602e805491929162001adb906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001b09906200417f565b801562001b5a5780601f1062001b2e5761010080835404028352916020019162001b5a565b820191906000526020600020905b81548152906001019060200180831162001b3c57829003601f168201915b5050505050905082565b606060168054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620029d8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001de257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001da35790505b5050505050815250508152602001906001019062001d35565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620029d8565b6000602660019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602660019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001ec3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ee9919062004165565b6040518b63ffffffff1660e01b815260040162001f109a999897969594939291906200431f565b600060405180830381865afa15801562001f2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001f589190810190620043cc565b805160208201206029546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200200591906200441a565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526026547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a76120290620020bc908c908c908c90600090819081908190819081908d9060650162004459565b6020604051808303816000875af1158015620020dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002102919062004145565b50505050505050505050565b604080516002808252606080830184529260009291906020830190803683370190505090506200213d620018d1565b816000815181106200215357620021536200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002261565b816001815181106200219357620021936200427f565b6001600160a01b0390921660209283029190910190910152919050565b6000620007f56040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620029d8565b6040805160028082526060808301845292600092919060208301908036833701905050905062002221620007b3565b816000815181106200223757620022376200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62001dfb565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620029d8565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5783829060005260206000200180546200232b906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002359906200417f565b8015620023aa5780601f106200237e57610100808354040283529160200191620023aa565b820191906000526020600020905b8154815290600101906020018083116200238c57829003601f168201915b50505050508152602001906001019062002309565b6000620007f56040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620029d8565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200251457602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620024d55790505b5050505050815250508152602001906001019062002467565b604080516002808252606080830184529260009291906020830190803683370190505090506200255c62001c4b565b816000815181106200257257620025726200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002401565b6000620007f56040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620029d8565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57838290600052602060002001805462002624906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002652906200417f565b8015620026a35780601f106200267757610100808354040283529160200191620026a3565b820191906000526020600020905b8154815290600101906020018083116200268557829003601f168201915b50505050508152602001906001019062002602565b600754600090610100900460ff1615620026db5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620027ea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200276c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620044e0565b60408051601f1981840301815290829052620027889162004512565b6000604051808303816000865af19150503d8060008114620027c7576040519150601f19603f3d011682016040523d82523d6000602084013e620027cc565b606091505b5091505080806020019051810190620027e6919062004145565b9150505b919050565b6000620007f56040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620029d8565b606060138054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620029e58262003894565b5092915050565b60265460ff161562002a0c57602462002a06828262004583565b505a6025555b50565b80821462002b7b577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162002a9d9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a160408051818152600a818301527f2020202020204c6566740000000000000000000000000000000000000000000060608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a818301527f202020202052696768740000000000000000000000000000000000000000000060608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a162002b7b620039c9565b5050565b60265460ff161562000b9f5760005a9050600060648260255462002ba4919062004650565b62002bb0919062004650565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8602460405160200162002be7919062004678565b60408051601f198184030181529082905262002c059184906200471b565b60405180910390a15050565b62002c1b62003adc565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002c3f620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002c8157600080fd5b505af115801562002c96573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525062002d15620023bf565b62002d1f620021f2565b6040518563ffffffff1660e01b815260040162002d4094939291906200473f565b6020604051808303816000875af115801562002d60573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d86919062004165565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002dd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002dfd919081019062004855565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002e4462002831565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002e8657600080fd5b505af115801562002e9b573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653100000000000000000000000000000000000000000000000081525081525062002f1a62002831565b62002f246200210e565b6040518563ffffffff1660e01b815260040162002f4594939291906200492b565b6020604051808303816000875af115801562002f65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f8b919062004165565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002fd8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003002919081019062004855565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620030496200188f565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200308b57600080fd5b505af1158015620030a0573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65320000000000000000000000000000000000000000000000008152508152506200311f6200188f565b620031296200252d565b6040518563ffffffff1660e01b81526004016200314a94939291906200497a565b6020604051808303816000875af11580156200316a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003190919062004165565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa158015620031dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003207919081019062004855565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662003250620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200329257600080fd5b505af1158015620032a7573d6000803e3d6000fd5b50505050604051620032b99062003cc1565b604051809103906000f080158015620032d6573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862003305620022a3565b8362003310620028b5565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200337657600080fd5b505af11580156200338b573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033ee57600080fd5b505af115801562003403573d6000803e3d6000fd5b5050505050565b6029546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa1864991620034639160040190815260200190565b602060405180830381865afa15801562003481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620034a791906200425f565b602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200354857600080fd5b505af11580156200355d573d6000803e3d6000fd5b505060265461010090046001600160a01b031691506200387f9050576000604051620035899062003ca5565b604051809103906000f080158015620035a6573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620035c89062003cb3565b604051809103906000f080158015620035e5573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200366891906200425f565b602680547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620036eb9392041662003b93565b602654604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200377c57600080fd5b505af115801562003791573d6000803e3d6000fd5b506000925060019150620037a29050565b604051908082528060200260200182016040528015620037cc578160200160208202803683370190505b5060285481519192506001600160a01b0316908290600090620037f357620037f36200427f565b6001600160a01b03928316602091820292909201015260265460405163b63e800d60e01b81526101009091049091169063b63e800d9062003847908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200386257600080fd5b505af115801562003877573d6000803e3d6000fd5b505050505050505b5060265461010090046001600160a01b031690565b60008082604051602001620038aa919062004512565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200392c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200395291906200425f565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620039909085908790600401620049c9565b600060405180830381600087803b158015620039ab57600080fd5b505af1158015620039c0573d6000803e3d6000fd5b50505050915091565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562003acb5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262003a669291602001620044e0565b60408051601f198184030181529082905262003a829162004512565b6000604051808303816000865af19150503d806000811462003ac1576040519150601f19603f3d011682016040523d82523d6000602084013e62003ac6565b606091505b505050505b6007805461ff001916610100179055565b60405162003aea9062003ccf565b604051809103906000f08015801562003b07573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862003b36620028f7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562003b7857600080fd5b505af115801562003b8d573d6000803e3d6000fd5b50505050565b62002b7b828260405160240162003bac929190620049ed565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b610e678062004a1b83390190565b613491806200588283390190565b6127688062008d1383390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162003c98604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200b47b83390190565b613594806200bccd83390190565b6135c1806200f26183390190565b612eb6806201282283390190565b6001600160a01b038116811462002a0c57600080fd5b60006020828403121562003d0657600080fd5b813562003d138162003cdd565b9392505050565b600081518084526020808501945080840160005b8381101562003d555781516001600160a01b03168752958201959082019060010162003d2e565b509495945050505050565b60208152600062003d13602083018462003d1a565b60005b8381101562003d9257818101518382015260200162003d78565b50506000910152565b6000815180845262003db581602086016020860162003d75565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562003e7f57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562003e6857605f1989850301835262003e5584865162003d9b565b948e01949350918d019160010162003e36565b505050978a01979450509188019160010162003df0565b50919a9950505050505050505050565b801515811462002a0c57600080fd5b60006020828403121562003eb157600080fd5b813562003d138162003e8f565b82815260406020820152600062003ed9604083018462003d9b565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562003f8957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562003f735783516001600160e01b0319168252928b019260019290920191908b019062003f47565b50978a0197955050509187019160010162003f09565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171562003fd45762003fd462003f98565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004006576200400662003f98565b604052919050565b600067ffffffffffffffff8211156200402b576200402b62003f98565b50601f01601f191660200190565b6000806000606084860312156200404f57600080fd5b83356200405c8162003cdd565b925060208401359150604084013567ffffffffffffffff8111156200408057600080fd5b8401601f810186136200409257600080fd5b8035620040a9620040a3826200400e565b62003fda565b818152876020838501011115620040bf57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200413857603f198886030184526200412585835162003d9b565b9450928501929085019060010162004106565b5092979650505050505050565b6000602082840312156200415857600080fd5b815162003d138162003e8f565b6000602082840312156200417857600080fd5b5051919050565b600181811c908216806200419457607f821691505b602082108103620041b557634e487b7160e01b600052602260045260246000fd5b50919050565b80518252600060208201516040602085015262003ed9604085018262003d9b565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004239610100850182620041bb565b90508160c08601511660e0850152809250505092915050565b8051620027ea8162003cdd565b6000602082840312156200427257600080fd5b815162003d138162003cdd565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620042ab8184018b62003d1a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600281106200431b57634e487b7160e01b600052602160045260246000fd5b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200434b8285018d62003d9b565b92506200435c606085018c620042fc565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b6000620043a7620040a3846200400e565b9050828152838383011115620043bc57600080fd5b62003d1383602083018462003d75565b600060208284031215620043df57600080fd5b815167ffffffffffffffff811115620043f757600080fd5b8201601f810184136200440957600080fd5b62003ed98482516020840162004396565b6000806000606084860312156200443057600080fd5b835160ff811681146200444257600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620044858285018d62003d9b565b915062004496606085018c620042fc565b8960808501528860a08501528760c085015280871660e085015280861661010085015250828103610120840152620044cf818562003d9b565b9d9c50505050505050505050505050565b6001600160e01b031983168152600082516200450481600485016020870162003d75565b919091016004019392505050565b600082516200452681846020870162003d75565b9190910192915050565b601f8211156200457e57600081815260208120601f850160051c81016020861015620045595750805b601f850160051c820191505b818110156200457a5782815560010162004565565b5050505b505050565b815167ffffffffffffffff811115620045a057620045a062003f98565b620045b881620045b184546200417f565b8462004530565b602080601f831160018114620045f05760008415620045d75750858301515b600019600386901b1c1916600185901b1785556200457a565b600085815260208120601f198616915b82811015620046215788860151825594840194600190910190840162004600565b5085821015620046405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156200467257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835462004688816200417f565b60018281168015620046a35760018114620046b957620046ea565b60ff1984168752821515830287019450620046ea565b8760005260208060002060005b85811015620046e15781548a820152908401908201620046c6565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b60408152600062004730604083018562003d9b565b90508260208301529392505050565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b03851660608401528281036080840152620047b1818562003d1a565b979650505050505050565b600082601f830112620047ce57600080fd5b62003d138383516020850162004396565b600060408284031215620047f257600080fd5b6040516040810167ffffffffffffffff828210818311171562004819576200481962003f98565b816040528293508451835260208501519150808211156200483957600080fd5b506200484885828601620047bc565b6020830152505092915050565b6000602082840312156200486857600080fd5b815167ffffffffffffffff808211156200488157600080fd5b9083019060c082860312156200489657600080fd5b620048a062003fae565b8251815260208301516020820152604083015182811115620048c157600080fd5b620048cf87828601620047bc565b604083015250606083015182811115620048e857600080fd5b620048f687828601620047df565b6060830152506200490a6080840162004252565b60808201526200491d60a0840162004252565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b038316815260406020820152600062003ed9604083018462003d9b565b60408152600062004a02604083018562003d9b565b90506001600160a01b0383166020830152939250505056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a264697066735822122078fc398203f4f473fa5a365212d8bad35606b971758df7a975ec9f02456ac09064736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;158:37:99;;;;226:34;;;;;;;;339::100;;;;1568:20:98;1540:48;;1374:2342;1671:52;;;1572:26:44;1374:2342:98;1671:52;;;;;;-1:-1:-1;;;1671:52:98;;;;;;1644:79;;;;1374:2342;;1644:79;;;;;;;:::i;:::-;-1:-1:-1;;1799:32:98;;;;;;;;;;;;;;;;;;;-1:-1:-1;1799:8:98;:32::i;:::-;1777:54;;;-1:-1:-1;;;;;;1777:54:98;-1:-1:-1;;;;;1777:54:98;;;;;;;;;;1374:2342;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:49;;;;;3430:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;3403:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;14:127:101:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;2735:250::-;2820:1;2830:113;2844:6;2841:1;2838:13;2830:113;;;2920:11;;;2914:18;2901:11;;;2894:39;2866:2;2859:10;2830:113;;;-1:-1:-1;;2977:1:101;2959:16;;2952:27;2735:250::o;2990:289::-;3121:3;3159:6;3153:13;3175:66;3234:6;3229:3;3222:4;3214:6;3210:17;3175:66;:::i;:::-;3257:16;;;;;2990:289;-1:-1:-1;;2990:289:101:o;3466:290::-;3536:6;3589:2;3577:9;3568:7;3564:23;3560:32;3557:52;;;3605:1;3602;3595:12;3557:52;3631:16;;-1:-1:-1;;;;;3676:31:101;;3666:42;;3656:70;;3722:1;3719;3712:12;3656:70;3745:5;3466:290;-1:-1:-1;;;3466:290:101:o;3761:493::-;3967:1;3963;3958:3;3954:11;3950:19;3942:6;3938:32;3927:9;3920:51;4007:2;4002;3991:9;3987:18;3980:30;3901:4;4039:6;4033:13;4082:6;4077:2;4066:9;4062:18;4055:34;4098:79;4170:6;4165:2;4154:9;4150:18;4145:2;4137:6;4133:15;4098:79;:::i;:::-;4238:2;4217:15;-1:-1:-1;;4213:29:101;4198:45;;;;4245:2;4194:54;;3761:493;-1:-1:-1;;;3761:493:101:o;:::-;1374:2342:98;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620004205760003560e01c806374d9284e1162000229578063a8c62e761162000131578063d6d8428d11620000bb578063ef0d790f1162000086578063ef0d790f146200077e578063fa7626d41462000788578063fc0c546a1462000796578063fd325c6014620007aa57600080fd5b8063d6d8428d146200074e578063da4bf0871462000760578063dac4eb16146200076a578063e20c9f71146200077457600080fd5b8063c5d7d73b11620000fc578063c5d7d73b146200071e578063d1e82b581462000730578063d1f2cd88146200073a578063d5bee9f5146200074457600080fd5b8063a8c62e7614620006db578063aa3744bd14620006ef578063b5508aa914620006f9578063ba414fa6146200070357600080fd5b806385226c8111620001b35780638e3c2493116200017e5780638e3c249314620006a1578063916a17c614620006ab578063a0cf0aea14620006b5578063a407c67a14620006d157600080fd5b806385226c81146200066a578063896546a114620006835780638c7408c414620004aa5780638e0d1a50146200069757600080fd5b80637b10399911620001f45780637b10399914620006445780637b2edf3214620006565780637cbe79ed1462000660578063829e423f14620004aa57600080fd5b806374d9284e14620004aa578063759c9a8614620006265780637658524d146200063057806379e62d0d146200063a57600080fd5b80632d0e6731116200032d5780635a2bcc1811620002b75780636a38dd0a11620002825780636a38dd0a14620005e25780636c53db9a14620005ec5780636db52510146200060557806370a32944146200061c57600080fd5b80635a2bcc1814620005ab5780635aff599914620005b557806366d003ac14620005bf57806366d9a9a014620005c957600080fd5b80633e5e3c2311620002f85780633e5e3c2314620005835780633f7286f4146200058d5780634bf4ba211462000597578063587c124314620005a157600080fd5b80632d0e6731146200052a5780633554642a146200054e578063392f37e9146200056057806339f56f7f146200057a57600080fd5b8063174eedde11620003af5780631b96dce6116200037a5780631b96dce614620004e45780631e7bcb2e14620004ee5780631ed7831c14620004f85780632ade3880146200051157600080fd5b8063174eedde14620004aa578063176effb314620004b25780631854036114620004c45780631ae726d914620004cd57600080fd5b80630688b13511620003f05780630688b135146200047657806308dbbb0314620004805780630a9254e414620004995780630f166ad414620004a357600080fd5b8062b1fad71462000425578063030e4006146200044c5780630354ae6014620004565780630522b7db1462000462575b600080fd5b6200042f620007b3565b6040516001600160a01b0390911681526020015b60405180910390f35b6200042f620007fa565b620004606200083c565b005b6027546200042f906001600160a01b031681565b6200042f62000ba1565b6200048a6103e881565b60405190815260200162000443565b6200046062000be3565b306200042f565b60006200042f565b601f546001600160a01b03166200042f565b6022546200048a565b6200042f620004de36600462003cf3565b62001544565b6200042f6200188f565b6200042f620018d1565b6200050262001913565b60405162000443919062003d60565b6200051b62001977565b60405162000443919062003dc9565b620004606200053b36600462003e9e565b6026805460ff1916911515919091179055565b6023546001600160a01b03166200042f565b6200056a62001ac5565b6040516200044392919062003ebe565b6020546200048a565b6200050262001b64565b6200050262001bc6565b6200050262001c28565b6200042f62001c4b565b6200048a602c5481565b6200042f62001c8d565b6200042f62001ccf565b620005d362001d11565b60405162000443919062003ee1565b6200042f62001dfb565b6026546200042f9061010090046001600160a01b031681565b620004606200061636600462004039565b62001e3d565b620005026200210e565b6200042f620021b0565b6200048a60295481565b62000502620021f2565b601d546001600160a01b03166200042f565b6200042f62002261565b6200042f620022a3565b62000674620022e5565b604051620004439190620040df565b6028546200042f906001600160a01b031681565b6200042f620023bf565b6200042f62002401565b620005d362002443565b6200042f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620005026200252d565b602a546200042f906001600160a01b031681565b6200042f6200259c565b62000674620025de565b6200070d620026b8565b604051901515815260200162000443565b6021546001600160a01b03166200042f565b6200042f620027ef565b6200042f62002831565b6200042f62002873565b601c546001600160a01b03166200042f565b6200042f620028b5565b6200042f620028f7565b6200050262002939565b6200042f6200299b565b6007546200070d9060ff1681565b602b546200042f906001600160a01b031681565b601e546200048a565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620029d8565b905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620029d8565b6200087c6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250620029ec565b601c546001600160a01b0316602a546040517f41bba0b40000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201529116906341bba0b490602401600060405180830381600087803b158015620008e857600080fd5b505af1158015620008fd573d6000803e3d6000fd5b50506030546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200097457600080fd5b505af115801562000989573d6000803e3d6000fd5b5050602b54602f546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526103e860248201529116925063095ea7b391506044016020604051808303816000875af1158015620009fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a23919062004145565b50602f546001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000a6b57600080fd5b505af115801562000a80573d6000803e3d6000fd5b5050602b54602f546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015262000b1d9450911691506370a0823190602401602060405180830381865afa15801562000aef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b15919062004165565b600062002a0f565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000b7c57600080fd5b505af115801562000b91573d6000803e3d6000fd5b5050505062000b9f62002b7f565b565b6000620007f56040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620029d8565b62000bed62002c11565b62000c0a62000c04601d546001600160a01b031690565b6200322c565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c2e620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c7057600080fd5b505af115801562000c85573d6000803e3d6000fd5b5050505062000c9c601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000cfa57600080fd5b505af115801562000d0f573d6000803e3d6000fd5b5050505062000d26601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d8457600080fd5b505af115801562000d99573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b5050505060405162000e239062003c10565b604051809103906000f08015801562000e40573d6000803e3d6000fd5b50602b80546001600160a01b0319166001600160a01b039290921691821790556340c10f1930602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000eb057600080fd5b505af115801562000ec5573d6000803e3d6000fd5b5050602b546001600160a01b031691506340c10f19905062000ee6620022a3565b602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f3057600080fd5b505af115801562000f45573d6000803e3d6000fd5b5050602b54603054602c546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201526024810191909152911692506340c10f199150604401600060405180830381600087803b15801562000fb757600080fd5b505af115801562000fcc573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062000ff6601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001045573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106b919062004145565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762001090620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010d257600080fd5b505af1158015620010e7573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062001111601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001160573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001186919062004145565b50601c546001600160a01b0316604051620011a19062003c1e565b6001600160a01b039091168152602001604051809103906000f080158015620011ce573d6000803e3d6000fd5b50602a80546001600160a01b0319166001600160a01b0392909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662001213620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200125557600080fd5b505af11580156200126a573d6000803e3d6000fd5b5050505062001281601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620012d257600080fd5b505af1158015620012e7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200134a57600080fd5b505af11580156200135f573d6000803e3d6000fd5b505050506000604051620013739062003c2c565b604051809103906000f08015801562001390573d6000803e3d6000fd5b5090506200139d62003c3a565b601c546001600160a01b039081168252602b54166020808301919091526103e8604080840191909152600260608401528051808201909152602d80548252602e80549293919291840191620013f2906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001420906200417f565b8015620014715780601f10620014455761010080835404028352916020019162001471565b820191906000526020600020905b8154815290600101906020018083116200145357829003601f168201915b5050509190925250505060a08201526200148a6200340a565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620014da908490600401620041dc565b6020604051808303816000875af1158015620014fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200152091906200425f565b602f80546001600160a01b0319166001600160a01b03929092169190911790555050565b6027546000906001600160a01b03166200187e576000604051620015689062003ca5565b604051809103906000f08015801562001585573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620015a79062003cb3565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200164791906200425f565b602780546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620016ea57600080fd5b505af1158015620016ff573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b1580156200178f57600080fd5b505af1158015620017a4573d6000803e3d6000fd5b506000925060019150620017b59050565b604051908082528060200260200182016040528015620017df578160200160208202803683370190505b5090508481600081518110620017f957620017f96200427f565b6001600160a01b03928316602091820292909201015260275460405163b63e800d60e01b815291169063b63e800d9062001846908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200186157600080fd5b505af115801562001876573d6000803e3d6000fd5b505050505050505b50506027546001600160a01b031690565b6000620007f56040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620029d8565b606060148054806020026020016040519081016040528092919081815260200182805480156200196d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200194e575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001aa457838290600052602060002001805462001a10906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001a3e906200417f565b801562001a8f5780601f1062001a635761010080835404028352916020019162001a8f565b820191906000526020600020905b81548152906001019060200180831162001a7157829003601f168201915b505050505081526020019060010190620019ee565b5050505081525050815260200190600101906200199b565b50505050905090565b602d8054602e805491929162001adb906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001b09906200417f565b801562001b5a5780601f1062001b2e5761010080835404028352916020019162001b5a565b820191906000526020600020905b81548152906001019060200180831162001b3c57829003601f168201915b5050505050905082565b606060168054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620029d8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001de257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001da35790505b5050505050815250508152602001906001019062001d35565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620029d8565b6000602660019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602660019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001ec3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ee9919062004165565b6040518b63ffffffff1660e01b815260040162001f109a999897969594939291906200431f565b600060405180830381865afa15801562001f2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001f589190810190620043cc565b805160208201206029546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200200591906200441a565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526026547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a76120290620020bc908c908c908c90600090819081908190819081908d9060650162004459565b6020604051808303816000875af1158015620020dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002102919062004145565b50505050505050505050565b604080516002808252606080830184529260009291906020830190803683370190505090506200213d620018d1565b816000815181106200215357620021536200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002261565b816001815181106200219357620021936200427f565b6001600160a01b0390921660209283029190910190910152919050565b6000620007f56040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620029d8565b6040805160028082526060808301845292600092919060208301908036833701905050905062002221620007b3565b816000815181106200223757620022376200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62001dfb565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620029d8565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5783829060005260206000200180546200232b906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002359906200417f565b8015620023aa5780601f106200237e57610100808354040283529160200191620023aa565b820191906000526020600020905b8154815290600101906020018083116200238c57829003601f168201915b50505050508152602001906001019062002309565b6000620007f56040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620029d8565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200251457602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620024d55790505b5050505050815250508152602001906001019062002467565b604080516002808252606080830184529260009291906020830190803683370190505090506200255c62001c4b565b816000815181106200257257620025726200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002401565b6000620007f56040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620029d8565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57838290600052602060002001805462002624906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002652906200417f565b8015620026a35780601f106200267757610100808354040283529160200191620026a3565b820191906000526020600020905b8154815290600101906020018083116200268557829003601f168201915b50505050508152602001906001019062002602565b600754600090610100900460ff1615620026db5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620027ea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200276c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620044e0565b60408051601f1981840301815290829052620027889162004512565b6000604051808303816000865af19150503d8060008114620027c7576040519150601f19603f3d011682016040523d82523d6000602084013e620027cc565b606091505b5091505080806020019051810190620027e6919062004145565b9150505b919050565b6000620007f56040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620029d8565b606060138054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620029e58262003894565b5092915050565b60265460ff161562002a0c57602462002a06828262004583565b505a6025555b50565b80821462002b7b577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162002a9d9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a160408051818152600a818301527f2020202020204c6566740000000000000000000000000000000000000000000060608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a818301527f202020202052696768740000000000000000000000000000000000000000000060608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a162002b7b620039c9565b5050565b60265460ff161562000b9f5760005a9050600060648260255462002ba4919062004650565b62002bb0919062004650565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8602460405160200162002be7919062004678565b60408051601f198184030181529082905262002c059184906200471b565b60405180910390a15050565b62002c1b62003adc565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002c3f620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002c8157600080fd5b505af115801562002c96573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525062002d15620023bf565b62002d1f620021f2565b6040518563ffffffff1660e01b815260040162002d4094939291906200473f565b6020604051808303816000875af115801562002d60573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d86919062004165565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002dd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002dfd919081019062004855565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002e4462002831565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002e8657600080fd5b505af115801562002e9b573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653100000000000000000000000000000000000000000000000081525081525062002f1a62002831565b62002f246200210e565b6040518563ffffffff1660e01b815260040162002f4594939291906200492b565b6020604051808303816000875af115801562002f65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f8b919062004165565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002fd8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003002919081019062004855565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620030496200188f565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200308b57600080fd5b505af1158015620030a0573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65320000000000000000000000000000000000000000000000008152508152506200311f6200188f565b620031296200252d565b6040518563ffffffff1660e01b81526004016200314a94939291906200497a565b6020604051808303816000875af11580156200316a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003190919062004165565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa158015620031dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003207919081019062004855565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662003250620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200329257600080fd5b505af1158015620032a7573d6000803e3d6000fd5b50505050604051620032b99062003cc1565b604051809103906000f080158015620032d6573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862003305620022a3565b8362003310620028b5565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200337657600080fd5b505af11580156200338b573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033ee57600080fd5b505af115801562003403573d6000803e3d6000fd5b5050505050565b6029546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa1864991620034639160040190815260200190565b602060405180830381865afa15801562003481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620034a791906200425f565b602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200354857600080fd5b505af11580156200355d573d6000803e3d6000fd5b505060265461010090046001600160a01b031691506200387f9050576000604051620035899062003ca5565b604051809103906000f080158015620035a6573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620035c89062003cb3565b604051809103906000f080158015620035e5573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200366891906200425f565b602680547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620036eb9392041662003b93565b602654604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200377c57600080fd5b505af115801562003791573d6000803e3d6000fd5b506000925060019150620037a29050565b604051908082528060200260200182016040528015620037cc578160200160208202803683370190505b5060285481519192506001600160a01b0316908290600090620037f357620037f36200427f565b6001600160a01b03928316602091820292909201015260265460405163b63e800d60e01b81526101009091049091169063b63e800d9062003847908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200386257600080fd5b505af115801562003877573d6000803e3d6000fd5b505050505050505b5060265461010090046001600160a01b031690565b60008082604051602001620038aa919062004512565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200392c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200395291906200425f565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620039909085908790600401620049c9565b600060405180830381600087803b158015620039ab57600080fd5b505af1158015620039c0573d6000803e3d6000fd5b50505050915091565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562003acb5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262003a669291602001620044e0565b60408051601f198184030181529082905262003a829162004512565b6000604051808303816000865af19150503d806000811462003ac1576040519150601f19603f3d011682016040523d82523d6000602084013e62003ac6565b606091505b505050505b6007805461ff001916610100179055565b60405162003aea9062003ccf565b604051809103906000f08015801562003b07573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862003b36620028f7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562003b7857600080fd5b505af115801562003b8d573d6000803e3d6000fd5b50505050565b62002b7b828260405160240162003bac929190620049ed565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b610e678062004a1b83390190565b613491806200588283390190565b6127688062008d1383390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162003c98604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200b47b83390190565b613594806200bccd83390190565b6135c1806200f26183390190565b612eb6806201282283390190565b6001600160a01b038116811462002a0c57600080fd5b60006020828403121562003d0657600080fd5b813562003d138162003cdd565b9392505050565b600081518084526020808501945080840160005b8381101562003d555781516001600160a01b03168752958201959082019060010162003d2e565b509495945050505050565b60208152600062003d13602083018462003d1a565b60005b8381101562003d9257818101518382015260200162003d78565b50506000910152565b6000815180845262003db581602086016020860162003d75565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562003e7f57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562003e6857605f1989850301835262003e5584865162003d9b565b948e01949350918d019160010162003e36565b505050978a01979450509188019160010162003df0565b50919a9950505050505050505050565b801515811462002a0c57600080fd5b60006020828403121562003eb157600080fd5b813562003d138162003e8f565b82815260406020820152600062003ed9604083018462003d9b565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562003f8957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562003f735783516001600160e01b0319168252928b019260019290920191908b019062003f47565b50978a0197955050509187019160010162003f09565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171562003fd45762003fd462003f98565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004006576200400662003f98565b604052919050565b600067ffffffffffffffff8211156200402b576200402b62003f98565b50601f01601f191660200190565b6000806000606084860312156200404f57600080fd5b83356200405c8162003cdd565b925060208401359150604084013567ffffffffffffffff8111156200408057600080fd5b8401601f810186136200409257600080fd5b8035620040a9620040a3826200400e565b62003fda565b818152876020838501011115620040bf57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200413857603f198886030184526200412585835162003d9b565b9450928501929085019060010162004106565b5092979650505050505050565b6000602082840312156200415857600080fd5b815162003d138162003e8f565b6000602082840312156200417857600080fd5b5051919050565b600181811c908216806200419457607f821691505b602082108103620041b557634e487b7160e01b600052602260045260246000fd5b50919050565b80518252600060208201516040602085015262003ed9604085018262003d9b565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004239610100850182620041bb565b90508160c08601511660e0850152809250505092915050565b8051620027ea8162003cdd565b6000602082840312156200427257600080fd5b815162003d138162003cdd565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620042ab8184018b62003d1a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600281106200431b57634e487b7160e01b600052602160045260246000fd5b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200434b8285018d62003d9b565b92506200435c606085018c620042fc565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b6000620043a7620040a3846200400e565b9050828152838383011115620043bc57600080fd5b62003d1383602083018462003d75565b600060208284031215620043df57600080fd5b815167ffffffffffffffff811115620043f757600080fd5b8201601f810184136200440957600080fd5b62003ed98482516020840162004396565b6000806000606084860312156200443057600080fd5b835160ff811681146200444257600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620044858285018d62003d9b565b915062004496606085018c620042fc565b8960808501528860a08501528760c085015280871660e085015280861661010085015250828103610120840152620044cf818562003d9b565b9d9c50505050505050505050505050565b6001600160e01b031983168152600082516200450481600485016020870162003d75565b919091016004019392505050565b600082516200452681846020870162003d75565b9190910192915050565b601f8211156200457e57600081815260208120601f850160051c81016020861015620045595750805b601f850160051c820191505b818110156200457a5782815560010162004565565b5050505b505050565b815167ffffffffffffffff811115620045a057620045a062003f98565b620045b881620045b184546200417f565b8462004530565b602080601f831160018114620045f05760008415620045d75750858301515b600019600386901b1c1916600185901b1785556200457a565b600085815260208120601f198616915b82811015620046215788860151825594840194600190910190840162004600565b5085821015620046405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156200467257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835462004688816200417f565b60018281168015620046a35760018114620046b957620046ea565b60ff1984168752821515830287019450620046ea565b8760005260208060002060005b85811015620046e15781548a820152908401908201620046c6565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b60408152600062004730604083018562003d9b565b90508260208301529392505050565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b03851660608401528281036080840152620047b1818562003d1a565b979650505050505050565b600082601f830112620047ce57600080fd5b62003d138383516020850162004396565b600060408284031215620047f257600080fd5b6040516040810167ffffffffffffffff828210818311171562004819576200481962003f98565b816040528293508451835260208501519150808211156200483957600080fd5b506200484885828601620047bc565b6020830152505092915050565b6000602082840312156200486857600080fd5b815167ffffffffffffffff808211156200488157600080fd5b9083019060c082860312156200489657600080fd5b620048a062003fae565b8251815260208301516020820152604083015182811115620048c157600080fd5b620048cf87828601620047bc565b604083015250606083015182811115620048e857600080fd5b620048f687828601620047df565b6060830152506200490a6080840162004252565b60808201526200491d60a0840162004252565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b038316815260406020820152600062003ed9604083018462003d9b565b60408152600062004a02604083018562003d9b565b90506001600160a01b0383166020830152939250505056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a264697066735822122078fc398203f4f473fa5a365212d8bad35606b971758df7a975ec9f02456ac09064736f6c63430008130033","sourceMap":"1374:2342:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;3285:429:98:-;;;:::i;:::-;;269:28:100;;;;;-1:-1:-1;;;;;269:28:100;;;4045:101:38;;;:::i;1594:44:98:-;;1634:4;1594:44;;;;;644:25:101;;;632:2;617:18;1594:44:98;498:177:101;1838:1328:98;;;:::i;226:92:38:-;306:4;226:92;;905:138;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:100;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:99:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:99;;;;;;;;;;267:84;2757:105:40;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;1644:79:98;;;:::i;:::-;;;;;;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:51;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;1540:48:98:-;;;;;;4257:113:38;;;:::i;4152:99::-;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:100:-;;;;;;;;-1:-1:-1;;;;;240:23:100;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;4376:105::-;;;:::i;339:34:100:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;304:29:100:-;;;;;-1:-1:-1;;;;;304:29:100;;;1537:101:38;;;:::i;3485:113::-;;;:::i;3069:146:51:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;1480:26:98:-;;;;;-1:-1:-1;;;;;1480:26:98;;;3938:101:38;;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;9916:14:101;;9909:22;9891:41;;9879:2;9864:18;1819:584:44;9751:187:101;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;546:124:38;;;:::i;324:109::-;;;:::i;2304:142:51:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1512:22:98;;;;;-1:-1:-1;;;;;1512:22:98;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;3285:429:98:-;3341:35;;;;;;;;;;;;;;;;;;:17;:35::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;3426:8:98;;3386:50;;;;;-1:-1:-1;;;;;3426:8:98;;;3386:50;;;160:74:101;3386:31:98;;;;;133:18:101;;3386:50:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3461:11:98;;3447:26;;;;;-1:-1:-1;;;;;3461:11:98;;;3447:26;;;160:74:101;3447:13:98;;-1:-1:-1;3447:13:98;;-1:-1:-1;133:18:101;;3447:26:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3483:5:98;;3505:15;;3483:54;;;;;-1:-1:-1;;;;;3505:15:98;;;3483:54;;;10857:74:101;1634:4:98;10947:18:101;;;10940:34;3483:5:98;;;-1:-1:-1;3483:13:98;;-1:-1:-1;10830:18:101;;3483:54:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3257:15:98;;-1:-1:-1;;;;;3257:15:98;-1:-1:-1;;;;;3547:41:98;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3609:5:98;;3633:15;;3609:41;;;;;-1:-1:-1;;;;;3633:15:98;;;3609:41;;;160:74:101;3600:54:98;;-1:-1:-1;3609:5:98;;;-1:-1:-1;3609:15:98;;133:18:101;;3609:41:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3652:1;3600:8;:54::i;:::-;317:28:45;309:37;;-1:-1:-1;;;;;3665:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3689:18;:16;:18::i;:::-;3285:429::o;4045:101:38:-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1838:1328:98:-;1872:21;:19;:21::i;:::-;1903:32;1923:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;1923:10:98;1903:11;:32::i;:::-;1946:13;;1960:12;:10;:12::i;:::-;1946:27;;-1:-1:-1;;;;;;1946:27:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;1946:27:98;;;160:74:101;133:18;;1946:27:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;1983:6:98;:23;;;;;2004:1;1983:23;;;644:25:101;-1:-1:-1;;;;;1983:20:98;;;;;;;617:18:101;;1983:23:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2016:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2016:6:98;:26;;;;;2040:1;2016:26;;;644:25:101;-1:-1:-1;;;;;2016:23:98;;;;;;;617:18:101;;2016:26:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2052:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2085:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2077:5:98;:23;;-1:-1:-1;;;;;;2077:23:98;-1:-1:-1;;;;;2077:23:98;;;;;;;;;2110:10;306:4:38;2130:10:98;;2110:31;;-1:-1:-1;;;;;;2110:31:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2110:31:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2110:31:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2151:5:98;;-1:-1:-1;;;;;2151:5:98;;-1:-1:-1;2151:10:98;;-1:-1:-1;2162:12:98;:10;:12::i;:::-;2176:10;;2151:36;;-1:-1:-1;;;;;;2151:36:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2151:36:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2151:36:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2197:5:98;;2208:11;;2221:10;;2197:35;;;;;-1:-1:-1;;;;;2208:11:98;;;2197:35;;;10857:74:101;10947:18;;;10940:34;;;;2197:5:98;;;-1:-1:-1;2197:10:98;;-1:-1:-1;10830:18:101;;2197:35:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2242:5:98;;-1:-1:-1;;;;;2242:5:98;;-1:-1:-1;2242:13:98;;-1:-1:-1;2264:6:98;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2264:6:98;2273:10;;2242:42;;-1:-1:-1;;;;;;2242:42:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2242:42:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2242:42:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2295:8:98;;2304:12;:10;:12::i;:::-;2295:22;;-1:-1:-1;;;;;;2295:22:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;2295:22:98;;;160:74:101;133:18;;2295:22:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2327:5:98;;-1:-1:-1;;;;;2327:5:98;;-1:-1:-1;2327:13:98;;-1:-1:-1;2349:6:98;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2349:6:98;2358:10;;2327:42;;-1:-1:-1;;;;;;2327:42:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2327:42:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2327:42:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;2466:31:98;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2466:31:98;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2455:8:98;:42;;-1:-1:-1;;;;;;2455:42:98;-1:-1:-1;;;;;2455:42:98;;;;;;;;;;2581:13;;2595:12;:10;:12::i;:::-;2581:27;;-1:-1:-1;;;;;;2581:27:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;2581:27:98;;;160:74:101;133:18;;2581:27:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2618:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2618:6:98;-1:-1:-1;;;;;2618:24:98;;306:4:38;2618:33:98;;-1:-1:-1;;;;;;2618:33:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;2618:33:98;;;160:74:101;133:18;;2618:33:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2661:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2685:31;2719:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2685:55;;2750:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2806:30:98;;2883:5;;;2846:19;;;;:44;;;;1634:4;2900:26;;;;:42;;;;2974:1;2952:19;;;:23;2985:27;;;;;;;;3004:8;2985:27;;;;;;;;;3004:8;;2985:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2985:27:98;;;;-1:-1:-1;;;2985:16:98;;;:27;3060:14;:12;:14::i;:::-;-1:-1:-1;;;;;3022:54:98;;;:19;;;:54;3120:38;;;;;:30;;;;;;:38;;3022:6;;3120:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3086:15;:73;;-1:-1:-1;;;;;;3086:73:98;-1:-1:-1;;;;;3086:73:98;;;;;;;;;;-1:-1:-1;;1838:1328:98:o;380:708:100:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:100;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:100;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:100;;-1:-1:-1;;;;;;592:52:100;;;;;;;-1:-1:-1;;;;;13830:55:101;;;592:52:100;;;13812:74:101;13922:2;13902:18;;;13895:30;642:1:100;13941:18:101;;;13934:29;;;14015:18;;;14008:34;13980:19;;592:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:100;-1:-1:-1;;;;;658:45:100;;;;;;;;717:54;;;-1:-1:-1;;;717:54:100;;;;;14540:74:101;;;;14630:18;;;14623:30;14689:2;14669:18;;;14662:30;14728:17;14708:18;;;14701:45;658::100;;-1:-1:-1;717:8:100;;;;14763:19:101;;717:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:100;;;-1:-1:-1;;;785:45:100;;-1:-1:-1;;;;;15023:55:101;;785:45:100;;;15005:74:101;15095:18;;;15088:30;;;;15154:2;15134:18;;;15127:30;15193:18;15173;;;15166:46;785:8:100;;-1:-1:-1;785:8:100;;-1:-1:-1;15229:19:101;;785:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:100;;-1:-1:-1;884:1:100;;-1:-1:-1;870:16:100;;-1:-1:-1;870:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:100;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:100;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:100;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:100;;-1:-1:-1;;;;;1065:16:100;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;1644:79:98:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:100:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:100;-1:-1:-1;;;;;1993:33:100;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:100;-1:-1:-1;;;;;2240:17:100;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:100;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;18820:25:101;;;;18861:18;;;18854:34;;;2301:17:100;;-1:-1:-1;2301:17:100;2280:18;;;;;;2363:7;;;;18793:18:101;;2363:36:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;19480:19:101;;;19515:12;;;19508:28;;;19588:66;19574:3;19570:16;;;19566:89;19552:12;;;19545:111;2435:25:100;;;;;;;;;19672:12:101;;;2435:25:100;;;;2489:11;;:152;;;;19570:16:101;;-1:-1:-1;19480:19:101;;-1:-1:-1;19508:28:101;;-1:-1:-1;2489:11:100;;;-1:-1:-1;;;;;2489:11:100;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:100;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:38;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;10857:74:101;;;-1:-1:-1;;;10947:18:101;;;10940:34;2196:43:44;;;;;;;;;10830:18:101;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;357:192:99:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;24270:2:101;24252:21;;;24309:2;24289:18;;;24282:30;24348:34;24343:2;24328:18;;24321:62;24419:4;24414:2;24399:18;;24392:32;24456:3;24441:19;;24068:398;5293:41:44;;;;;;;;5353:31;;;24683:21:101;;;24740:2;24720:18;;;24713:30;24779:12;24774:2;24759:18;;24752:40;24859:4;24844:20;;24837:36;;;5353:31:44;;;;;;;24824:3:101;5353:31:44;;;5403;;;25096:21:101;;;25153:2;25133:18;;;25126:30;25192:12;25187:2;25172:18;;25165:40;25272:4;25257:20;;25250:36;;;5403:31:44;;;;;;;25237:3:101;5403:31:44;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;555:396:99:-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:99;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;555:396::o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1192:22:40;;;160:74:101;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;;;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:101;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1482:26:40;;;160:74:101;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:101;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1765:26:40;;;160:74:101;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:101;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:101;;;342:27:39;;;160:74:101;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;32076:15:101;;;409:201:39;;;32058:34:101;32128:15;;;32108:18;;;32101:43;32180:15;;;32160:18;;;32153:43;554:4:39;32212:18:101;;;32205:34;-1:-1:-1;32255:19:101;;;32248:35;31969:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;283:358;:::o;1094:785:100:-;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:101;;;632:2;617:18;;498:177;1169:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:100;-1:-1:-1;;;;;1152:41:100;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:100;;;;;32506:74:101;;;;32596:18;;;32589:30;32655:2;32635:18;;;32628:30;32694:16;32674:18;;;32667:44;1203:8:100;;;;32728:19:101;;1203:42:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:100;;;;;-1:-1:-1;;;;;1268:11:100;;-1:-1:-1;1256:589:100;;-1:-1:-1;1256:589:100;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:100;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:100;;-1:-1:-1;;;;;;1384:52:100;;;;;;;-1:-1:-1;;;;;13830:55:101;;;1384:52:100;;;13812:74:101;13922:2;13902:18;;;13895:30;1434:1:100;13941:18:101;;;13934:29;;;14015:18;;;14008:34;13980:19;;1384:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:100;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:100;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:100;;1595:11;;;;-1:-1:-1;;;;;1595:11:100;1578:45;;;32970:74:101;33060:18;;;33053:30;33119:2;33099:18;;;33092:30;33158:13;33138:18;;;33131:41;1578:8:100;;;;33189:19:101;;1578:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:100;;-1:-1:-1;1677:1:100;;-1:-1:-1;1663:16:100;;-1:-1:-1;1663:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:100;-1:-1:-1;1713:14:100;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:100;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:100;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:100;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:100;;;;;-1:-1:-1;;;;;1861:11:100;;1094:785::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;34060:74:101;;;-1:-1:-1;;;34150:18:101;;;34143:34;;;;2712:4:44;34193:18:101;;;34186:34;2489:11:44;;1671:64;2586:43;;34033:18:101;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;558:39:40;;;160:74:101;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;475:129::o;6994:145:59:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:59;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:59;;;;;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:101:-;-1:-1:-1;;;;;941:5:101;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:101:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:101;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:101;;1273:484;-1:-1:-1;;;;;1273:484:101:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:101;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:101;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:101:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:101;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:101;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:101;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:101;;;;4211:6;-1:-1:-1;;4240:15:101;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:101;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:101:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:101:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:101;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:101;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:101;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:101;;;;6520:5;-1:-1:-1;;;6548:15:101;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:101;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:101:o;6639:184::-;-1:-1:-1;;;6688:1:101;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:101;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:101:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:101;7514:15;-1:-1:-1;;7510:29:101;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:101;7873:18;;7860:32;;-1:-1:-1;7943:2:101;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:101;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:101;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:101;;8684:803;-1:-1:-1;;;;;;;8684:803:101:o;10985:245::-;11052:6;11105:2;11093:9;11084:7;11080:23;11076:32;11073:52;;;11121:1;11118;11111:12;11073:52;11153:9;11147:16;11172:28;11194:5;11172:28;:::i;11235:184::-;11305:6;11358:2;11346:9;11337:7;11333:23;11329:32;11326:52;;;11374:1;11371;11364:12;11326:52;-1:-1:-1;11397:16:101;;11235:184;-1:-1:-1;11235:184:101:o;11614:437::-;11693:1;11689:12;;;;11736;;;11757:61;;11811:4;11803:6;11799:17;11789:27;;11757:61;11864:2;11856:6;11853:14;11833:18;11830:38;11827:218;;-1:-1:-1;;;11898:1:101;11891:88;12002:4;11999:1;11992:15;12030:4;12027:1;12020:15;11827:218;;11614:437;;;:::o;12056:252::-;12143:5;12137:12;12132:3;12125:25;12107:3;12196:4;12189:5;12185:16;12179:23;12234:4;12227;12222:3;12218:14;12211:28;12255:47;12296:4;12291:3;12287:14;12273:12;12255:47;:::i;12313:848::-;12512:2;12501:9;12494:21;12475:4;-1:-1:-1;;;;;12631:2:101;12622:6;12616:13;12612:22;12607:2;12596:9;12592:18;12585:50;12699:2;12693;12685:6;12681:15;12675:22;12671:31;12666:2;12655:9;12651:18;12644:59;12757:2;12749:6;12745:15;12739:22;12734:2;12723:9;12719:18;12712:50;12817:2;12809:6;12805:15;12799:22;12793:3;12782:9;12778:19;12771:51;12877:3;12869:6;12865:16;12859:23;12853:3;12842:9;12838:19;12831:52;12930:3;12922:6;12918:16;12912:23;12972:4;12966:3;12955:9;12951:19;12944:33;13000:61;13056:3;13045:9;13041:19;13027:12;13000:61;:::i;:::-;12986:75;;13128:2;13121:3;13113:6;13109:16;13103:23;13099:32;13092:4;13081:9;13077:20;13070:62;13149:6;13141:14;;;;12313:848;;;;:::o;13166:138::-;13245:13;;13267:31;13245:13;13267:31;:::i;13309:251::-;13379:6;13432:2;13420:9;13411:7;13407:23;13403:32;13400:52;;;13448:1;13445;13438:12;13400:52;13480:9;13474:16;13499:31;13524:5;13499:31;:::i;15259:184::-;-1:-1:-1;;;15308:1:101;15301:88;15408:4;15405:1;15398:15;15432:4;15429:1;15422:15;15448:1065;15890:4;15919:3;15949:2;15938:9;15931:21;15975:56;16027:2;16016:9;16012:18;16004:6;15975:56;:::i;:::-;16062:2;16047:18;;;16040:34;;;;-1:-1:-1;;;;;16171:15:101;;;16166:2;16151:18;;16144:43;16223:22;;;16218:2;16203:18;;16196:50;-1:-1:-1;16255:17:101;;16341:15;;;16335:3;16320:19;;16313:44;-1:-1:-1;;16394:15:101;;;16388:3;16373:19;;16366:44;16441:3;16426:19;;16419:35;;;;16491:15;;;16485:3;16470:19;;;16463:44;;;;16289:15;;15448:1065;-1:-1:-1;15448:1065:101:o;16518:294::-;16599:1;16592:5;16589:12;16579:200;;-1:-1:-1;;;16632:1:101;16625:88;16736:4;16733:1;16726:15;16764:4;16761:1;16754:15;16579:200;16788:18;;16518:294::o;16817:1037::-;17224:4;17253:3;-1:-1:-1;;;;;17356:2:101;17348:6;17344:15;17333:9;17326:34;17396:6;17391:2;17380:9;17376:18;17369:34;17439:2;17434;17423:9;17419:18;17412:30;17459:45;17500:2;17489:9;17485:18;17477:6;17459:45;:::i;:::-;17451:53;;17513;17562:2;17551:9;17547:18;17539:6;17513:53;:::i;:::-;17597:3;17582:19;;17575:35;;;;-1:-1:-1;17641:3:101;17626:19;;17619:35;;;;17685:3;17670:19;;17663:35;;;;17735:15;;;17729:3;17714:19;;17707:44;17788:15;;;17782:3;17767:19;;17760:44;17835:3;17820:19;17813:35;;;;16817:1037;;-1:-1:-1;;;;16817:1037:101:o;17859:320::-;17934:5;17963:52;17979:35;18007:6;17979:35;:::i;17963:52::-;17954:61;;18038:6;18031:5;18024:21;18078:3;18069:6;18064:3;18060:16;18057:25;18054:45;;;18095:1;18092;18085:12;18054:45;18108:65;18166:6;18159:4;18152:5;18148:16;18143:3;18108:65;:::i;18184:457::-;18263:6;18316:2;18304:9;18295:7;18291:23;18287:32;18284:52;;;18332:1;18329;18322:12;18284:52;18365:9;18359:16;18398:18;18390:6;18387:30;18384:50;;;18430:1;18427;18420:12;18384:50;18453:22;;18506:4;18498:13;;18494:27;-1:-1:-1;18484:55:101;;18535:1;18532;18525:12;18484:55;18558:77;18627:7;18622:2;18616:9;18611:2;18607;18603:11;18558:77;:::i;18899:395::-;18985:6;18993;19001;19054:2;19042:9;19033:7;19029:23;19025:32;19022:52;;;19070:1;19067;19060:12;19022:52;19102:9;19096:16;19152:4;19145:5;19141:16;19134:5;19131:27;19121:55;;19172:1;19169;19162:12;19121:55;19240:2;19225:18;;19219:25;19284:2;19269:18;;;19263:25;19195:5;;19219:25;;-1:-1:-1;19263:25:101;18899:395;-1:-1:-1;;;18899:395:101:o;19695:1135::-;20128:4;20157:3;-1:-1:-1;;;;;20260:2:101;20252:6;20248:15;20237:9;20230:34;20300:6;20295:2;20284:9;20280:18;20273:34;20343:2;20338;20327:9;20323:18;20316:30;20369:45;20410:2;20399:9;20395:18;20387:6;20369:45;:::i;:::-;20355:59;;20423:53;20472:2;20461:9;20457:18;20449:6;20423:53;:::i;:::-;20513:6;20507:3;20496:9;20492:19;20485:35;20557:6;20551:3;20540:9;20536:19;20529:35;20601:6;20595:3;20584:9;20580:19;20573:35;20657:2;20649:6;20645:15;20639:3;20628:9;20624:19;20617:44;20710:2;20702:6;20698:15;20692:3;20681:9;20677:19;20670:44;;20763:9;20755:6;20751:22;20745:3;20734:9;20730:19;20723:51;20791:33;20817:6;20809;20791:33;:::i;:::-;20783:41;19695:1135;-1:-1:-1;;;;;;;;;;;;;19695:1135:101:o;21137:430::-;-1:-1:-1;;;;;;21326:6:101;21322:79;21317:3;21310:92;21292:3;21431:6;21425:13;21447:74;21514:6;21510:1;21505:3;21501:11;21494:4;21486:6;21482:17;21447:74;:::i;:::-;21541:16;;;;21559:1;21537:24;;21137:430;-1:-1:-1;;;21137:430:101:o;21572:287::-;21701:3;21739:6;21733:13;21755:66;21814:6;21809:3;21802:4;21794:6;21790:17;21755:66;:::i;:::-;21837:16;;;;;21572:287;-1:-1:-1;;21572:287:101:o;21990:545::-;22092:2;22087:3;22084:11;22081:448;;;22128:1;22153:5;22149:2;22142:17;22198:4;22194:2;22184:19;22268:2;22256:10;22252:19;22249:1;22245:27;22239:4;22235:38;22304:4;22292:10;22289:20;22286:47;;;-1:-1:-1;22327:4:101;22286:47;22382:2;22377:3;22373:12;22370:1;22366:20;22360:4;22356:31;22346:41;;22437:82;22455:2;22448:5;22445:13;22437:82;;;22500:17;;;22481:1;22470:13;22437:82;;;22441:3;;;22081:448;21990:545;;;:::o;22711:1352::-;22837:3;22831:10;22864:18;22856:6;22853:30;22850:56;;;22886:18;;:::i;:::-;22915:97;23005:6;22965:38;22997:4;22991:11;22965:38;:::i;:::-;22959:4;22915:97;:::i;:::-;23067:4;;23131:2;23120:14;;23148:1;23143:663;;;;23850:1;23867:6;23864:89;;;-1:-1:-1;23919:19:101;;;23913:26;23864:89;-1:-1:-1;;22668:1:101;22664:11;;;22660:24;22656:29;22646:40;22692:1;22688:11;;;22643:57;23966:81;;23113:944;;23143:663;21937:1;21930:14;;;21974:4;21961:18;;-1:-1:-1;;23179:20:101;;;23297:236;23311:7;23308:1;23305:14;23297:236;;;23400:19;;;23394:26;23379:42;;23492:27;;;;23460:1;23448:14;;;;23327:19;;23297:236;;;23301:3;23561:6;23552:7;23549:19;23546:201;;;23622:19;;;23616:26;-1:-1:-1;;23705:1:101;23701:14;;;23717:3;23697:24;23693:37;23689:42;23674:58;23659:74;;23546:201;-1:-1:-1;;;;;23793:1:101;23777:14;;;23773:22;23760:36;;-1:-1:-1;22711:1352:101:o;25297:282::-;25364:9;;;25385:11;;;25382:191;;;-1:-1:-1;;;25426:1:101;25419:88;25530:4;25527:1;25520:15;25558:4;25555:1;25548:15;25382:191;25297:282;;;;:::o;25584:979::-;25813:3;25842:1;25875:6;25869:13;25905:36;25931:9;25905:36;:::i;:::-;25960:1;25977:18;;;26004:133;;;;26151:1;26146:356;;;;25970:532;;26004:133;-1:-1:-1;;26037:24:101;;26025:37;;26110:14;;26103:22;26091:35;;26082:45;;;-1:-1:-1;26004:133:101;;26146:356;26177:6;26174:1;26167:17;26207:4;26252:2;26249:1;26239:16;26277:1;26291:165;26305:6;26302:1;26299:13;26291:165;;;26383:14;;26370:11;;;26363:35;26426:16;;;;26320:10;;26291:165;;;26295:3;;;26485:6;26480:3;26476:16;26469:23;;25970:532;-1:-1:-1;;26523:6:101;26511:19;;-1:-1:-1;;26555:1:101;26546:11;;25584:979;-1:-1:-1;;;25584:979:101:o;26568:291::-;26745:2;26734:9;26727:21;26708:4;26765:45;26806:2;26795:9;26791:18;26783:6;26765:45;:::i;:::-;26757:53;;26846:6;26841:2;26830:9;26826:18;26819:34;26568:291;;;;;:::o;26864:902::-;27288:6;27277:9;27270:25;27331:3;27326:2;27315:9;27311:18;27304:31;27372:2;27366:3;27355:9;27351:19;27344:31;27412:16;27406:3;27395:9;27391:19;27384:45;27465:3;27460:2;27449:9;27445:18;27438:31;27251:4;27492:55;27542:3;27531:9;27527:19;27519:6;27492:55;:::i;:::-;-1:-1:-1;;;;;27587:6:101;27583:55;27578:2;27567:9;27563:18;27556:83;27688:9;27680:6;27676:22;27670:3;27659:9;27655:19;27648:51;27716:44;27753:6;27745;27716:44;:::i;:::-;27708:52;26864:902;-1:-1:-1;;;;;;;26864:902:101:o;27960:236::-;28014:5;28067:3;28060:4;28052:6;28048:17;28044:27;28034:55;;28085:1;28082;28075:12;28034:55;28107:83;28186:3;28177:6;28171:13;28164:4;28156:6;28152:17;28107:83;:::i;28201:618::-;28267:5;28315:4;28303:9;28298:3;28294:19;28290:30;28287:50;;;28333:1;28330;28323:12;28287:50;28366:4;28360:11;28410:4;28402:6;28398:17;28434:18;28502:6;28490:10;28487:22;28482:2;28470:10;28467:18;28464:46;28461:72;;;28513:18;;:::i;:::-;28555:10;28549:4;28542:24;28584:6;28575:15;;28620:9;28614:16;28606:6;28599:32;28675:2;28664:9;28660:18;28654:25;28640:39;;28702:2;28694:6;28691:14;28688:34;;;28718:1;28715;28708:12;28688:34;;28755:57;28808:3;28799:6;28788:9;28784:22;28755:57;:::i;:::-;28750:2;28742:6;28738:15;28731:82;;;28201:618;;;;:::o;28824:1059::-;28919:6;28972:2;28960:9;28951:7;28947:23;28943:32;28940:52;;;28988:1;28985;28978:12;28940:52;29021:9;29015:16;29050:18;29091:2;29083:6;29080:14;29077:34;;;29107:1;29104;29097:12;29077:34;29130:22;;;;29186:4;29168:16;;;29164:27;29161:47;;;29204:1;29201;29194:12;29161:47;29230:22;;:::i;:::-;29281:2;29275:9;29268:5;29261:24;29331:2;29327;29323:11;29317:18;29312:2;29305:5;29301:14;29294:42;29375:2;29371;29367:11;29361:18;29404:2;29394:8;29391:16;29388:36;;;29420:1;29417;29410:12;29388:36;29456:56;29504:7;29493:8;29489:2;29485:17;29456:56;:::i;:::-;29451:2;29444:5;29440:14;29433:80;;29552:2;29548;29544:11;29538:18;29581:2;29571:8;29568:16;29565:36;;;29597:1;29594;29587:12;29565:36;29633:65;29690:7;29679:8;29675:2;29671:17;29633:65;:::i;:::-;29628:2;29621:5;29617:14;29610:89;;29732:43;29770:3;29766:2;29762:12;29732:43;:::i;:::-;29726:3;29719:5;29715:15;29708:68;29809:43;29847:3;29843:2;29839:12;29809:43;:::i;:::-;29803:3;29792:15;;29785:68;29796:5;28824:1059;-1:-1:-1;;;;;28824:1059:101:o;29888:896::-;30312:6;30301:9;30294:25;30355:3;30350:2;30339:9;30335:18;30328:31;30396:1;30390:3;30379:9;30375:19;30368:30;30435:11;30429:3;30418:9;30414:19;30407:40;30483:3;30478:2;30467:9;30463:18;30456:31;30275:4;30510:55;30560:3;30549:9;30545:19;30537:6;30510:55;:::i;30789:896::-;31213:6;31202:9;31195:25;31256:3;31251:2;31240:9;31236:18;31229:31;31297:1;31291:3;31280:9;31276:19;31269:30;31336:11;31330:3;31319:9;31315:19;31308:40;31384:3;31379:2;31368:9;31364:18;31357:31;31176:4;31411:55;31461:3;31450:9;31446:19;31438:6;31411:55;:::i;33513:340::-;-1:-1:-1;;;;;33694:6:101;33690:55;33679:9;33672:74;33782:2;33777;33766:9;33762:18;33755:30;33653:4;33802:45;33843:2;33832:9;33828:18;33820:6;33802:45;:::i;34231:340::-;34408:2;34397:9;34390:21;34371:4;34428:45;34469:2;34458:9;34454:18;34446:6;34428:45;:::i;:::-;34420:53;;-1:-1:-1;;;;;34513:6:101;34509:55;34504:2;34493:9;34489:18;34482:83;34231:340;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","_councilSafeWithOwner(address)":"1ae726d9","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_stakeAndRegisterMember()":"0354ae60","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"contract CVStrategy\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/RegistryTest.t.sol\":\"RegistryTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/RegistryTest.t.sol\":{\"keccak256\":\"0xec1195e8cceb42e3d733b34ca807c0cf415d73bb7a64c119b97d45a968528fe8\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6ef246c8d5efc3d8ab2e9324b2c8da413dbbb49aed09a65aa26325684778aae4\",\"dweb:/ipfs/QmZX3cWu9cydo8ezty9T3FxQqimQW9bfWzDWRyC4vsYgvu\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"contract CVStrategy","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_stakeAndRegisterMember"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/RegistryTest.t.sol":"RegistryTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/RegistryTest.t.sol":{"keccak256":"0xec1195e8cceb42e3d733b34ca807c0cf415d73bb7a64c119b97d45a968528fe8","urls":["bzz-raw://6ef246c8d5efc3d8ab2e9324b2c8da413dbbb49aed09a65aa26325684778aae4","dweb:/ipfs/QmZX3cWu9cydo8ezty9T3FxQqimQW9bfWzDWRyC4vsYgvu"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/RegistryTest.t.sol","id":65747,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[61025],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[65820],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"RegistrySetupFull":[9534],"RegistryTest":[65746],"SafeSetup":[66201],"StdAssertions":[14047],"StdChains":[14811],"StdCheats":[17664],"StdInvariant":[17989],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"Test":[22442],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24293],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdError":[17730],"stdJson":[18581],"stdMath":[18723],"stdStorage":[20394]},"nodeType":"SourceUnit","src":"39:3678:98","nodes":[{"id":65393,"nodeType":"PragmaDirective","src":"39:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65394,"nodeType":"ImportDirective","src":"65:28:98","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":22443,"symbolAliases":[],"unitAlias":""},{"id":65395,"nodeType":"ImportDirective","src":"94:31:98","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":32358,"symbolAliases":[],"unitAlias":""},{"id":65396,"nodeType":"ImportDirective","src":"126:56:98","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":65398,"nodeType":"ImportDirective","src":"183:66:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":65397,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"191:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65400,"nodeType":"ImportDirective","src":"250:74:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":65399,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"258:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65402,"nodeType":"ImportDirective","src":"343:53:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":65401,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"351:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65404,"nodeType":"ImportDirective","src":"397:61:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":65403,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"405:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65406,"nodeType":"ImportDirective","src":"481:67:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":65405,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"489:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65408,"nodeType":"ImportDirective","src":"549:71:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65407,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"557:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65410,"nodeType":"ImportDirective","src":"621:67:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":65409,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"629:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65412,"nodeType":"ImportDirective","src":"707:68:98","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":65411,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"715:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65414,"nodeType":"ImportDirective","src":"776:80:98","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":65413,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"784:17:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65416,"nodeType":"ImportDirective","src":"857:65:98","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":65415,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"865:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65418,"nodeType":"ImportDirective","src":"923:65:98","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":65417,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"931:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65420,"nodeType":"ImportDirective","src":"989:59:98","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":65419,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"997:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65422,"nodeType":"ImportDirective","src":"1049:53:98","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":65821,"symbolAliases":[{"foreign":{"id":65421,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65820,"src":"1057:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65424,"nodeType":"ImportDirective","src":"1103:59:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":65423,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"1111:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65426,"nodeType":"ImportDirective","src":"1163:49:98","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":61026,"symbolAliases":[{"foreign":{"id":65425,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"1171:10:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65428,"nodeType":"ImportDirective","src":"1213:59:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":61841,"symbolAliases":[{"foreign":{"id":65427,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"1221:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65430,"nodeType":"ImportDirective","src":"1274:49:98","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":65747,"sourceUnit":66202,"symbolAliases":[{"foreign":{"id":65429,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66201,"src":"1282:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65746,"nodeType":"ContractDefinition","src":"1374:2342:98","nodes":[{"id":65447,"nodeType":"VariableDeclaration","src":"1480:26:98","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"1498:8:98","scope":65746,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65446,"nodeType":"UserDefinedTypeName","pathNode":{"id":65445,"name":"CVStrategy","nameLocations":["1480:10:98"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"1480:10:98"},"referencedDeclaration":61025,"src":"1480:10:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"public"},{"id":65450,"nodeType":"VariableDeclaration","src":"1512:22:98","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1529:5:98","scope":65746,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":65449,"nodeType":"UserDefinedTypeName","pathNode":{"id":65448,"name":"MockERC20","nameLocations":["1512:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1512:9:98"},"referencedDeclaration":9751,"src":"1512:9:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":65457,"nodeType":"VariableDeclaration","src":"1540:48:98","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1555:10:98","scope":65746,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65451,"name":"uint256","nodeType":"ElementaryTypeName","src":"1540:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000000000_by_1","typeString":"int_const 1000000000000000000000000"},"id":65456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"315f3030305f303030","id":65452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1568:9:98","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1_000_000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":65455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":65453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1580:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":65454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1586:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"1580:8:98","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"src":"1568:20:98","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000000_by_1","typeString":"int_const 1000000000000000000000000"}},"visibility":"public"},{"id":65460,"nodeType":"VariableDeclaration","src":"1594:44:98","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1618:13:98","scope":65746,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65458,"name":"uint256","nodeType":"ElementaryTypeName","src":"1594:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":65459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1634:4:98","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":65467,"nodeType":"VariableDeclaration","src":"1644:79:98","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"1660:8:98","scope":65746,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":65462,"nodeType":"UserDefinedTypeName","pathNode":{"id":65461,"name":"Metadata","nameLocations":["1644:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1644:8:98"},"referencedDeclaration":3098,"src":"1644:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":65464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1691:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"737472617465677920706f696e746572","id":65465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1703:18:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""},"value":"strategy pointer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""}],"id":65463,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1671:8:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":65466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1681:8:98","1694:7:98"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1671:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":65470,"nodeType":"VariableDeclaration","src":"1730:40:98","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1755:15:98","scope":65746,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":65469,"nodeType":"UserDefinedTypeName","pathNode":{"id":65468,"name":"RegistryGardens","nameLocations":["1730:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"1730:15:98"},"referencedDeclaration":61840,"src":"1730:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":65475,"nodeType":"VariableDeclaration","src":"1777:54:98","nodes":[],"constant":false,"mutability":"mutable","name":"gardenOwner","nameLocation":"1785:11:98","scope":65746,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65471,"name":"address","nodeType":"ElementaryTypeName","src":"1777:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"636f6d6d756e69747947617264656e4f776e6572","id":65473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1808:22:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3b05b505cc7f1f54c5edfd4d9e287f1cc476b8d108f6a22b370fcc0bb54332f","typeString":"literal_string \"communityGardenOwner\""},"value":"communityGardenOwner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3b05b505cc7f1f54c5edfd4d9e287f1cc476b8d108f6a22b370fcc0bb54332f","typeString":"literal_string \"communityGardenOwner\""}],"id":65472,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16633,"src":"1799:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":65474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1799:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65679,"nodeType":"FunctionDefinition","src":"1838:1328:98","nodes":[],"body":{"id":65678,"nodeType":"Block","src":"1862:1304:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65478,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1872:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65480,"nodeType":"ExpressionStatement","src":"1872:21:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65484,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"1923:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":65485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1923:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":65483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1915:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65482,"name":"address","nodeType":"ElementaryTypeName","src":"1915:7:98","typeDescriptions":{}}},"id":65486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1915:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65481,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"1903:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1903:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65488,"nodeType":"ExpressionStatement","src":"1903:32:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65492,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"1960:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1960:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65489,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1946:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1949:10:98","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"1946:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1946:27:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65495,"nodeType":"ExpressionStatement","src":"1946:27:98"},{"expression":{"arguments":[{"hexValue":"30","id":65499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2004:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65496,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"1983:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1990:13:98","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"1983:20:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":65500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65501,"nodeType":"ExpressionStatement","src":"1983:23:98"},{"expression":{"arguments":[{"hexValue":"30","id":65505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2040:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65502,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2016:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2016:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2023:16:98","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2016:23:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":65506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2016:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65507,"nodeType":"ExpressionStatement","src":"2016:26:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65508,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2052:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2055:9:98","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2052:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2052:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65512,"nodeType":"ExpressionStatement","src":"2052:14:98"},{"expression":{"id":65518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65513,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2077:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":65516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2085:13:98","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":65515,"nodeType":"UserDefinedTypeName","pathNode":{"id":65514,"name":"MockERC20","nameLocations":["2089:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2089:9:98"},"referencedDeclaration":9751,"src":"2089:9:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":65517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2085:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2077:23:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65519,"nodeType":"ExpressionStatement","src":"2077:23:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65523,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2121:5:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":65524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:7:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65525,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65457,"src":"2130:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65520,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2110:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:4:98","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2110:10:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65527,"nodeType":"ExpressionStatement","src":"2110:31:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65531,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2162:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2162:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65533,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65457,"src":"2176:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65528,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2151:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2157:4:98","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2151:10:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2151:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65535,"nodeType":"ExpressionStatement","src":"2151:36:98"},{"expression":{"arguments":[{"id":65539,"name":"gardenOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65475,"src":"2208:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65540,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65457,"src":"2221:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65536,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2197:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2203:4:98","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2197:10:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2197:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65542,"nodeType":"ExpressionStatement","src":"2197:35:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65548,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2264:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2264:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2256:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65546,"name":"address","nodeType":"ElementaryTypeName","src":"2256:7:98","typeDescriptions":{}}},"id":65550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2256:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65551,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65457,"src":"2273:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65543,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2242:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2248:7:98","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2242:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":65552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65553,"nodeType":"ExpressionStatement","src":"2242:42:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65557,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2304:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2304:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65554,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2295:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2298:5:98","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":23954,"src":"2295:8:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2295:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65560,"nodeType":"ExpressionStatement","src":"2295:22:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65566,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2349:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2341:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65564,"name":"address","nodeType":"ElementaryTypeName","src":"2341:7:98","typeDescriptions":{}}},"id":65568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2341:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65569,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65457,"src":"2358:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65561,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2327:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2333:7:98","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2327:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":65570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2327:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65571,"nodeType":"ExpressionStatement","src":"2327:42:98"},{"expression":{"id":65582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65572,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65447,"src":"2455:8:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65578,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2489:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2489:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2481:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65576,"name":"address","nodeType":"ElementaryTypeName","src":"2481:7:98","typeDescriptions":{}}},"id":65580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2481:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2466:14:98","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":65574,"nodeType":"UserDefinedTypeName","pathNode":{"id":65573,"name":"CVStrategy","nameLocations":["2470:10:98"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2470:10:98"},"referencedDeclaration":61025,"src":"2470:10:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":65581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2466:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"src":"2455:42:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65583,"nodeType":"ExpressionStatement","src":"2455:42:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65587,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2595:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2595:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65584,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2581:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2584:10:98","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2581:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2581:27:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65590,"nodeType":"ExpressionStatement","src":"2581:27:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65594,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2643:5:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":65595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2643:7:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65591,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2618:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2625:17:98","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2618:24:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":65596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65597,"nodeType":"ExpressionStatement","src":"2618:33:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65598,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2661:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2664:9:98","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2661:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2661:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65602,"nodeType":"ExpressionStatement","src":"2661:14:98"},{"assignments":[65605],"declarations":[{"constant":false,"id":65605,"mutability":"mutable","name":"registryFactory","nameLocation":"2701:15:98","nodeType":"VariableDeclaration","scope":65678,"src":"2685:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":65604,"nodeType":"UserDefinedTypeName","pathNode":{"id":65603,"name":"RegistryFactory","nameLocations":["2685:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2685:15:98"},"referencedDeclaration":61072,"src":"2685:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":65610,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":65608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2719:19:98","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":65607,"nodeType":"UserDefinedTypeName","pathNode":{"id":65606,"name":"RegistryFactory","nameLocations":["2723:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2723:15:98"},"referencedDeclaration":61072,"src":"2723:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":65609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2719:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2685:55:98"},{"assignments":[65615],"declarations":[{"constant":false,"id":65615,"mutability":"mutable","name":"params","nameLocation":"2790:6:98","nodeType":"VariableDeclaration","scope":65678,"src":"2750:46:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":65614,"nodeType":"UserDefinedTypeName","pathNode":{"id":65613,"name":"RegistryGardens.InitializeParams","nameLocations":["2750:15:98","2766:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"2750:32:98"},"referencedDeclaration":61245,"src":"2750:32:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":65616,"nodeType":"VariableDeclarationStatement","src":"2750:46:98"},{"expression":{"id":65625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65617,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"2806:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2813:5:98","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"2806:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65622,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2829:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2829:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2821:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65620,"name":"address","nodeType":"ElementaryTypeName","src":"2821:7:98","typeDescriptions":{}}},"id":65624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2821:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2806:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65626,"nodeType":"ExpressionStatement","src":"2806:30:98"},{"expression":{"id":65636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65627,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"2846:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2853:12:98","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"2846:19:98","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65633,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2883:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":65632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2875:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65631,"name":"address","nodeType":"ElementaryTypeName","src":"2875:7:98","typeDescriptions":{}}},"id":65634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2875:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65630,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2868:6:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":65635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2846:44:98","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":65637,"nodeType":"ExpressionStatement","src":"2846:44:98"},{"expression":{"id":65642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65638,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"2900:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2907:19:98","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"2900:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65641,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65460,"src":"2929:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2900:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65643,"nodeType":"ExpressionStatement","src":"2900:42:98"},{"expression":{"id":65648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65644,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"2952:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65646,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2959:12:98","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"2952:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":65647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2974:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2952:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65649,"nodeType":"ExpressionStatement","src":"2952:23:98"},{"expression":{"id":65654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65650,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"2985:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2992:9:98","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"2985:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65653,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65467,"src":"3004:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2985:27:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":65655,"nodeType":"ExpressionStatement","src":"2985:27:98"},{"expression":{"id":65667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65656,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"3022:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3029:12:98","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"3022:19:98","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65663,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66102,"src":"3060:12:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":65664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3060:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":65662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3052:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65661,"name":"address","nodeType":"ElementaryTypeName","src":"3052:7:98","typeDescriptions":{}}},"id":65665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3052:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3044:8:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65659,"name":"address","nodeType":"ElementaryTypeName","src":"3044:8:98","stateMutability":"payable","typeDescriptions":{}}},"id":65666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3044:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"3022:54:98","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65668,"nodeType":"ExpressionStatement","src":"3022:54:98"},{"expression":{"id":65676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65669,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65470,"src":"3086:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65673,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65615,"src":"3151:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":65671,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65605,"src":"3120:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":65672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3136:14:98","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"3120:30:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":65674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3120:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65670,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"3104:15:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":65675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3104:55:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"src":"3086:73:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":65677,"nodeType":"ExpressionStatement","src":"3086:73:98"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1847:5:98","parameters":{"id":65476,"nodeType":"ParameterList","parameters":[],"src":"1852:2:98"},"returnParameters":{"id":65477,"nodeType":"ParameterList","parameters":[],"src":"1862:0:98"},"scope":65746,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65688,"nodeType":"FunctionDefinition","src":"3172:107:98","nodes":[],"body":{"id":65687,"nodeType":"Block","src":"3240:39:98","nodes":[],"statements":[{"expression":{"id":65685,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65470,"src":"3257:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"functionReturnParameters":65684,"id":65686,"nodeType":"Return","src":"3250:22:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3181:16:98","parameters":{"id":65680,"nodeType":"ParameterList","parameters":[],"src":"3197:2:98"},"returnParameters":{"id":65684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65683,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65688,"src":"3223:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":65682,"nodeType":"UserDefinedTypeName","pathNode":{"id":65681,"name":"RegistryGardens","nameLocations":["3223:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"3223:15:98"},"referencedDeclaration":61840,"src":"3223:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3222:17:98"},"scope":65746,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":65745,"nodeType":"FunctionDefinition","src":"3285:429:98","nodes":[],"body":{"id":65744,"nodeType":"Block","src":"3331:383:98","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":65692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3359:16:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":65691,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65787,"src":"3341:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3341:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65694,"nodeType":"ExpressionStatement","src":"3341:35:98"},{"expression":{"arguments":[{"arguments":[{"id":65700,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65447,"src":"3426:8:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":65699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3418:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65698,"name":"address","nodeType":"ElementaryTypeName","src":"3418:7:98","typeDescriptions":{}}},"id":65701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3418:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65695,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3386:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3386:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3393:24:98","memberName":"addToCloneableStrategies","nodeType":"MemberAccess","referencedDeclaration":341,"src":"3386:31:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3386:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65703,"nodeType":"ExpressionStatement","src":"3386:50:98"},{"expression":{"arguments":[{"id":65707,"name":"gardenOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65475,"src":"3461:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3447:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3450:10:98","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"3447:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3447:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65709,"nodeType":"ExpressionStatement","src":"3447:26:98"},{"expression":{"arguments":[{"arguments":[{"id":65715,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65470,"src":"3505:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":65714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3497:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65713,"name":"address","nodeType":"ElementaryTypeName","src":"3497:7:98","typeDescriptions":{}}},"id":65716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3497:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65717,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65460,"src":"3523:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65710,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"3483:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3489:7:98","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3483:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":65718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3483:54:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65719,"nodeType":"ExpressionStatement","src":"3483:54:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65720,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65688,"src":"3547:16:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$61840_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":65721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3547:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":65722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3566:22:98","memberName":"stakeAndRegisterMember","nodeType":"MemberAccess","referencedDeclaration":61652,"src":"3547:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3547:43:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65724,"nodeType":"ExpressionStatement","src":"3547:43:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":65730,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65470,"src":"3633:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":65729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3625:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65728,"name":"address","nodeType":"ElementaryTypeName","src":"3625:7:98","typeDescriptions":{}}},"id":65731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3625:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65726,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"3609:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3615:9:98","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":8438,"src":"3609:15:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":65732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3609:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3652:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65725,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"3600:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3600:54:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65735,"nodeType":"ExpressionStatement","src":"3600:54:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65736,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3665:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3668:9:98","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"3665:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65740,"nodeType":"ExpressionStatement","src":"3665:14:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65741,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65819,"src":"3689:16:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3689:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65743,"nodeType":"ExpressionStatement","src":"3689:18:98"}]},"functionSelector":"0354ae60","implemented":true,"kind":"function","modifiers":[],"name":"test_stakeAndRegisterMember","nameLocation":"3294:27:98","parameters":{"id":65689,"nodeType":"ParameterList","parameters":[],"src":"3321:2:98"},"returnParameters":{"id":65690,"nodeType":"ParameterList","parameters":[],"src":"3331:0:98"},"scope":65746,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":65431,"name":"Test","nameLocations":["1399:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":22442,"src":"1399:4:98"},"id":65432,"nodeType":"InheritanceSpecifier","src":"1399:4:98"},{"baseName":{"id":65433,"name":"AlloSetup","nameLocations":["1405:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1405:9:98"},"id":65434,"nodeType":"InheritanceSpecifier","src":"1405:9:98"},{"baseName":{"id":65435,"name":"RegistrySetupFull","nameLocations":["1416:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1416:17:98"},"id":65436,"nodeType":"InheritanceSpecifier","src":"1416:17:98"},{"baseName":{"id":65437,"name":"Native","nameLocations":["1435:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"1435:6:98"},"id":65438,"nodeType":"InheritanceSpecifier","src":"1435:6:98"},{"baseName":{"id":65439,"name":"Errors","nameLocations":["1443:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1443:6:98"},"id":65440,"nodeType":"InheritanceSpecifier","src":"1443:6:98"},{"baseName":{"id":65441,"name":"GasHelpers2","nameLocations":["1451:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65820,"src":"1451:11:98"},"id":65442,"nodeType":"InheritanceSpecifier","src":"1451:11:98"},{"baseName":{"id":65443,"name":"SafeSetup","nameLocations":["1464:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":66201,"src":"1464:9:98"},"id":65444,"nodeType":"InheritanceSpecifier","src":"1464:9:98"}],"canonicalName":"RegistryTest","contractDependencies":[1390,2295,9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65746,66201,65820,3089,3106,9534,9370,9325,9264,22442,22391,17989,17664,16871,14811,14047,12515,12581,12578],"name":"RegistryTest","nameLocation":"1383:12:98","scope":65747,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":98} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"MINIMUM_STAKE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_councilSafeWithOwner","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Allo"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"councilMember1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"councilMemberPK","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"councilSafeOwner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Safe"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mintAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"safeHelper","inputs":[{"name":"to_","type":"address","internalType":"address"},{"name":"value_","type":"uint256","internalType":"uint256"},{"name":"data_","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract CVStrategy"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60078054600160ff199182168117909255600b80548216831790556025829055602680549091169055602981905569d3c21bcecceda1000000602c556080818152610100604052601060c09081526f39ba3930ba32b3bc903837b4b73a32b960811b60e05260a0819052602d928355909190602e90620000809082620002ce565b505060408051808201909152601481527f636f6d6d756e69747947617264656e4f776e65720000000000000000000000006020820152620000c29150620000f6565b603080546001600160a01b0319166001600160a01b0392909216919091179055348015620000ef57600080fd5b5062000454565b600062000103826200010a565b5092915050565b60008082604051602001620001209190620003c0565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b29190620003de565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620001f0908590879060040162000410565b600060405180830381600087803b1580156200020b57600080fd5b505af115801562000220573d6000803e3d6000fd5b50505050915091565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200025457607f821691505b6020821081036200027557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002c957600081815260208120601f850160051c81016020861015620002a45750805b601f850160051c820191505b81811015620002c557828155600101620002b0565b5050505b505050565b81516001600160401b03811115620002ea57620002ea62000229565b6200030281620002fb84546200023f565b846200027b565b602080601f8311600181146200033a5760008415620003215750858301515b600019600386901b1c1916600185901b178555620002c5565b600085815260208120601f198616915b828110156200036b578886015182559484019460019091019084016200034a565b50858210156200038a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60005b83811015620003b75781810151838201526020016200039d565b50506000910152565b60008251620003d48184602087016200039a565b9190910192915050565b600060208284031215620003f157600080fd5b81516001600160a01b03811681146200040957600080fd5b9392505050565b60018060a01b038316815260406020820152600082518060408401526200043f8160608501602087016200039a565b601f01601f1916919091016060019392505050565b6201570d80620004656000396000f3fe60806040523480156200001157600080fd5b5060043610620004205760003560e01c806374d9284e1162000229578063a8c62e761162000131578063d6d8428d11620000bb578063ef0d790f1162000086578063ef0d790f146200077e578063fa7626d41462000788578063fc0c546a1462000796578063fd325c6014620007aa57600080fd5b8063d6d8428d146200074e578063da4bf0871462000760578063dac4eb16146200076a578063e20c9f71146200077457600080fd5b8063c5d7d73b11620000fc578063c5d7d73b146200071e578063d1e82b581462000730578063d1f2cd88146200073a578063d5bee9f5146200074457600080fd5b8063a8c62e7614620006db578063aa3744bd14620006ef578063b5508aa914620006f9578063ba414fa6146200070357600080fd5b806385226c8111620001b35780638e3c2493116200017e5780638e3c249314620006a1578063916a17c614620006ab578063a0cf0aea14620006b5578063a407c67a14620006d157600080fd5b806385226c81146200066a578063896546a114620006835780638c7408c414620004aa5780638e0d1a50146200069757600080fd5b80637b10399911620001f45780637b10399914620006445780637b2edf3214620006565780637cbe79ed1462000660578063829e423f14620004aa57600080fd5b806374d9284e14620004aa578063759c9a8614620006265780637658524d146200063057806379e62d0d146200063a57600080fd5b80632d0e6731116200032d5780635a2bcc1811620002b75780636a38dd0a11620002825780636a38dd0a14620005e25780636c53db9a14620005ec5780636db52510146200060557806370a32944146200061c57600080fd5b80635a2bcc1814620005ab5780635aff599914620005b557806366d003ac14620005bf57806366d9a9a014620005c957600080fd5b80633e5e3c2311620002f85780633e5e3c2314620005835780633f7286f4146200058d5780634bf4ba211462000597578063587c124314620005a157600080fd5b80632d0e6731146200052a5780633554642a146200054e578063392f37e9146200056057806339f56f7f146200057a57600080fd5b8063174eedde11620003af5780631b96dce6116200037a5780631b96dce614620004e45780631e7bcb2e14620004ee5780631ed7831c14620004f85780632ade3880146200051157600080fd5b8063174eedde14620004aa578063176effb314620004b25780631854036114620004c45780631ae726d914620004cd57600080fd5b80630688b13511620003f05780630688b135146200047657806308dbbb0314620004805780630a9254e414620004995780630f166ad414620004a357600080fd5b8062b1fad71462000425578063030e4006146200044c5780630354ae6014620004565780630522b7db1462000462575b600080fd5b6200042f620007b3565b6040516001600160a01b0390911681526020015b60405180910390f35b6200042f620007fa565b620004606200083c565b005b6027546200042f906001600160a01b031681565b6200042f62000ba1565b6200048a6103e881565b60405190815260200162000443565b6200046062000be3565b306200042f565b60006200042f565b601f546001600160a01b03166200042f565b6022546200048a565b6200042f620004de36600462003cf3565b62001544565b6200042f6200188f565b6200042f620018d1565b6200050262001913565b60405162000443919062003d60565b6200051b62001977565b60405162000443919062003dc9565b620004606200053b36600462003e9e565b6026805460ff1916911515919091179055565b6023546001600160a01b03166200042f565b6200056a62001ac5565b6040516200044392919062003ebe565b6020546200048a565b6200050262001b64565b6200050262001bc6565b6200050262001c28565b6200042f62001c4b565b6200048a602c5481565b6200042f62001c8d565b6200042f62001ccf565b620005d362001d11565b60405162000443919062003ee1565b6200042f62001dfb565b6026546200042f9061010090046001600160a01b031681565b620004606200061636600462004039565b62001e3d565b620005026200210e565b6200042f620021b0565b6200048a60295481565b62000502620021f2565b601d546001600160a01b03166200042f565b6200042f62002261565b6200042f620022a3565b62000674620022e5565b604051620004439190620040df565b6028546200042f906001600160a01b031681565b6200042f620023bf565b6200042f62002401565b620005d362002443565b6200042f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620005026200252d565b602a546200042f906001600160a01b031681565b6200042f6200259c565b62000674620025de565b6200070d620026b8565b604051901515815260200162000443565b6021546001600160a01b03166200042f565b6200042f620027ef565b6200042f62002831565b6200042f62002873565b601c546001600160a01b03166200042f565b6200042f620028b5565b6200042f620028f7565b6200050262002939565b6200042f6200299b565b6007546200070d9060ff1681565b602b546200042f906001600160a01b031681565b601e546200048a565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620029d8565b905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620029d8565b6200087c6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250620029ec565b601c546001600160a01b0316602a546040517f41bba0b40000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201529116906341bba0b490602401600060405180830381600087803b158015620008e857600080fd5b505af1158015620008fd573d6000803e3d6000fd5b50506030546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200097457600080fd5b505af115801562000989573d6000803e3d6000fd5b5050602b54602f546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526103e860248201529116925063095ea7b391506044016020604051808303816000875af1158015620009fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a23919062004145565b50602f546001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000a6b57600080fd5b505af115801562000a80573d6000803e3d6000fd5b5050602b54602f546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015262000b1d9450911691506370a0823190602401602060405180830381865afa15801562000aef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b15919062004165565b600062002a0f565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000b7c57600080fd5b505af115801562000b91573d6000803e3d6000fd5b5050505062000b9f62002b7f565b565b6000620007f56040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620029d8565b62000bed62002c11565b62000c0a62000c04601d546001600160a01b031690565b6200322c565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c2e620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c7057600080fd5b505af115801562000c85573d6000803e3d6000fd5b5050505062000c9c601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000cfa57600080fd5b505af115801562000d0f573d6000803e3d6000fd5b5050505062000d26601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d8457600080fd5b505af115801562000d99573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b5050505060405162000e239062003c10565b604051809103906000f08015801562000e40573d6000803e3d6000fd5b50602b80546001600160a01b0319166001600160a01b039290921691821790556340c10f1930602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000eb057600080fd5b505af115801562000ec5573d6000803e3d6000fd5b5050602b546001600160a01b031691506340c10f19905062000ee6620022a3565b602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f3057600080fd5b505af115801562000f45573d6000803e3d6000fd5b5050602b54603054602c546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201526024810191909152911692506340c10f199150604401600060405180830381600087803b15801562000fb757600080fd5b505af115801562000fcc573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062000ff6601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001045573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106b919062004145565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762001090620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010d257600080fd5b505af1158015620010e7573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062001111601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001160573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001186919062004145565b50601c546001600160a01b0316604051620011a19062003c1e565b6001600160a01b039091168152602001604051809103906000f080158015620011ce573d6000803e3d6000fd5b50602a80546001600160a01b0319166001600160a01b0392909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662001213620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200125557600080fd5b505af11580156200126a573d6000803e3d6000fd5b5050505062001281601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620012d257600080fd5b505af1158015620012e7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200134a57600080fd5b505af11580156200135f573d6000803e3d6000fd5b505050506000604051620013739062003c2c565b604051809103906000f08015801562001390573d6000803e3d6000fd5b5090506200139d62003c3a565b601c546001600160a01b039081168252602b54166020808301919091526103e8604080840191909152600260608401528051808201909152602d80548252602e80549293919291840191620013f2906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001420906200417f565b8015620014715780601f10620014455761010080835404028352916020019162001471565b820191906000526020600020905b8154815290600101906020018083116200145357829003601f168201915b5050509190925250505060a08201526200148a6200340a565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620014da908490600401620041dc565b6020604051808303816000875af1158015620014fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200152091906200425f565b602f80546001600160a01b0319166001600160a01b03929092169190911790555050565b6027546000906001600160a01b03166200187e576000604051620015689062003ca5565b604051809103906000f08015801562001585573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620015a79062003cb3565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200164791906200425f565b602780546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620016ea57600080fd5b505af1158015620016ff573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b1580156200178f57600080fd5b505af1158015620017a4573d6000803e3d6000fd5b506000925060019150620017b59050565b604051908082528060200260200182016040528015620017df578160200160208202803683370190505b5090508481600081518110620017f957620017f96200427f565b6001600160a01b03928316602091820292909201015260275460405163b63e800d60e01b815291169063b63e800d9062001846908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200186157600080fd5b505af115801562001876573d6000803e3d6000fd5b505050505050505b50506027546001600160a01b031690565b6000620007f56040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620029d8565b606060148054806020026020016040519081016040528092919081815260200182805480156200196d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200194e575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001aa457838290600052602060002001805462001a10906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001a3e906200417f565b801562001a8f5780601f1062001a635761010080835404028352916020019162001a8f565b820191906000526020600020905b81548152906001019060200180831162001a7157829003601f168201915b505050505081526020019060010190620019ee565b5050505081525050815260200190600101906200199b565b50505050905090565b602d8054602e805491929162001adb906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001b09906200417f565b801562001b5a5780601f1062001b2e5761010080835404028352916020019162001b5a565b820191906000526020600020905b81548152906001019060200180831162001b3c57829003601f168201915b5050505050905082565b606060168054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620029d8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001de257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001da35790505b5050505050815250508152602001906001019062001d35565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620029d8565b6000602660019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602660019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001ec3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ee9919062004165565b6040518b63ffffffff1660e01b815260040162001f109a999897969594939291906200431f565b600060405180830381865afa15801562001f2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001f589190810190620043cc565b805160208201206029546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200200591906200441a565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526026547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a76120290620020bc908c908c908c90600090819081908190819081908d9060650162004459565b6020604051808303816000875af1158015620020dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002102919062004145565b50505050505050505050565b604080516002808252606080830184529260009291906020830190803683370190505090506200213d620018d1565b816000815181106200215357620021536200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002261565b816001815181106200219357620021936200427f565b6001600160a01b0390921660209283029190910190910152919050565b6000620007f56040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620029d8565b6040805160028082526060808301845292600092919060208301908036833701905050905062002221620007b3565b816000815181106200223757620022376200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62001dfb565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620029d8565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5783829060005260206000200180546200232b906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002359906200417f565b8015620023aa5780601f106200237e57610100808354040283529160200191620023aa565b820191906000526020600020905b8154815290600101906020018083116200238c57829003601f168201915b50505050508152602001906001019062002309565b6000620007f56040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620029d8565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200251457602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620024d55790505b5050505050815250508152602001906001019062002467565b604080516002808252606080830184529260009291906020830190803683370190505090506200255c62001c4b565b816000815181106200257257620025726200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002401565b6000620007f56040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620029d8565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57838290600052602060002001805462002624906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002652906200417f565b8015620026a35780601f106200267757610100808354040283529160200191620026a3565b820191906000526020600020905b8154815290600101906020018083116200268557829003601f168201915b50505050508152602001906001019062002602565b600754600090610100900460ff1615620026db5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620027ea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200276c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620044e0565b60408051601f1981840301815290829052620027889162004512565b6000604051808303816000865af19150503d8060008114620027c7576040519150601f19603f3d011682016040523d82523d6000602084013e620027cc565b606091505b5091505080806020019051810190620027e6919062004145565b9150505b919050565b6000620007f56040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620029d8565b606060138054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620029e58262003894565b5092915050565b60265460ff161562002a0c57602462002a06828262004583565b505a6025555b50565b80821462002b7b577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162002a9d9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a160408051818152600a818301527f2020202020204c6566740000000000000000000000000000000000000000000060608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a818301527f202020202052696768740000000000000000000000000000000000000000000060608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a162002b7b620039c9565b5050565b60265460ff161562000b9f5760005a9050600060648260255462002ba4919062004650565b62002bb0919062004650565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8602460405160200162002be7919062004678565b60408051601f198184030181529082905262002c059184906200471b565b60405180910390a15050565b62002c1b62003adc565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002c3f620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002c8157600080fd5b505af115801562002c96573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525062002d15620023bf565b62002d1f620021f2565b6040518563ffffffff1660e01b815260040162002d4094939291906200473f565b6020604051808303816000875af115801562002d60573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d86919062004165565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002dd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002dfd919081019062004855565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002e4462002831565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002e8657600080fd5b505af115801562002e9b573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653100000000000000000000000000000000000000000000000081525081525062002f1a62002831565b62002f246200210e565b6040518563ffffffff1660e01b815260040162002f4594939291906200492b565b6020604051808303816000875af115801562002f65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f8b919062004165565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002fd8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003002919081019062004855565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620030496200188f565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200308b57600080fd5b505af1158015620030a0573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65320000000000000000000000000000000000000000000000008152508152506200311f6200188f565b620031296200252d565b6040518563ffffffff1660e01b81526004016200314a94939291906200497a565b6020604051808303816000875af11580156200316a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003190919062004165565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa158015620031dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003207919081019062004855565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662003250620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200329257600080fd5b505af1158015620032a7573d6000803e3d6000fd5b50505050604051620032b99062003cc1565b604051809103906000f080158015620032d6573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862003305620022a3565b8362003310620028b5565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200337657600080fd5b505af11580156200338b573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033ee57600080fd5b505af115801562003403573d6000803e3d6000fd5b5050505050565b6029546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa1864991620034639160040190815260200190565b602060405180830381865afa15801562003481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620034a791906200425f565b602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200354857600080fd5b505af11580156200355d573d6000803e3d6000fd5b505060265461010090046001600160a01b031691506200387f9050576000604051620035899062003ca5565b604051809103906000f080158015620035a6573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620035c89062003cb3565b604051809103906000f080158015620035e5573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200366891906200425f565b602680547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620036eb9392041662003b93565b602654604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200377c57600080fd5b505af115801562003791573d6000803e3d6000fd5b506000925060019150620037a29050565b604051908082528060200260200182016040528015620037cc578160200160208202803683370190505b5060285481519192506001600160a01b0316908290600090620037f357620037f36200427f565b6001600160a01b03928316602091820292909201015260265460405163b63e800d60e01b81526101009091049091169063b63e800d9062003847908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200386257600080fd5b505af115801562003877573d6000803e3d6000fd5b505050505050505b5060265461010090046001600160a01b031690565b60008082604051602001620038aa919062004512565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200392c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200395291906200425f565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620039909085908790600401620049c9565b600060405180830381600087803b158015620039ab57600080fd5b505af1158015620039c0573d6000803e3d6000fd5b50505050915091565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562003acb5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262003a669291602001620044e0565b60408051601f198184030181529082905262003a829162004512565b6000604051808303816000865af19150503d806000811462003ac1576040519150601f19603f3d011682016040523d82523d6000602084013e62003ac6565b606091505b505050505b6007805461ff001916610100179055565b60405162003aea9062003ccf565b604051809103906000f08015801562003b07573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862003b36620028f7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562003b7857600080fd5b505af115801562003b8d573d6000803e3d6000fd5b50505050565b62002b7b828260405160240162003bac929190620049ed565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b610e678062004a1b83390190565b613491806200588283390190565b6127688062008d1383390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162003c98604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200b47b83390190565b613594806200bccd83390190565b6135c1806200f26183390190565b612eb6806201282283390190565b6001600160a01b038116811462002a0c57600080fd5b60006020828403121562003d0657600080fd5b813562003d138162003cdd565b9392505050565b600081518084526020808501945080840160005b8381101562003d555781516001600160a01b03168752958201959082019060010162003d2e565b509495945050505050565b60208152600062003d13602083018462003d1a565b60005b8381101562003d9257818101518382015260200162003d78565b50506000910152565b6000815180845262003db581602086016020860162003d75565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562003e7f57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562003e6857605f1989850301835262003e5584865162003d9b565b948e01949350918d019160010162003e36565b505050978a01979450509188019160010162003df0565b50919a9950505050505050505050565b801515811462002a0c57600080fd5b60006020828403121562003eb157600080fd5b813562003d138162003e8f565b82815260406020820152600062003ed9604083018462003d9b565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562003f8957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562003f735783516001600160e01b0319168252928b019260019290920191908b019062003f47565b50978a0197955050509187019160010162003f09565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171562003fd45762003fd462003f98565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004006576200400662003f98565b604052919050565b600067ffffffffffffffff8211156200402b576200402b62003f98565b50601f01601f191660200190565b6000806000606084860312156200404f57600080fd5b83356200405c8162003cdd565b925060208401359150604084013567ffffffffffffffff8111156200408057600080fd5b8401601f810186136200409257600080fd5b8035620040a9620040a3826200400e565b62003fda565b818152876020838501011115620040bf57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200413857603f198886030184526200412585835162003d9b565b9450928501929085019060010162004106565b5092979650505050505050565b6000602082840312156200415857600080fd5b815162003d138162003e8f565b6000602082840312156200417857600080fd5b5051919050565b600181811c908216806200419457607f821691505b602082108103620041b557634e487b7160e01b600052602260045260246000fd5b50919050565b80518252600060208201516040602085015262003ed9604085018262003d9b565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004239610100850182620041bb565b90508160c08601511660e0850152809250505092915050565b8051620027ea8162003cdd565b6000602082840312156200427257600080fd5b815162003d138162003cdd565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620042ab8184018b62003d1a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600281106200431b57634e487b7160e01b600052602160045260246000fd5b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200434b8285018d62003d9b565b92506200435c606085018c620042fc565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b6000620043a7620040a3846200400e565b9050828152838383011115620043bc57600080fd5b62003d1383602083018462003d75565b600060208284031215620043df57600080fd5b815167ffffffffffffffff811115620043f757600080fd5b8201601f810184136200440957600080fd5b62003ed98482516020840162004396565b6000806000606084860312156200443057600080fd5b835160ff811681146200444257600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620044858285018d62003d9b565b915062004496606085018c620042fc565b8960808501528860a08501528760c085015280871660e085015280861661010085015250828103610120840152620044cf818562003d9b565b9d9c50505050505050505050505050565b6001600160e01b031983168152600082516200450481600485016020870162003d75565b919091016004019392505050565b600082516200452681846020870162003d75565b9190910192915050565b601f8211156200457e57600081815260208120601f850160051c81016020861015620045595750805b601f850160051c820191505b818110156200457a5782815560010162004565565b5050505b505050565b815167ffffffffffffffff811115620045a057620045a062003f98565b620045b881620045b184546200417f565b8462004530565b602080601f831160018114620045f05760008415620045d75750858301515b600019600386901b1c1916600185901b1785556200457a565b600085815260208120601f198616915b82811015620046215788860151825594840194600190910190840162004600565b5085821015620046405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156200467257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835462004688816200417f565b60018281168015620046a35760018114620046b957620046ea565b60ff1984168752821515830287019450620046ea565b8760005260208060002060005b85811015620046e15781548a820152908401908201620046c6565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b60408152600062004730604083018562003d9b565b90508260208301529392505050565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b03851660608401528281036080840152620047b1818562003d1a565b979650505050505050565b600082601f830112620047ce57600080fd5b62003d138383516020850162004396565b600060408284031215620047f257600080fd5b6040516040810167ffffffffffffffff828210818311171562004819576200481962003f98565b816040528293508451835260208501519150808211156200483957600080fd5b506200484885828601620047bc565b6020830152505092915050565b6000602082840312156200486857600080fd5b815167ffffffffffffffff808211156200488157600080fd5b9083019060c082860312156200489657600080fd5b620048a062003fae565b8251815260208301516020820152604083015182811115620048c157600080fd5b620048cf87828601620047bc565b604083015250606083015182811115620048e857600080fd5b620048f687828601620047df565b6060830152506200490a6080840162004252565b60808201526200491d60a0840162004252565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b038316815260406020820152600062003ed9604083018462003d9b565b60408152600062004a02604083018562003d9b565b90506001600160a01b0383166020830152939250505056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a264697066735822122078fc398203f4f473fa5a365212d8bad35606b971758df7a975ec9f02456ac09064736f6c63430008130033","sourceMap":"1572:26:44:-:0;;;1594:4;-1:-1:-1;;1572:26:44;;;;;;;;3126:44:48;;;;;;;;;158:37:99;;;;226:34;;;;;;;;339::100;;;;1568:20:98;1540:48;;1374:2342;1671:52;;;1572:26:44;1374:2342:98;1671:52;;;;;;-1:-1:-1;;;1671:52:98;;;;;;1644:79;;;;1374:2342;;1644:79;;;;;;;:::i;:::-;-1:-1:-1;;1799:32:98;;;;;;;;;;;;;;;;;;;-1:-1:-1;1799:8:98;:32::i;:::-;1777:54;;;-1:-1:-1;;;;;;1777:54:98;-1:-1:-1;;;;;1777:54:98;;;;;;;;;;1374:2342;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;-1:-1:-1;;;;;;20344:19:49;;;;;3430:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;3403:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;14:127:101:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:101;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:101;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:101;;;2580:26;2531:89;-1:-1:-1;;1335:1:101;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:101;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:101;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:101;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:101:o;2735:250::-;2820:1;2830:113;2844:6;2841:1;2838:13;2830:113;;;2920:11;;;2914:18;2901:11;;;2894:39;2866:2;2859:10;2830:113;;;-1:-1:-1;;2977:1:101;2959:16;;2952:27;2735:250::o;2990:289::-;3121:3;3159:6;3153:13;3175:66;3234:6;3229:3;3222:4;3214:6;3210:17;3175:66;:::i;:::-;3257:16;;;;;2990:289;-1:-1:-1;;2990:289:101:o;3466:290::-;3536:6;3589:2;3577:9;3568:7;3564:23;3560:32;3557:52;;;3605:1;3602;3595:12;3557:52;3631:16;;-1:-1:-1;;;;;3676:31:101;;3666:42;;3656:70;;3722:1;3719;3712:12;3656:70;3745:5;3466:290;-1:-1:-1;;;3466:290:101:o;3761:493::-;3967:1;3963;3958:3;3954:11;3950:19;3942:6;3938:32;3927:9;3920:51;4007:2;4002;3991:9;3987:18;3980:30;3901:4;4039:6;4033:13;4082:6;4077:2;4066:9;4062:18;4055:34;4098:79;4170:6;4165:2;4154:9;4150:18;4145:2;4137:6;4133:15;4098:79;:::i;:::-;4238:2;4217:15;-1:-1:-1;;4213:29:101;4198:45;;;;4245:2;4194:54;;3761:493;-1:-1:-1;;;3761:493:101:o;:::-;1374:2342:98;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620004205760003560e01c806374d9284e1162000229578063a8c62e761162000131578063d6d8428d11620000bb578063ef0d790f1162000086578063ef0d790f146200077e578063fa7626d41462000788578063fc0c546a1462000796578063fd325c6014620007aa57600080fd5b8063d6d8428d146200074e578063da4bf0871462000760578063dac4eb16146200076a578063e20c9f71146200077457600080fd5b8063c5d7d73b11620000fc578063c5d7d73b146200071e578063d1e82b581462000730578063d1f2cd88146200073a578063d5bee9f5146200074457600080fd5b8063a8c62e7614620006db578063aa3744bd14620006ef578063b5508aa914620006f9578063ba414fa6146200070357600080fd5b806385226c8111620001b35780638e3c2493116200017e5780638e3c249314620006a1578063916a17c614620006ab578063a0cf0aea14620006b5578063a407c67a14620006d157600080fd5b806385226c81146200066a578063896546a114620006835780638c7408c414620004aa5780638e0d1a50146200069757600080fd5b80637b10399911620001f45780637b10399914620006445780637b2edf3214620006565780637cbe79ed1462000660578063829e423f14620004aa57600080fd5b806374d9284e14620004aa578063759c9a8614620006265780637658524d146200063057806379e62d0d146200063a57600080fd5b80632d0e6731116200032d5780635a2bcc1811620002b75780636a38dd0a11620002825780636a38dd0a14620005e25780636c53db9a14620005ec5780636db52510146200060557806370a32944146200061c57600080fd5b80635a2bcc1814620005ab5780635aff599914620005b557806366d003ac14620005bf57806366d9a9a014620005c957600080fd5b80633e5e3c2311620002f85780633e5e3c2314620005835780633f7286f4146200058d5780634bf4ba211462000597578063587c124314620005a157600080fd5b80632d0e6731146200052a5780633554642a146200054e578063392f37e9146200056057806339f56f7f146200057a57600080fd5b8063174eedde11620003af5780631b96dce6116200037a5780631b96dce614620004e45780631e7bcb2e14620004ee5780631ed7831c14620004f85780632ade3880146200051157600080fd5b8063174eedde14620004aa578063176effb314620004b25780631854036114620004c45780631ae726d914620004cd57600080fd5b80630688b13511620003f05780630688b135146200047657806308dbbb0314620004805780630a9254e414620004995780630f166ad414620004a357600080fd5b8062b1fad71462000425578063030e4006146200044c5780630354ae6014620004565780630522b7db1462000462575b600080fd5b6200042f620007b3565b6040516001600160a01b0390911681526020015b60405180910390f35b6200042f620007fa565b620004606200083c565b005b6027546200042f906001600160a01b031681565b6200042f62000ba1565b6200048a6103e881565b60405190815260200162000443565b6200046062000be3565b306200042f565b60006200042f565b601f546001600160a01b03166200042f565b6022546200048a565b6200042f620004de36600462003cf3565b62001544565b6200042f6200188f565b6200042f620018d1565b6200050262001913565b60405162000443919062003d60565b6200051b62001977565b60405162000443919062003dc9565b620004606200053b36600462003e9e565b6026805460ff1916911515919091179055565b6023546001600160a01b03166200042f565b6200056a62001ac5565b6040516200044392919062003ebe565b6020546200048a565b6200050262001b64565b6200050262001bc6565b6200050262001c28565b6200042f62001c4b565b6200048a602c5481565b6200042f62001c8d565b6200042f62001ccf565b620005d362001d11565b60405162000443919062003ee1565b6200042f62001dfb565b6026546200042f9061010090046001600160a01b031681565b620004606200061636600462004039565b62001e3d565b620005026200210e565b6200042f620021b0565b6200048a60295481565b62000502620021f2565b601d546001600160a01b03166200042f565b6200042f62002261565b6200042f620022a3565b62000674620022e5565b604051620004439190620040df565b6028546200042f906001600160a01b031681565b6200042f620023bf565b6200042f62002401565b620005d362002443565b6200042f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b620005026200252d565b602a546200042f906001600160a01b031681565b6200042f6200259c565b62000674620025de565b6200070d620026b8565b604051901515815260200162000443565b6021546001600160a01b03166200042f565b6200042f620027ef565b6200042f62002831565b6200042f62002873565b601c546001600160a01b03166200042f565b6200042f620028b5565b6200042f620028f7565b6200050262002939565b6200042f6200299b565b6007546200070d9060ff1681565b602b546200042f906001600160a01b031681565b601e546200048a565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250620029d8565b905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250620029d8565b6200087c6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250620029ec565b601c546001600160a01b0316602a546040517f41bba0b40000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201529116906341bba0b490602401600060405180830381600087803b158015620008e857600080fd5b505af1158015620008fd573d6000803e3d6000fd5b50506030546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200097457600080fd5b505af115801562000989573d6000803e3d6000fd5b5050602b54602f546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526103e860248201529116925063095ea7b391506044016020604051808303816000875af1158015620009fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a23919062004145565b50602f546001600160a01b03166001600160a01b0316633517aa7d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000a6b57600080fd5b505af115801562000a80573d6000803e3d6000fd5b5050602b54602f546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015262000b1d9450911691506370a0823190602401602060405180830381865afa15801562000aef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b15919062004165565b600062002a0f565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000b7c57600080fd5b505af115801562000b91573d6000803e3d6000fd5b5050505062000b9f62002b7f565b565b6000620007f56040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250620029d8565b62000bed62002c11565b62000c0a62000c04601d546001600160a01b031690565b6200322c565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662000c2e620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562000c7057600080fd5b505af115801562000c85573d6000803e3d6000fd5b5050505062000c9c601c546001600160a01b031690565b6040517f8e690186000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b039190911690638e69018690602401600060405180830381600087803b15801562000cfa57600080fd5b505af115801562000d0f573d6000803e3d6000fd5b5050505062000d26601c546001600160a01b031690565b6040517ff54fc4a0000000000000000000000000000000000000000000000000000000008152600060048201526001600160a01b03919091169063f54fc4a090602401600060405180830381600087803b15801562000d8457600080fd5b505af115801562000d99573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dfc57600080fd5b505af115801562000e11573d6000803e3d6000fd5b5050505060405162000e239062003c10565b604051809103906000f08015801562000e40573d6000803e3d6000fd5b50602b80546001600160a01b0319166001600160a01b039290921691821790556340c10f1930602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000eb057600080fd5b505af115801562000ec5573d6000803e3d6000fd5b5050602b546001600160a01b031691506340c10f19905062000ee6620022a3565b602c546040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000f3057600080fd5b505af115801562000f45573d6000803e3d6000fd5b5050602b54603054602c546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b0392831660048201526024810191909152911692506340c10f199150604401600060405180830381600087803b15801562000fb757600080fd5b505af115801562000fcc573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062000ff6601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001045573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200106b919062004145565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762001090620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620010d257600080fd5b505af1158015620010e7573d6000803e3d6000fd5b5050602b546001600160a01b0316915063095ea7b3905062001111601c546001600160a01b031690565b602c546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801562001160573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001186919062004145565b50601c546001600160a01b0316604051620011a19062003c1e565b6001600160a01b039091168152602001604051809103906000f080158015620011ce573d6000803e3d6000fd5b50602a80546001600160a01b0319166001600160a01b0392909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662001213620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200125557600080fd5b505af11580156200126a573d6000803e3d6000fd5b5050505062001281601c546001600160a01b031690565b6001600160a01b031663f2fde38b306040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620012d257600080fd5b505af1158015620012e7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200134a57600080fd5b505af11580156200135f573d6000803e3d6000fd5b505050506000604051620013739062003c2c565b604051809103906000f08015801562001390573d6000803e3d6000fd5b5090506200139d62003c3a565b601c546001600160a01b039081168252602b54166020808301919091526103e8604080840191909152600260608401528051808201909152602d80548252602e80549293919291840191620013f2906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001420906200417f565b8015620014715780601f10620014455761010080835404028352916020019162001471565b820191906000526020600020905b8154815290600101906020018083116200145357829003601f168201915b5050509190925250505060a08201526200148a6200340a565b6001600160a01b0390811660c08301526040517f4f350fb200000000000000000000000000000000000000000000000000000000815290831690634f350fb290620014da908490600401620041dc565b6020604051808303816000875af1158015620014fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200152091906200425f565b602f80546001600160a01b0319166001600160a01b03929092169190911790555050565b6027546000906001600160a01b03166200187e576000604051620015689062003ca5565b604051809103906000f08015801562001585573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620015a79062003cb3565b604051809103906000f080158015620015c4573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562001621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200164791906200425f565b602780546001600160a01b0319166001600160a01b038316908117909155604080516318caf8e360e31b815260048101929092526024820152600f60448201527f636f756e63696c536166654164647200000000000000000000000000000000006064820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b158015620016ea57600080fd5b505af1158015620016ff573d6000803e3d6000fd5b5050604080516318caf8e360e31b81526001600160a01b03881660048201526024810191909152601060448201527f636f756e63696c536166654f776e6572000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c657c7189150608401600060405180830381600087803b1580156200178f57600080fd5b505af1158015620017a4573d6000803e3d6000fd5b506000925060019150620017b59050565b604051908082528060200260200182016040528015620017df578160200160208202803683370190505b5090508481600081518110620017f957620017f96200427f565b6001600160a01b03928316602091820292909201015260275460405163b63e800d60e01b815291169063b63e800d9062001846908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200186157600080fd5b505af115801562001876573d6000803e3d6000fd5b505050505050505b50506027546001600160a01b031690565b6000620007f56040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250620029d8565b606060148054806020026020016040519081016040528092919081815260200182805480156200196d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200194e575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562001aa457838290600052602060002001805462001a10906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001a3e906200417f565b801562001a8f5780601f1062001a635761010080835404028352916020019162001a8f565b820191906000526020600020905b81548152906001019060200180831162001a7157829003601f168201915b505050505081526020019060010190620019ee565b5050505081525050815260200190600101906200199b565b50505050905090565b602d8054602e805491929162001adb906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462001b09906200417f565b801562001b5a5780601f1062001b2e5761010080835404028352916020019162001b5a565b820191906000526020600020905b81548152906001019060200180831162001b3c57829003601f168201915b5050505050905082565b606060168054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250620029d8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001de257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001da35790505b5050505050815250508152602001906001019062001d35565b6000620007f56040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250620029d8565b6000602660019054906101000a90046001600160a01b03166001600160a01b031663e86637db858585600080600080600080602660019054906101000a90046001600160a01b03166001600160a01b031663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001ec3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ee9919062004165565b6040518b63ffffffff1660e01b815260040162001f109a999897969594939291906200431f565b600060405180830381865afa15801562001f2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001f589190810190620043cc565b805160208201206029546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529192509060009081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562001fdf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200200591906200441a565b60408051602081018490528082018390527fff0000000000000000000000000000000000000000000000000000000000000060f886901b1660608201528151808203604101815260618201928390526026547f6a7612020000000000000000000000000000000000000000000000000000000090935294975092955090935061010090046001600160a01b031690636a76120290620020bc908c908c908c90600090819081908190819081908d9060650162004459565b6020604051808303816000875af1158015620020dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002102919062004145565b50505050505050505050565b604080516002808252606080830184529260009291906020830190803683370190505090506200213d620018d1565b816000815181106200215357620021536200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002261565b816001815181106200219357620021936200427f565b6001600160a01b0390921660209283029190910190910152919050565b6000620007f56040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250620029d8565b6040805160028082526060808301845292600092919060208301908036833701905050905062002221620007b3565b816000815181106200223757620022376200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62001dfb565b6000620007f56040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250620029d8565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5783829060005260206000200180546200232b906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002359906200417f565b8015620023aa5780601f106200237e57610100808354040283529160200191620023aa565b820191906000526020600020905b8154815290600101906020018083116200238c57829003601f168201915b50505050508152602001906001019062002309565b6000620007f56040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250620029d8565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001abc5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200251457602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620024d55790505b5050505050815250508152602001906001019062002467565b604080516002808252606080830184529260009291906020830190803683370190505090506200255c62001c4b565b816000815181106200257257620025726200427f565b60200260200101906001600160a01b031690816001600160a01b0316815250506200217d62002401565b6000620007f56040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250620029d8565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101562001abc57838290600052602060002001805462002624906200417f565b80601f016020809104026020016040519081016040528092919081815260200182805462002652906200417f565b8015620026a35780601f106200267757610100808354040283529160200191620026a3565b820191906000526020600020905b8154815290600101906020018083116200268557829003601f168201915b50505050508152602001906001019062002602565b600754600090610100900460ff1615620026db5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620027ea5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200276c917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001620044e0565b60408051601f1981840301815290829052620027889162004512565b6000604051808303816000865af19150503d8060008114620027c7576040519150601f19603f3d011682016040523d82523d6000602084013e620027cc565b606091505b5091505080806020019051810190620027e6919062004145565b9150505b919050565b6000620007f56040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250620029d8565b6000620007f56040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250620029d8565b606060138054806020026020016040519081016040528092919081815260200182805480156200196d576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200194e575050505050905090565b6000620007f56040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b6000620029e58262003894565b5092915050565b60265460ff161562002a0c57602462002a06828262004583565b505a6025555b50565b80821462002b7b577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405162002a9d9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a160408051818152600a818301527f2020202020204c6566740000000000000000000000000000000000000000000060608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a818301527f202020202052696768740000000000000000000000000000000000000000000060608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a162002b7b620039c9565b5050565b60265460ff161562000b9f5760005a9050600060648260255462002ba4919062004650565b62002bb0919062004650565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8602460405160200162002be7919062004678565b60408051601f198184030181529082905262002c059184906200471b565b60405180910390a15050565b62002c1b62003adc565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002c3f620023bf565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002c8157600080fd5b505af115801562002c96573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600c81526020017f506f6f6c50726f66696c6531000000000000000000000000000000000000000081525081525062002d15620023bf565b62002d1f620021f2565b6040518563ffffffff1660e01b815260040162002d4094939291906200473f565b6020604051808303816000875af115801562002d60573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002d86919062004165565b601e819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002dd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002dfd919081019062004855565b60a00151601f80546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa762002e4462002831565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562002e8657600080fd5b505af115801562002e9b573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c653100000000000000000000000000000000000000000000000081525081525062002f1a62002831565b62002f246200210e565b6040518563ffffffff1660e01b815260040162002f4594939291906200492b565b6020604051808303816000875af115801562002f65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f8b919062004165565b6020819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa15801562002fd8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003002919081019062004855565b60a00151602180546001600160a01b0319166001600160a01b03909216919091179055737109709ecfa91a80626ff3989d68f67f5b1dd12d63ca669fa7620030496200188f565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200308b57600080fd5b505af1158015620030a0573d6000803e3d6000fd5b50505050601d60009054906101000a90046001600160a01b03166001600160a01b0316633a92f65f60006040518060400160405280600181526020016040518060400160405280600881526020017f50726f66696c65320000000000000000000000000000000000000000000000008152508152506200311f6200188f565b620031296200252d565b6040518563ffffffff1660e01b81526004016200314a94939291906200497a565b6020604051808303816000875af11580156200316a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003190919062004165565b6022819055601d54604051628a678560e11b815260048101929092526001600160a01b031690630114cf0a90602401600060405180830381865afa158015620031dd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262003207919081019062004855565b60a00151602380546001600160a01b0319166001600160a01b03909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d6306447d5662003250620022a3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200329257600080fd5b505af1158015620032a7573d6000803e3d6000fd5b50505050604051620032b99062003cc1565b604051809103906000f080158015620032d6573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b0392909216918217905563a6b63eb862003305620022a3565b8362003310620028b5565b60405160e085901b6001600160e01b03191681526001600160a01b03938416600482015291831660248301529091166044820152662386f26fc1000060648201526000608482015260a401600060405180830381600087803b1580156200337657600080fd5b505af11580156200338b573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620033ee57600080fd5b505af115801562003403573d6000803e3d6000fd5b5050505050565b6029546040517fffa18649000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ffa1864991620034639160040190815260200190565b602060405180830381865afa15801562003481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620034a791906200425f565b602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600e60448201527f636f756e63696c4d656d626572310000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200354857600080fd5b505af11580156200355d573d6000803e3d6000fd5b505060265461010090046001600160a01b031691506200387f9050576000604051620035899062003ca5565b604051809103906000f080158015620035a6573d6000803e3d6000fd5b5090506000816001600160a01b0316631688f0b9604051620035c89062003cb3565b604051809103906000f080158015620035e5573d6000803e3d6000fd5b506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526060602482015260006064820181905260448201526084016020604051808303816000875af115801562003642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200366891906200425f565b602680547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038481168202929092179283905560408051808201909152601781527f636f756e63696c5361666520616464726573733a2025730000000000000000006020820152939450620036eb9392041662003b93565b602654604080516318caf8e360e31b81526101009092046001600160a01b031660048301526024820152600b60448201527f636f756e63696c536166650000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200377c57600080fd5b505af115801562003791573d6000803e3d6000fd5b506000925060019150620037a29050565b604051908082528060200260200182016040528015620037cc578160200160208202803683370190505b5060285481519192506001600160a01b0316908290600090620037f357620037f36200427f565b6001600160a01b03928316602091820292909201015260265460405163b63e800d60e01b81526101009091049091169063b63e800d9062003847908490600190600090819081908190819060040162004295565b600060405180830381600087803b1580156200386257600080fd5b505af115801562003877573d6000803e3d6000fd5b505050505050505b5060265461010090046001600160a01b031690565b60008082604051602001620038aa919062004512565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200392c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200395291906200425f565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890620039909085908790600401620049c9565b600060405180830381600087803b158015620039ab57600080fd5b505af1158015620039c0573d6000803e3d6000fd5b50505050915091565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562003acb5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262003a669291602001620044e0565b60408051601f198184030181529082905262003a829162004512565b6000604051808303816000865af19150503d806000811462003ac1576040519150601f19603f3d011682016040523d82523d6000602084013e62003ac6565b606091505b505050505b6007805461ff001916610100179055565b60405162003aea9062003ccf565b604051809103906000f08015801562003b07573d6000803e3d6000fd5b50601d80546001600160a01b0319166001600160a01b0392909216918217905563c4d66de862003b36620028f7565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801562003b7857600080fd5b505af115801562003b8d573d6000803e3d6000fd5b50505050565b62002b7b828260405160240162003bac929190620049ed565b60408051601f198184030181529190526020810180516001600160e01b03167f319af3330000000000000000000000000000000000000000000000000000000017905280516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b610e678062004a1b83390190565b613491806200588283390190565b6127688062008d1383390190565b6040518060e0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200162003c98604051806040016040528060008152602001606081525090565b8152600060209091015290565b610852806200b47b83390190565b613594806200bccd83390190565b6135c1806200f26183390190565b612eb6806201282283390190565b6001600160a01b038116811462002a0c57600080fd5b60006020828403121562003d0657600080fd5b813562003d138162003cdd565b9392505050565b600081518084526020808501945080840160005b8381101562003d555781516001600160a01b03168752958201959082019060010162003d2e565b509495945050505050565b60208152600062003d13602083018462003d1a565b60005b8381101562003d9257818101518382015260200162003d78565b50506000910152565b6000815180845262003db581602086016020860162003d75565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101562003e7f57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101562003e6857605f1989850301835262003e5584865162003d9b565b948e01949350918d019160010162003e36565b505050978a01979450509188019160010162003df0565b50919a9950505050505050505050565b801515811462002a0c57600080fd5b60006020828403121562003eb157600080fd5b813562003d138162003e8f565b82815260406020820152600062003ed9604083018462003d9b565b949350505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101562003f8957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562003f735783516001600160e01b0319168252928b019260019290920191908b019062003f47565b50978a0197955050509187019160010162003f09565b50919998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171562003fd45762003fd462003f98565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004006576200400662003f98565b604052919050565b600067ffffffffffffffff8211156200402b576200402b62003f98565b50601f01601f191660200190565b6000806000606084860312156200404f57600080fd5b83356200405c8162003cdd565b925060208401359150604084013567ffffffffffffffff8111156200408057600080fd5b8401601f810186136200409257600080fd5b8035620040a9620040a3826200400e565b62003fda565b818152876020838501011115620040bf57600080fd5b816020840160208301376000602083830101528093505050509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200413857603f198886030184526200412585835162003d9b565b9450928501929085019060010162004106565b5092979650505050505050565b6000602082840312156200415857600080fd5b815162003d138162003e8f565b6000602082840312156200417857600080fd5b5051919050565b600181811c908216806200419457607f821691505b602082108103620041b557634e487b7160e01b600052602260045260246000fd5b50919050565b80518252600060208201516040602085015262003ed9604085018262003d9b565b6020815260006001600160a01b038084511660208401528060208501511660408401526040840151606084015260608401516080840152608084015160a084015260a084015160e060c085015262004239610100850182620041bb565b90508160c08601511660e0850152809250505092915050565b8051620027ea8162003cdd565b6000602082840312156200427257600080fd5b815162003d138162003cdd565b634e487b7160e01b600052603260045260246000fd5b6000610100808352620042ab8184018b62003d1a565b60208481019a909a526001600160a01b0398891660408501528381036060850152600081529688166080840152505092851660a084015260c083019190915290921660e09092019190915201919050565b600281106200431b57634e487b7160e01b600052602160045260246000fd5b9052565b60006101406001600160a01b03808e1684528c60208501528160408501526200434b8285018d62003d9b565b92506200435c606085018c620042fc565b60808401999099525060a082019690965260c081019490945291851660e08401529093166101008201526101200191909152949350505050565b6000620043a7620040a3846200400e565b9050828152838383011115620043bc57600080fd5b62003d1383602083018462003d75565b600060208284031215620043df57600080fd5b815167ffffffffffffffff811115620043f757600080fd5b8201601f810184136200440957600080fd5b62003ed98482516020840162004396565b6000806000606084860312156200443057600080fd5b835160ff811681146200444257600080fd5b602085015160409095015190969495509392505050565b60006101406001600160a01b03808e1684528c6020850152816040850152620044858285018d62003d9b565b915062004496606085018c620042fc565b8960808501528860a08501528760c085015280871660e085015280861661010085015250828103610120840152620044cf818562003d9b565b9d9c50505050505050505050505050565b6001600160e01b031983168152600082516200450481600485016020870162003d75565b919091016004019392505050565b600082516200452681846020870162003d75565b9190910192915050565b601f8211156200457e57600081815260208120601f850160051c81016020861015620045595750805b601f850160051c820191505b818110156200457a5782815560010162004565565b5050505b505050565b815167ffffffffffffffff811115620045a057620045a062003f98565b620045b881620045b184546200417f565b8462004530565b602080601f831160018114620045f05760008415620045d75750858301515b600019600386901b1c1916600185901b1785556200457a565b600085815260208120601f198616915b82811015620046215788860151825594840194600190910190840162004600565b5085821015620046405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156200467257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835462004688816200417f565b60018281168015620046a35760018114620046b957620046ea565b60ff1984168752821515830287019450620046ea565b8760005260208060002060005b85811015620046e15781548a820152908401908201620046c6565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b60408152600062004730604083018562003d9b565b90508260208301529392505050565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b03851660608401528281036080840152620047b1818562003d1a565b979650505050505050565b600082601f830112620047ce57600080fd5b62003d138383516020850162004396565b600060408284031215620047f257600080fd5b6040516040810167ffffffffffffffff828210818311171562004819576200481962003f98565b816040528293508451835260208501519150808211156200483957600080fd5b506200484885828601620047bc565b6020830152505092915050565b6000602082840312156200486857600080fd5b815167ffffffffffffffff808211156200488157600080fd5b9083019060c082860312156200489657600080fd5b620048a062003fae565b8251815260208301516020820152604083015182811115620048c157600080fd5b620048cf87828601620047bc565b604083015250606083015182811115620048e857600080fd5b620048f687828601620047df565b6060830152506200490a6080840162004252565b60808201526200491d60a0840162004252565b60a082015295945050505050565b84815260a06020820152600960a08201527f50726f66696c652031000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b84815260a06020820152600960a08201527f50726f66696c652032000000000000000000000000000000000000000000000060c082015260e0604082015260006200478e60e0830186620041bb565b6001600160a01b038316815260406020820152600062003ed9604083018462003d9b565b60408152600062004a02604083018562003d9b565b90506001600160a01b0383166020830152939250505056fe60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220be7aadc691aedd577e01a3fca93edf030758d8399ae09cd301824a447ec7329064736f6c6343000813003360c06040526103e8600d553480156200001757600080fd5b5060405162003491380380620034918339810160408190526200003a91620000a2565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200007d91839101620000d4565b60408051601f19818403018152919052805160209091012060a0525062000124915050565b600060208284031215620000b557600080fd5b81516001600160a01b0381168114620000cd57600080fd5b9392505050565b600060208083528351808285015260005b818110156200010357858101830151858201604001528201620000e5565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516133326200015f600039600061052d015260008181610454015281816113d2015281816115a001526116df01526133326000f3fe6080604052600436106102e05760003560e01c806376365af711610184578063d1e36232116100d6578063eb11af931161008a578063f5b0dfb711610064578063f5b0dfb7146108b0578063f8832aae146108d0578063fc1711f2146108f0576102fb565b8063eb11af9314610850578063edd146cc1461087d578063ef2920fc1461089d576102fb565b8063df868ed3116100bb578063df868ed3146107f8578063e0dd2c3814610810578063e33add9314610830576102fb565b8063d1e36232146107b3578063dc96ff2d146107c8576102fb565b8063a0cf0aea11610138578063b5f620ce11610112578063b5f620ce14610725578063bcc5b93b14610745578063c7f758a81461077b576102fb565b8063a0cf0aea146106ba578063a1aab33f146106e2578063b2b878d0146106f8576102fb565b8063817b1cd211610169578063817b1cd214610664578063868c57b81461067a578063950559d71461069a576102fb565b806376365af714610639578063814516ad1461064f576102fb565b8063346db8cb1161023d5780634d31d087116101f157806359a5db8b116101cb57806359a5db8b146105cc5780635db64b99146105ec57806369fa25c414610619576102fb565b80634d31d0871461056657806351cff8d91461059657806354fac919146105b6576102fb565b8063406244d811610222578063406244d81461050957806342fda9c71461051e5780634ab4ba4214610551576102fb565b8063346db8cb146104d457806338fff2d0146104f4576102fb565b806311f22ae3116102945780631aa91a9e116102795780631aa91a9e1461048c5780631ddf1e23146104ac5780632bbe0cae146104c1576102fb565b806311f22ae31461042557806315cc481e14610445576102fb565b80630a6f0ee9116102c55780630a6f0ee9146103d65780630c0512e9146103f85780630f529ba21461040e576102fb565b8063013cf08b1461030b57806305d19175146103b2576102fb565b366102fb57600380549060006102f5836127d8565b91905055005b600380549060006102f5836127d8565b34801561031757600080fd5b506103926103263660046127f1565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006860154600787015460088801546009909801549698959794969395946001600160a01b0393841694928416939091169160ff808216916101009004168b565b6040516103a99b9a99989796959493929190612844565b60405180910390f35b3480156103be57600080fd5b506103c8600d5481565b6040519081526020016103a9565b3480156103e257600080fd5b506103f66103f1366004612a75565b610910565b005b34801561040457600080fd5b506103c8600b5481565b34801561041a57600080fd5b506103c86298968081565b34801561043157600080fd5b506103f66104403660046127f1565b610930565b34801561045157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103a9565b34801561049857600080fd5b506103c86104a73660046127f1565b610940565b3480156104b857600080fd5b506103f66109cb565b6104746104cf366004612aed565b610abf565b3480156104e057600080fd5b506103c86104ef366004612b3f565b610ae4565b34801561050057600080fd5b506001546103c8565b34801561051557600080fd5b506103c8600a81565b34801561052a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c8565b34801561055d57600080fd5b506002546103c8565b34801561057257600080fd5b50610586610581366004612b6b565b610b89565b60405190151581526020016103a9565b3480156105a257600080fd5b506103f66105b1366004612b6b565b610b94565b3480156105c257600080fd5b506103c860085481565b3480156105d857600080fd5b506103c86105e73660046127f1565b610cc0565b3480156105f857600080fd5b506103c8610607366004612b6b565b60066020526000908152604090205481565b34801561062557600080fd5b506103f66106343660046127f1565b610e5c565b34801561064557600080fd5b506103c860095481565b34801561065b57600080fd5b506103f6610e6c565b34801561067057600080fd5b506103c8600c5481565b34801561068657600080fd5b506103c8610695366004612b88565b610f37565b3480156106a657600080fd5b506103c86106b53660046127f1565b610f68565b3480156106c657600080fd5b5061047473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106ee57600080fd5b506103c8600a5481565b34801561070457600080fd5b50610718610713366004612bb4565b610f92565b6040516103a99190612c89565b34801561073157600080fd5b506103f6610740366004612cef565b610fad565b34801561075157600080fd5b506103c8610760366004612b6b565b6001600160a01b031660009081526006602052604090205490565b34801561078757600080fd5b5061079b6107963660046127f1565b610fb9565b6040516103a99c9b9a99989796959493929190612d0c565b3480156107bf57600080fd5b506103c86110db565b3480156107d457600080fd5b506103c86107e33660046127f1565b60009081526005602052604090206002015490565b34801561080457600080fd5b5060005460ff16610586565b34801561081c57600080fd5b506103c861082b366004612d87565b611206565b34801561083c57600080fd5b506103f661084b366004612dac565b611231565b34801561085c57600080fd5b5061087061086b366004612b6b565b61125f565b6040516103a99190612e62565b34801561088957600080fd5b506103f6610898366004612e7c565b61126a565b6103f66108ab366004612aed565b611338565b3480156108bc57600080fd5b506103f66108cb3660046127f1565b611356565b3480156108dc57600080fd5b506103f66108eb366004612b6b565b61137d565b3480156108fc57600080fd5b506103f661090b3660046127f1565b6113b7565b6109186113c7565b610920611412565b61092b83838361144e565b505050565b3361093a8161169c565b50600955565b6000818152600560205260408120805483146109775760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6000600982015460ff1660038111156109925761099261280a565b146109b3576040516344980d8f60e01b81526004810184905260240161096e565b6109c1818260020154611767565b6003015492915050565b600480546040517f22bcf999000000000000000000000000000000000000000000000000000000008152339281018390523060248201526001600160a01b03909116906322bcf99990604401600060405180830381600087803b158015610a3157600080fd5b505af1158015610a45573d6000803e3d6000fd5b50506040517f51cff8d90000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201523092506351cff8d991506024015b600060405180830381600087803b158015610aa457600080fd5b505af1158015610ab8573d6000803e3d6000fd5b5050505050565b6000610ac96113c7565b610ad1611412565b610adb83836117c2565b90505b92915050565b6000808490506000610b0a629896806080600854901b610b049190612ec3565b83611a52565b905060806f8000000000000000000000000000000060085462989680610b309190612ee5565b610b3e84600160801b612ee5565b610b4b6298968089612ef8565b610b559190612ef8565b610b5f9190612ec3565b610b698885612ef8565b610b739190612f0f565b610b7d9190612f0f565b901c9695505050505050565b6000610ade82611afb565b6001600160a01b038116600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015610bf457602002820191906000526020600020905b815481526020019060010190808311610be0575b5050505050905060005b815181101561092b576000828281518110610c1b57610c1b612f22565b602002602001015190506000600560008381526020019081526020016000209050610c4582611b1b565b506001600160a01b0385166000908152600b820160209081526040808320805490849055600a8501909252822082905560028301805491928392610c8a908490612ee5565b9250508190555080600c6000828254610ca39190612ee5565b925050819055505050508080610cb8906127d8565b915050610bfe565b60008060025411610cfd576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254610d0d6298968084612ef8565b81600954610d1b9190612ef8565b11610d52576040517f3bf5ca1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081610d688568010000000000000000612ef8565b610d729190612ec3565b6298968060095468010000000000000000610d8d9190612ef8565b610d979190612ec3565b610da19190612ee5565b9050610de96040518060400160405280601a81526020017f746f74616c456666656374697665416374697665506f696e7473000000000000815250610de46110db565b611b54565b6040610df36110db565b600854610e039062989680612ee5565b629896806040610e138680612ef8565b901c629896806080600a54901b610e2a9190612ec3565b610e349190612ec3565b610e3e9190612ef8565b610e489190612ec3565b610e529190612ef8565b901c949350505050565b33610e668161169c565b50600855565b600480546040517ff32aadc2000000000000000000000000000000000000000000000000000000008152339281018390526001600160a01b039091169063f32aadc290602401600060405180830381600087803b158015610ecc57600080fd5b505af1158015610ee0573d6000803e3d6000fd5b5050600480546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b038681169382019390935230602482015291169250630d4a8b499150604401610a8a565b60076020528160005260406000208181548110610f5357600080fd5b90600052602060002001600091509150505481565b600060085462989680610f7b9190612ee5565b610f886298968084612ef8565b610ade9190612ec3565b606060405163d623472560e01b815260040160405180910390fd5b610fb681611bc7565b50565b6000806000806000806000806000806000806000600560008f81526020019081526020016000209050806001015460001461100057610ffb8160010154610cc0565b611003565b60005b92508060060160009054906101000a90046001600160a01b03168160050160009054906101000a90046001600160a01b03168260070160009054906101000a90046001600160a01b0316836001015484600201548560090160019054906101000a900460ff168660090160009054906101000a900460ff168760080154886003015489600401548c8b600a016000336001600160a01b03166001600160a01b03168152602001908152602001600020549c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600480546040517fc19563a7000000000000000000000000000000000000000000000000000000008152309281019290925260009182916001600160a01b03169063c19563a790602401602060405180830381865afa158015611142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111669190612f38565b90506111a76040518060400160405280601481526020017f746f74616c506f696e747341637469766174656400000000000000000000000081525082611b54565b6111e86040518060400160405280601281526020017f6d696e506f696e74734163746976617465640000000000000000000000000000815250600d54611b54565b600d5481116111f957600d546111fb565b805b91505090565b905090565b60008281526005602090815260408083206001600160a01b0385168452600b01909152812054610adb565b60038054906000611241836127d8565b919050555060405163d623472560e01b815260040160405180910390fd5b6000610ade82611c0e565b61127382611c2e565b6000818060200190518101906112899190612f51565b80519091506001600160a01b03166112b457604051635df4b1ef60e01b815260040160405180910390fd5b80516004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516008556040808201516009556060820151600a55517f974c01cd9ddb6ba65b95675ec7133421bbf57fae2f50292b8d84f6197ec3f02e9061132b9085908590613010565b60405180910390a1505050565b6113406113c7565b611348611412565b6113528282611caf565b5050565b61135e6113c7565b80600260008282546113709190612f0f565b90915550610fb690508181565b336113878161169c565b506004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b336113c18161169c565b50600a55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114105760405163075fd2b160e01b815260040160405180910390fd5b565b600154600003611410576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003805490600061145e836127d8565b9190505550600082511161149e576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906114b49190612f38565b9050806000036114d75760405163f881a10d60e01b815260040160405180910390fd5b600081815260056020526040902060016009820154610100900460ff1660028111156115055761150561280a565b03610ab8578054821461152e5760405163c1d17bef60e01b81526004810183905260240161096e565b6000600982015460ff1660038111156115495761154961280a565b1461156a576040516344980d8f60e01b81526004810183905260240161096e565b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d916115d79160040190815260200190565b600060405180830381865afa1580156115f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261161c9190810190613031565b604081015160058401546001850154929350611643926001600160a01b0390911690611ee5565b60058201546001830154604080518681526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a1505050505050565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190613153565b610fb65760405163075fd2b160e01b815260040160405180910390fd5b6008820154439081101561177d5761177d613170565b8083600801540361178d57505050565b60006117ad8460080154836117a29190612ee5565b856003015485610ae4565b60088501929092555060039092019190915550565b60038054600091826117d3836127d8565b91905055506000838060200190518101906117ee9190613186565b80519091506000036118135760405163f881a10d60e01b815260040160405180910390fd5b8060200151600003611851576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816060015160028111156118695761186961280a565b036118f65760408101516001600160a01b03166118b2576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516001600160a01b03166118f6576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600090815260056020526040902081518154036119475781516040517fdf4eff3b000000000000000000000000000000000000000000000000000000008152600481019190915260240161096e565b815181556006810180546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff1992831617909255604084015160058401805491841691831691909117905560a084015160078401805491909316911617905560808201516001820155606082015160098201805461ff0019166101008360028111156119d3576119d361280a565b021790555060098101805460ff1916905543600882015560006003820181905560048201558151604080840151608085015182519384526001600160a01b03909116602084015282820152517f3417b456fad6209c73445d5efd446d686e75e4560f0f50c13b5a5cde976447b49181900360600190a150519392505050565b6000600160801b8310611aa75760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b50600160801b82825b8015611af35780600116600003611ad557611acb8283611f2a565b915060011c611ab0565b611adf8383611f2a565b9250611aec600182612ee5565b9050611ab0565b505092915050565b60006001600160a01b03821615611b13576001610ade565b600092915050565b60008181526005602052604081205415801590610ade5750506000908152600560205260409020600601546001600160a01b0316151590565b6113528282604051602401611b6a9291906131fc565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052612029565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae09060200160405180910390a150565b60006001600160a01b03821615611c26576002610ade565b600392915050565b611c366113c7565b60015415611c70576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611caa576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b806001600160a01b038116611cf0576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004546001600160a01b0316611d1957604051635df4b1ef60e01b815260040160405180910390fd5b600480546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b038481169382019390935291169063a230c52490602401602060405180830381865afa158015611d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da29190613153565b611dd8576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054906000611de8836127d8565b9091555050600480546040517f477a5cc00000000000000000000000000000000000000000000000000000000081526001600160a01b03858116938201939093523060248201526000929091169063477a5cc090604401602060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e809190613153565b905080611eb9576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084806020019051810190611ecf919061321e565b9050611edb848261204a565b610ab88482612258565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611f1f5761092b82826125e7565b61092b838383612603565b6000600160801b831115611fa65760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e313238000000000000000000000000000000000000000000000000606482015260840161096e565b600160801b8210611ff95760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e31323800000000604482015260640161096e565b60806f800000000000000000000000000000006120168486612ef8565b6120209190612f0f565b901c9392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000805b82518110156121495782818151811061206957612069612f22565b6020026020010151600001516000036120bf576120ba6040518060400160405280600f81526020017f70726f706f73616c4964203d3d20300000000000000000000000000000000000815250612652565b612137565b60008382815181106120d3576120d3612f22565b60200260200101516000015190506120ea81611b1b565b61210a5760405163c1d17bef60e01b81526004810182905260240161096e565b83828151811061211c5761211c612f22565b6020026020010151602001518361213391906132c9565b9250505b80612141816127d8565b91505061204e565b506001600160a01b03831660009081526006602052604081205461216d90836126c3565b905060006121f0600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190612f38565b61271e565b905080821115612236576040517fd64182fe000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161096e565b506001600160a01b039093166000908152600660205260409020929092555050565b606060005b82518110156125e157600083828151811061227a5761227a612f22565b602002602001015160000151905082516000036122d657604080516001808252818301909252906020808301908036833701905050925080836000815181106122c5576122c5612f22565b602002602001018181525050612429565b6000805b845181101561235557828582815181106122f6576122f6612f22565b602002602001015103612343576040517fadebb15400000000000000000000000000000000000000000000000000000000815260048101849052602481018290526001925060440161096e565b8061234d816127d8565b9150506122da565b50806124275760008451600161236b9190612f0f565b67ffffffffffffffff811115612383576123836128bc565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b50905060005b8551811015612404578581815181106123cd576123cd612f22565b60200260200101518282815181106123e7576123e7612f22565b6020908102919091010152806123fc816127d8565b9150506123b2565b50828186518151811061241957612419612f22565b602090810291909101015293505b505b600084838151811061243d5761243d612f22565b60209081029190910181015181015160008481526005835260408082206001600160a01b038b168352600a8101855281832054600b82019095529082205492945092919061248b83866126c3565b6001600160a01b038b166000908152600a8601602052604081208290559091506124b482612733565b90506124f56040518060400160405280600c81526020017f7374616b6564416d6f756e74000000000000000000000000000000000000000081525082611b54565b6001600160a01b038b166000908152600b860160205260409020819055808311612562576125238382612ee5565b600c60008282546125349190612f0f565b9091555061254490508382612ee5565b8560020160008282546125579190612f0f565b909155506125a69050565b61256c8184612ee5565b600c600082825461257d9190612ee5565b9091555061258d90508184612ee5565b8560020160008282546125a09190612ee5565b90915550505b84600801546000036125bd574360088601556125c7565b6125c78584611767565b5050505050505080806125d9906127d8565b91505061225d565b50505050565b60008060008084865af16113525763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612648576390b8ec186000526004601cfd5b6000603452505050565b610fb68160405160240161266691906132e9565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052612029565b6000806126d083856132c9565b90506000811215610adb576040517f3bbc714200000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044810182905260640161096e565b6000612728612749565b610f88836064612ef8565b6000606461273f612749565b610f889084612ef8565b6000600460009054906101000a90046001600160a01b03166001600160a01b0316630331383c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190612f38565b634e487b7160e01b600052601160045260246000fd5b6000600182016127ea576127ea6127c2565b5060010190565b60006020828403121561280357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b600481106128305761283061280a565b9052565b600381106128305761283061280a565b6000610160820190508c82528b60208301528a60408301528960608301528860808301526001600160a01b0380891660a084015280881660c084015280871660e0840152508461010083015261289e610120830185612820565b6128ac610140830184612834565b9c9b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156128f5576128f56128bc565b60405290565b60405160c0810167ffffffffffffffff811182821017156128f5576128f56128bc565b604051601f8201601f1916810167ffffffffffffffff81118282101715612947576129476128bc565b604052919050565b600067ffffffffffffffff821115612969576129696128bc565b5060051b60200190565b6001600160a01b0381168114610fb657600080fd5b600082601f83011261299957600080fd5b813560206129ae6129a98361294f565b61291e565b82815260059290921b840181019181810190868411156129cd57600080fd5b8286015b848110156129f15780356129e481612973565b83529183019183016129d1565b509695505050505050565b600067ffffffffffffffff821115612a1657612a166128bc565b50601f01601f191660200190565b600082601f830112612a3557600080fd5b8135612a436129a9826129fc565b818152846020838601011115612a5857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215612a8a57600080fd5b833567ffffffffffffffff80821115612aa257600080fd5b612aae87838801612988565b94506020860135915080821115612ac457600080fd5b50612ad186828701612a24565b9250506040840135612ae281612973565b809150509250925092565b60008060408385031215612b0057600080fd5b823567ffffffffffffffff811115612b1757600080fd5b612b2385828601612a24565b9250506020830135612b3481612973565b809150509250929050565b600080600060608486031215612b5457600080fd5b505081359360208301359350604090920135919050565b600060208284031215612b7d57600080fd5b8135610adb81612973565b60008060408385031215612b9b57600080fd5b8235612ba681612973565b946020939093013593505050565b60008060408385031215612bc757600080fd5b823567ffffffffffffffff80821115612bdf57600080fd5b612beb86838701612988565b9350602091508185013581811115612c0257600080fd5b8501601f81018713612c1357600080fd5b8035612c216129a98261294f565b81815260059190911b82018401908481019089831115612c4057600080fd5b8584015b83811015612c7857803586811115612c5c5760008081fd5b612c6a8c8983890101612a24565b845250918601918601612c44565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015612cd457815180516001600160a01b03168552860151868501529284019290850190600101612ca6565b5091979650505050505050565b8015158114610fb657600080fd5b600060208284031215612d0157600080fd5b8135610adb81612ce1565b6001600160a01b038d811682528c811660208301528b166040820152606081018a9052608081018990526101808101612d4860a083018a612834565b612d5560c0830189612820565b60e082019690965261010081019490945261012084019290925261014083015261016090910152979650505050505050565b60008060408385031215612d9a57600080fd5b823591506020830135612b3481612973565b60006020808385031215612dbf57600080fd5b823567ffffffffffffffff811115612dd657600080fd5b8301601f81018513612de757600080fd5b8035612df56129a98261294f565b81815260069190911b82018301908381019087831115612e1457600080fd5b928401925b82841015612e575760408489031215612e325760008081fd5b612e3a6128d2565b843581528585013586820152825260409093019290840190612e19565b979650505050505050565b6020810160078310612e7657612e7661280a565b91905290565b60008060408385031215612e8f57600080fd5b82359150602083013567ffffffffffffffff811115612ead57600080fd5b612eb985828601612a24565b9150509250929050565b600082612ee057634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610ade57610ade6127c2565b8082028115828204841417610ade57610ade6127c2565b80820180821115610ade57610ade6127c2565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4a57600080fd5b5051919050565b600060808284031215612f6357600080fd5b6040516080810181811067ffffffffffffffff82111715612f8657612f866128bc565b6040528251612f9481612973565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60005b83811015612fdb578181015183820152602001612fc3565b50506000910152565b60008151808452612ffc816020860160208601612fc0565b601f01601f19169290920160200192915050565b8281526040602082015260006130296040830184612fe4565b949350505050565b6000602080838503121561304457600080fd5b825167ffffffffffffffff8082111561305c57600080fd5b9084019060c0828703121561307057600080fd5b6130786128fb565b825181528383015161308981612973565b81850152604083015161309b81612973565b60408201526060830151828111156130b257600080fd5b8301604081890312156130c457600080fd5b6130cc6128d2565b8151815285820151848111156130e157600080fd5b82019350601f840189136130f457600080fd5b835191506131046129a9836129fc565b828152898784870101111561311857600080fd5b61312783888301898801612fc0565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b60006020828403121561316557600080fd5b8151610adb81612ce1565b634e487b7160e01b600052600160045260246000fd5b600060c0828403121561319857600080fd5b6131a06128fb565b825181526020830151602082015260408301516131bc81612973565b60408201526060830151600381106131d357600080fd5b60608201526080838101519082015260a08301516131f081612973565b60a08201529392505050565b60408152600061320f6040830185612fe4565b90508260208301529392505050565b6000602080838503121561323157600080fd5b825167ffffffffffffffff81111561324857600080fd5b8301601f8101851361325957600080fd5b80516132676129a98261294f565b81815260069190911b8201830190838101908783111561328657600080fd5b928401925b82841015612e5757604084890312156132a45760008081fd5b6132ac6128d2565b84518152858501518682015282526040909301929084019061328b565b8082018281126000831280158216821582161715611af357611af36127c2565b602081526000610adb6020830184612fe456fea26469706673582212202e793e8a48e1805e5334beea1aac5abc7e7419c40bfd08ed44e970adecfe93b464736f6c634300081300336080604052600060015534801561001557600080fd5b50612743806100256000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634f350fb21461003b578063affed0e01461006b575b600080fd5b61004e6100493660046102ab565b610082565b6040516001600160a01b0390911681526020015b60405180910390f35b61007460015481565b604051908152602001610062565b60008060405161009190610147565b604051809103906000f0801580156100ad573d6000803e3d6000fd5b506001805491925060006100c083610369565b9091555060808401526040517fc3f685210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c3f685219061010e908690600401610390565b600060405180830381600087803b15801561012857600080fd5b505af115801561013c573d6000803e3d6000fd5b509295945050505050565b6122b48061045a83390190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561018d5761018d610154565b60405290565b60405160e0810167ffffffffffffffff8111828210171561018d5761018d610154565b604051601f8201601f1916810167ffffffffffffffff811182821017156101df576101df610154565b604052919050565b80356001600160a01b03811681146101fe57600080fd5b919050565b60006040828403121561021557600080fd5b61021d61016a565b90508135815260208083013567ffffffffffffffff8082111561023f57600080fd5b818501915085601f83011261025357600080fd5b81358181111561026557610265610154565b610277601f8201601f191685016101b6565b9150808252868482850101111561028d57600080fd5b80848401858401376000908201840152918301919091525092915050565b6000602082840312156102bd57600080fd5b813567ffffffffffffffff808211156102d557600080fd5b9083019060e082860312156102e957600080fd5b6102f1610193565b6102fa836101e7565b8152610308602084016101e7565b602082015260408301356040820152606083013560608201526080830135608082015260a08301358281111561033d57600080fd5b61034987828601610203565b60a08301525061035b60c084016101e7565b60c082015295945050505050565b60006001820161038957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083526001600160a01b0380855116828501528082860151166040850152506040840151606084015260608401516080840152608084015160a084015260a084015160e060c08501528051610100850152818101519050604061012085015280518061014086015260005b8181101561041c57828101840151868201610160015283016103ff565b506101609250600083828701015260c0860151915061044660e08601836001600160a01b03169052565b601f01601f19169390930101939250505056fe608060405234801561001057600080fd5b5060016000908155610043907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90610048565b610095565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b612210806100a46000396000f3fe6080604052600436106102a05760003560e01c80636ff61ab31161016e578063c19563a7116100cb578063db61d65c1161007f578063f32aadc211610064578063f32aadc21461083a578063fba1c1a31461085a578063fc45f9761461086f57600080fd5b8063db61d65c146107fa578063ebd7dc521461081a57600080fd5b8063c6d572ae116100b0578063c6d572ae14610798578063d547741f146107ba578063d6d8428d146107da57600080fd5b8063c19563a71461074b578063c3f685211461077857600080fd5b8063a0b21cdf11610122578063a230c52411610107578063a230c524146106bc578063b0e21e8a14610720578063b5058c501461073657600080fd5b8063a0b21cdf14610673578063a217fddf146106a757600080fd5b80637b103999116101535780637b1039991461059d57806388cfe684146105bd57806391d148541461062d57600080fd5b80636ff61ab31461055a578063719da6a31461058a57600080fd5b806331f61bca1161021c5780633c092330116101d0578063477a5cc0116101b5578063477a5cc0146104c757806368decabb146105025780636c53db9a1461053a57600080fd5b80633c092330146104875780634256dd78146104a757600080fd5b806336568abe1161020157806336568abe14610417578063397e2543146104375780633a871fe11461045757600080fd5b806331f61bca146103e25780633517aa7d1461040257600080fd5b8063175188e81161027357806322bcf9991161025857806322bcf99914610371578063248a9ca3146103915780632f2ff15d146103c257600080fd5b8063175188e814610331578063223e54791461035157600080fd5b806301ffc9a7146102a55780630331383c146102da57806308386eba146102f95780630d4a8b491461030f575b600080fd5b3480156102b157600080fd5b506102c56102c0366004611baa565b61088f565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506005545b6040519081526020016102d1565b34801561030557600080fd5b506102eb60075481565b34801561031b57600080fd5b5061032f61032a366004611bf9565b6108f8565b005b34801561033d57600080fd5b5061032f61034c366004611c32565b610a57565b34801561035d57600080fd5b5061032f61036c366004611c32565b610b07565b34801561037d57600080fd5b5061032f61038c366004611bf9565b610bfd565b34801561039d57600080fd5b506102eb6103ac366004611c4f565b6000908152600160208190526040909120015490565b3480156103ce57600080fd5b5061032f6103dd366004611c68565b610d4f565b3480156103ee57600080fd5b5061032f6103fd366004611c4f565b610d7a565b34801561040e57600080fd5b5061032f610dce565b34801561042357600080fd5b5061032f610432366004611c68565b610dd9565b34801561044357600080fd5b5061032f610452366004611c32565b610e6a565b34801561046357600080fd5b506102c5610472366004611c32565b600e6020526000908152604090205460ff1681565b34801561049357600080fd5b5061032f6104a2366004611c32565b610f1e565b3480156104b357600080fd5b5061032f6104c2366004611c4f565b610f6c565b3480156104d357600080fd5b506102c56104e2366004611bf9565b600f60209081526000928352604080842090915290825290205460ff1681565b34801561050e57600080fd5b50600854610522906001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561054657600080fd5b50600954610522906001600160a01b031681565b34801561056657600080fd5b506102c5610575366004611c32565b600c6020526000908152604090205460ff1681565b61032f610598366004611c4f565b610ff0565b3480156105a957600080fd5b50600354610522906001600160a01b031681565b3480156105c957600080fd5b506106066105d8366004611c32565b600d602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b03909416845260208401929092521515908201526060016102d1565b34801561063957600080fd5b506102c5610648366004611c68565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561067f57600080fd5b506102eb7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b3480156106b357600080fd5b506102eb600081565b3480156106c857600080fd5b506102c56106d7366004611c32565b6001600160a01b039081166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801561072c57600080fd5b506102eb60065481565b34801561074257600080fd5b5061032f6111e8565b34801561075757600080fd5b506102eb610766366004611c32565b60106020526000908152604090205481565b34801561078457600080fd5b5061032f610793366004611dc8565b611234565b3480156107a457600080fd5b506107ad611453565b6040516102d19190611ed6565b3480156107c657600080fd5b5061032f6107d5366004611c68565b6114e1565b3480156107e657600080fd5b50600254610522906001600160a01b031681565b34801561080657600080fd5b50600454610522906001600160a01b031681565b34801561082657600080fd5b506102c5610835366004611c32565b611507565b34801561084657600080fd5b5061032f610855366004611c32565b611547565b34801561086657600080fd5b506102eb606481565b34801561087b57600080fd5b5061032f61088a366004611c32565b6115ca565b60006001600160e01b031982167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f257507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052829061095d57604051636a5cfb6d60e01b815260040160405180910390fd5b61096682611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16156109c6576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916600117905560109052908120805460649290610a10908490611eff565b90915550506040516001600160a01b03831681527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1906020015b60405180910390a1505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610aa657604051637b1328fd60e11b815260040160405180910390fd5b610aaf81611733565b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610b5657604051637b1328fd60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600e602052604090205460ff1615610ba9576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610afc565b6001600160a01b038083166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190528290610c6257604051636a5cfb6d60e01b815260040160405180910390fd5b610c6b82611733565b6001600160a01b038084166000908152600f602090815260408083209386168352929052205460ff16610cca576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038084166000908152600f602090815260408083209386168352928152828220805460ff1916905560109052908120805460649290610d11908490611f12565b90915550506040516001600160a01b03831681527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea490602001610a4a565b60008281526001602081905260409091200154610d6b81611773565b610d75838361177d565b505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610dc957604051637b1328fd60e11b815260040160405180910390fd5b600555565b610dd733611547565b565b6001600160a01b0381163314610e5c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e668282611804565b5050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610eb957604051637b1328fd60e11b815260040160405180910390fd5b610ec281611733565b600880546001600160a01b0319166001600160a01b038381169182179092556009546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610afc565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527faaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d290602001610afc565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff16610fbb57604051637b1328fd60e11b815260040160405180910390fd5b60068190556040518181527fd10d75876659a287a59a6ccfa2e3fff42f84d94b542837acd30bc184d562de4090602001610afc565b610ff8611887565b336000908152600d6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff161515910181905261105757604051636a5cfb6d60e01b815260040160405180910390fd5b336000908152600d602052604090206001810180549083905582811015611109576004546001600160a01b031663a9059cbb336110948487611f12565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611f25565b506111a0565b6004546001600160a01b03166323b872dd30336111268786611f12565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190611f25565b505b60408051338152602081018590527f821ce476b1049194918a16d24c27f2e616dc0f19a93d61020493f648e5493adf910160405180910390a150506111e56001600055565b50565b6008546001600160a01b0316331461122c576040517ffd4bfdb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd76118e0565b6112418160200151611733565b61124e8160c00151611733565b8051600280546001600160a01b039283166001600160a01b03199182161790915560208301516004805491909316911617905560408101516000036112bf576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151600555606081015160065560c0810151600980546001600160a01b0319166001600160a01b03831617905561131a907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b9061177d565b600260009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113919190611f47565b600380546001600160a01b0319166001600160a01b0392909216918217905560408051600081526020810191829052608084015160a08501517f3a92f65f00000000000000000000000000000000000000000000000000000000909352909291633a92f65f9161140991600a90338760248101612009565b6020604051808303816000875af1158015611428573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144c91906120fc565b6007555050565b600a805461146090611f64565b80601f016020809104026020016040519081016040528092919081815260200182805461148c90611f64565b80156114d95780601f106114ae576101008083540402835291602001916114d9565b820191906000526020600020905b8154815290600101906020018083116114bc57829003601f168201915b505050505081565b600082815260016020819052604090912001546114fd81611773565b610d758383611804565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff166108f2565b61154f611887565b6001600160a01b0381166000818152600d602090815260409182902060028101805460ff19166001908117909155600554908201819055835194855291840191909152917f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f768991015b60405180910390a1506111e56001600055565b6115d2611887565b6001600160a01b038082166000908152600d60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905280611627575061162733611507565b6116995760405162461bcd60e51b815260206004820152602f60248201527f5b52656769737472795d3a204d75737420626520616374697665206d656d626560448201527f7220746f20756e726567697374657200000000000000000000000000000000006064820152608401610e53565b336000818152600d60208181526040808420815160608101835281546001600160a01b038116825260018301805483870190815260028501805460ff81161515868901528b8b529888526001600160a01b03199093169094559690965560ff199094169094559251835194855290840152917fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f491016115b7565b6001600160a01b0381166111e5576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111e5813361193b565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff1615610e665760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6002600054036118d95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610e53565b6002600055565b60088054600980546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16610e665761196e816119b0565b6119798360206119c2565b60405160200161198a929190612115565b60408051601f198184030181529082905262461bcd60e51b8252610e5391600401611ed6565b60606108f26001600160a01b03831660145b606060006119d1836002612196565b6119dc906002611eff565b67ffffffffffffffff8111156119f4576119f4611c8d565b6040519080825280601f01601f191660200182016040528015611a1e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611a5557611a556121ad565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611aa057611aa06121ad565b60200101906001600160f81b031916908160001a9053506000611ac4846002612196565b611acf906001611eff565b90505b6001811115611b54577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611b1057611b106121ad565b1a60f81b828281518110611b2657611b266121ad565b60200101906001600160f81b031916908160001a90535060049490941c93611b4d816121c3565b9050611ad2565b508315611ba35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e53565b9392505050565b600060208284031215611bbc57600080fd5b81356001600160e01b031981168114611ba357600080fd5b6001600160a01b03811681146111e557600080fd5b8035611bf481611bd4565b919050565b60008060408385031215611c0c57600080fd5b8235611c1781611bd4565b91506020830135611c2781611bd4565b809150509250929050565b600060208284031215611c4457600080fd5b8135611ba381611bd4565b600060208284031215611c6157600080fd5b5035919050565b60008060408385031215611c7b57600080fd5b823591506020830135611c2781611bd4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b60405290565b60405160e0810167ffffffffffffffff81118282101715611cc657611cc6611c8d565b604051601f8201601f1916810167ffffffffffffffff81118282101715611d1857611d18611c8d565b604052919050565b600060408284031215611d3257600080fd5b611d3a611ca3565b90508135815260208083013567ffffffffffffffff80821115611d5c57600080fd5b818501915085601f830112611d7057600080fd5b813581811115611d8257611d82611c8d565b611d94601f8201601f19168501611cef565b91508082528684828501011115611daa57600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215611dda57600080fd5b813567ffffffffffffffff80821115611df257600080fd5b9083019060e08286031215611e0657600080fd5b611e0e611ccc565b611e1783611be9565b8152611e2560208401611be9565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115611e5a57600080fd5b611e6687828601611d20565b60a083015250611e7860c08401611be9565b60c082015295945050505050565b60005b83811015611ea1578181015183820152602001611e89565b50506000910152565b60008151808452611ec2816020860160208601611e86565b601f01601f19169290920160200192915050565b602081526000611ba36020830184611eaa565b634e487b7160e01b600052601160045260246000fd5b808201808211156108f2576108f2611ee9565b818103818111156108f2576108f2611ee9565b600060208284031215611f3757600080fd5b81518015158114611ba357600080fd5b600060208284031215611f5957600080fd5b8151611ba381611bd4565b600181811c90821680611f7857607f821691505b602082108103611f9857634e487b7160e01b600052602260045260246000fd5b50919050565b805182526000602082015160406020850152611fbd6040850182611eaa565b949350505050565b600081518084526020808501945080840160005b83811015611ffe5781516001600160a01b031687529582019590820190600101611fd9565b509495945050505050565b8581526000602060a0818401526000875481600182811c91508083168061203157607f831692505b858310810361204e57634e487b7160e01b85526022600452602485fd5b60a0880183905260c0880181801561206d5760018114612083576120ae565b60ff198616825284151560051b820196506120ae565b60008e81526020902060005b868110156120a85781548482015290850190890161208f565b83019750505b50505050505083810360408501526120c68188611f9e565b9150506120de60608401866001600160a01b03169052565b82810360808401526120f08185611fc5565b98975050505050505050565b60006020828403121561210e57600080fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161214d816017850160208801611e86565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161218a816028840160208801611e86565b01602801949350505050565b80820281158282048414176108f2576108f2611ee9565b634e487b7160e01b600052603260045260246000fd5b6000816121d2576121d2611ee9565b50600019019056fea264697066735822122028f5da4de5781ec8b28e4edb01b77c2e6ab3636241b57575d569accdd1cc603264736f6c63430008130033a264697066735822122061ebdddf7b585de2b263eb3dc35f4fdbf5e3435a00ee07b736272cbecfd9578f64736f6c63430008130033608060405234801561001057600080fd5b50610832806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806353e5d9351161005057806353e5d935146100aa578063d18af54d146100bf578063ec9e80bb146100d257600080fd5b80631688f0b91461006c5780633408e4701461009c575b600080fd5b61007f61007a3660046104d6565b6100e5565b6040516001600160a01b0390911681526020015b60405180910390f35b604051468152602001610093565b6100b261017a565b604051610093919061057f565b61007f6100cd366004610599565b6101a4565b61007f6100e03660046104d6565b610293565b60008083805190602001208360405160200161010b929190918252602082015260400190565b60405160208183030381529060405280519060200120905061012e8585836102c5565b6040516001600160a01b038781168252919350908316907f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2359060200160405180910390a2509392505050565b60606040518060200161018c906103f5565b601f1982820381018352601f90910116604052919050565b60008083836040516020016101d592919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012060001c90506101fb8686836100e5565b91506001600160a01b0383161561028a576040517f1e52b5180000000000000000000000000000000000000000000000000000000081526001600160a01b03841690631e52b518906102579085908a908a908a90600401610605565b600060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836102a64690565b604080516020810194909452830191909152606082015260800161010b565b6000833b61031a5760405162461bcd60e51b815260206004820152601f60248201527f53696e676c65746f6e20636f6e7472616374206e6f74206465706c6f7965640060448201526064015b60405180910390fd5b60006040518060200161032c906103f5565b601f1982820381018352601f90910116604081905261035991906001600160a01b03881690602001610642565b6040516020818303038152906040529050828151826020016000f591506001600160a01b0382166103cc5760405162461bcd60e51b815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610311565b8351156103ed5760008060008651602088016000875af1036103ed57600080fd5b509392505050565b6101988061066583390190565b6001600160a01b038116811461041757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261045a57600080fd5b813567ffffffffffffffff808211156104755761047561041a565b604051601f8301601f19908116603f0116810190828211818310171561049d5761049d61041a565b816040528381528660208588010111156104b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156104eb57600080fd5b83356104f681610402565b9250602084013567ffffffffffffffff81111561051257600080fd5b61051e86828701610449565b925050604084013590509250925092565b60005b8381101561054a578181015183820152602001610532565b50506000910152565b6000815180845261056b81602086016020860161052f565b601f01601f19169290920160200192915050565b6020815260006105926020830184610553565b9392505050565b600080600080608085870312156105af57600080fd5b84356105ba81610402565b9350602085013567ffffffffffffffff8111156105d657600080fd5b6105e287828801610449565b9350506040850135915060608501356105fa81610402565b939692955090935050565b60006001600160a01b038087168352808616602084015250608060408301526106316080830185610553565b905082606083015295945050505050565b6000835161065481846020880161052f565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161019838038061019883398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b60a1806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea264697066735822122073237abd48767b99493d0748501155fadd209cba7acf8dbbb0bce76c7c51144664736f6c63430008130033a2646970667358221220d7b805ca135e726b83ffb0ad57d2728415ef64cd372a058a6c8de13253cd617a64736f6c63430008130033608060405234801561001057600080fd5b50600160045561356f806100256000396000f3fe6080604052600436106101d15760003560e01c8063affed0e0116100f7578063e19a9dd911610095578063f08a032311610064578063f08a0323146105f5578063f698da2514610615578063f8dc5dd91461067c578063ffa1ad741461069c5761020d565b8063e19a9dd914610580578063e318b52b146105a0578063e75235b8146105c0578063e86637db146105d55761020d565b8063cc2f8452116100d1578063cc2f8452146104f2578063d4d9bdcd14610520578063d8d11f7814610540578063e009cfde146105605761020d565b8063affed0e01461049c578063b4faba09146104b2578063b63e800d146104d25761020d565b80635624b25b1161016f5780636a7612021161013e5780636a7612021461040f5780637d83297414610422578063934f3a111461045a578063a0e67e2b1461047a5761020d565b80635624b25b146103755780635ae6bd37146103a2578063610b5925146103cf578063694e80c3146103ef5761020d565b80632f54bf6e116101ab5780632f54bf6e146102ea5780633408e4701461030a578063468721a7146103275780635229073f146103475761020d565b80630d582f131461027357806312fb68e0146102955780632d9ad53d146102b55761020d565b3661020d5760405134815233907f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d9060200160405180910390a2005b34801561021957600080fd5b507f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061024457005b36600080373360601b365260008060143601600080855af190503d6000803e8061026d573d6000fd5b503d6000f35b34801561027f57600080fd5b5061029361028e366004612a8f565b6106e5565b005b3480156102a157600080fd5b506102936102b0366004612b5e565b610869565b3480156102c157600080fd5b506102d56102d0366004612bd3565b610e02565b60405190151581526020015b60405180910390f35b3480156102f657600080fd5b506102d5610305366004612bd3565b610e3d565b34801561031657600080fd5b50465b6040519081526020016102e1565b34801561033357600080fd5b506102d5610342366004612bff565b610e75565b34801561035357600080fd5b50610367610362366004612bff565b610f66565b6040516102e1929190612caf565b34801561038157600080fd5b50610395610390366004612cca565b610f9c565b6040516102e19190612cec565b3480156103ae57600080fd5b506103196103bd366004612cff565b60076020526000908152604090205481565b3480156103db57600080fd5b506102936103ea366004612bd3565b611022565b3480156103fb57600080fd5b5061029361040a366004612cff565b611173565b6102d561041d366004612d61565b611229565b34801561042e57600080fd5b5061031961043d366004612a8f565b600860209081526000928352604080842090915290825290205481565b34801561046657600080fd5b50610293610475366004612e3a565b6115bd565b34801561048657600080fd5b5061048f61161f565b6040516102e19190612eeb565b3480156104a857600080fd5b5061031960055481565b3480156104be57600080fd5b506102936104cd366004612efe565b611710565b3480156104de57600080fd5b506102936104ed366004612f4e565b611733565b3480156104fe57600080fd5b5061051261050d366004612a8f565b611835565b6040516102e1929190613043565b34801561052c57600080fd5b5061029361053b366004612cff565b611a21565b34801561054c57600080fd5b5061031961055b36600461306e565b611ace565b34801561056c57600080fd5b5061029361057b36600461312f565b611afb565b34801561058c57600080fd5b5061029361059b366004612bd3565b611c35565b3480156105ac57600080fd5b506102936105bb366004613168565b611d95565b3480156105cc57600080fd5b50600454610319565b3480156105e157600080fd5b506103956105f036600461306e565b611fb8565b34801561060157600080fd5b50610293610610366004612bd3565b612133565b34801561062157600080fd5b5061031960007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b34801561068857600080fd5b506102936106973660046131b3565b61217b565b3480156106a857600080fd5b506103956040518060400160405280600581526020017f312e342e3100000000000000000000000000000000000000000000000000000081525081565b6106ed612316565b6001600160a01b0382161580159061070f57506001600160a01b038216600114155b801561072457506001600160a01b0382163014155b61075d5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064015b60405180910390fd5b6001600160a01b0382811660009081526002602052604090205416156107ad5760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b60026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e080546001600160a01b038481166000818152604081208054939094166001600160a01b03199384161790935560018352835490911617909155600380549161081a8361320a565b90915550506040516001600160a01b038316907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a280600454146108655761086581611173565b5050565b610874816041612367565b825110156108c45760405162461bcd60e51b815260206004820152600560248201527f47533032300000000000000000000000000000000000000000000000000000006044820152606401610754565b6000808060008060005b86811015610df6576041818102890160208101516040820151919092015160ff16955090935091506000849003610b8557885160208a01208a146109545760405162461bcd60e51b815260206004820152600560248201527f47533032370000000000000000000000000000000000000000000000000000006044820152606401610754565b9193508391610964876041612367565b8210156109b35760405162461bcd60e51b815260206004820152600560248201527f47533032310000000000000000000000000000000000000000000000000000006044820152606401610754565b87516109c08360206123a3565b1115610a0e5760405162461bcd60e51b815260206004820152600560248201527f47533032320000000000000000000000000000000000000000000000000000006044820152606401610754565b602082890181015189519091610a31908390610a2b9087906123a3565b906123a3565b1115610a7f5760405162461bcd60e51b815260206004820152600560248201527f47533032330000000000000000000000000000000000000000000000000000006044820152606401610754565b6040517f20c13b0b000000000000000000000000000000000000000000000000000000008082528a8501602001916001600160a01b038916906320c13b0b90610ace908f908690600401613223565b602060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190613248565b7fffffffff000000000000000000000000000000000000000000000000000000001614610b7e5760405162461bcd60e51b815260206004820152600560248201527f47533032340000000000000000000000000000000000000000000000000000006044820152606401610754565b5050610d44565b8360ff16600103610c1f579193508391336001600160a01b0384161480610bce57506001600160a01b03851660009081526008602090815260408083208d845290915290205415155b610c1a5760405162461bcd60e51b815260206004820152600560248201527f47533032350000000000000000000000000000000000000000000000000000006044820152606401610754565b610d44565b601e8460ff161115610ce4576040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018b9052600190605c0160405160208183030381529060405280519060200120600486610c84919061328a565b6040805160008152602081018083529390935260ff90911690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610cd3573d6000803e3d6000fd5b505050602060405103519450610d44565b6040805160008152602081018083528c905260ff861691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa158015610d37573d6000803e3d6000fd5b5050506020604051035194505b856001600160a01b0316856001600160a01b0316118015610d7e57506001600160a01b038581166000908152600260205260409020541615155b8015610d9457506001600160a01b038516600114155b610de05760405162461bcd60e51b815260206004820152600560248201527f47533032360000000000000000000000000000000000000000000000000000006044820152606401610754565b8495508080610dee9061320a565b9150506108ce565b50505050505050505050565b600060016001600160a01b03831614801590610e3757506001600160a01b038281166000908152600160205260409020541615155b92915050565b60006001600160a01b038216600114801590610e375750506001600160a01b0390811660009081526002602052604090205416151590565b600033600114801590610e9f5750336000908152600160205260409020546001600160a01b031615155b610eeb5760405162461bcd60e51b815260206004820152600560248201527f47533130340000000000000000000000000000000000000000000000000000006044820152606401610754565b610efa858585856000196123bf565b90508015610f325760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610f5e565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b60006060610f7686868686610e75565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b60606000610fab8360206132a3565b67ffffffffffffffff811115610fc357610fc3612abb565b6040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b50905060005b8381101561101a5784810154602080830284010152806110128161320a565b915050610ff3565b509392505050565b61102a612316565b6001600160a01b0381161580159061104c57506001600160a01b038116600114155b6110805760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b0381811660009081526001602052604090205416156110e85760405162461bcd60e51b815260206004820152600560248201527f47533130320000000000000000000000000000000000000000000000000000006044820152606401610754565b600160208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03848116600081815260408082208054949095166001600160a01b031994851617909455948552835490911681179092555190917fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844091a250565b61117b612316565b6003548111156111b55760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156111ee5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b60048190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60008060006112438e8e8e8e8e8e8e8e8e8e600554611fb8565b6005805491925060006112558361320a565b909155505080516020820120915061126e8282866115bd565b5060006112997f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c85490565b90506001600160a01b0381161561131f57806001600160a01b03166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b81526004016112ec9c9b9a999897969594939291906132f2565b600060405180830381600087803b15801561130657600080fd5b505af115801561131a573d6000803e3d6000fd5b505050505b61134b61132e8a6109c46133b6565b603f61133b8c60406132a3565b61134591906133c9565b90612406565b611357906101f46133b6565b5a10156113a65760405162461bcd60e51b815260206004820152600560248201527f47533031300000000000000000000000000000000000000000000000000000006044820152606401610754565b60005a90506114178f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e8c600014611404578e6123bf565b6109c45a61141291906133eb565b6123bf565b93506114245a829061241d565b9050838061143157508915155b8061143b57508715155b6114875760405162461bcd60e51b815260206004820152600560248201527f47533031330000000000000000000000000000000000000000000000000000006044820152606401610754565b6000881561149f5761149c828b8b8b8b612438565b90505b84156114e457837f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e826040516114d791815260200190565b60405180910390a261151f565b837f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238260405161151691815260200190565b60405180910390a25b50506001600160a01b038116156115ac576040517f932713680000000000000000000000000000000000000000000000000000000081526004810183905283151560248201526001600160a01b03821690639327136890604401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6004548061160d5760405162461bcd60e51b815260206004820152600560248201527f47533030310000000000000000000000000000000000000000000000000000006044820152606401610754565b61161984848484610869565b50505050565b6060600060035467ffffffffffffffff81111561163e5761163e612abb565b604051908082528060200260200182016040528015611667578160200160208202803683370190505b506001600090815260026020527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e054919250906001600160a01b03165b6001600160a01b03811660011461170857808383815181106116c8576116c86133fe565b6001600160a01b039283166020918202929092018101919091529181166000908152600290925260409091205416816117008161320a565b9250506116a4565b509092915050565b600080825160208401855af480600052503d6020523d600060403e60403d016000fd5b6117718a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c925061256e915050565b6001600160a01b0384161561178957611789846127b4565b6117c98787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061283092505050565b81156117e0576117de82600060018685612438565b505b336001600160a01b03167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b89604051611821959493929190613414565b60405180910390a250505050505050505050565b606060006001600160a01b03841660011480611855575061185584610e02565b6118a15760405162461bcd60e51b815260206004820152600560248201527f47533130350000000000000000000000000000000000000000000000000000006044820152606401610754565b600083116118f15760405162461bcd60e51b815260206004820152600560248201527f47533130360000000000000000000000000000000000000000000000000000006044820152606401610754565b8267ffffffffffffffff81111561190a5761190a612abb565b604051908082528060200260200182016040528015611933578160200160208202803683370190505b506001600160a01b03808616600090815260016020526040812054929450911691505b6001600160a01b0382161580159061197857506001600160a01b038216600114155b801561198357508381105b156119de578183828151811061199b5761199b6133fe565b6001600160a01b039283166020918202929092018101919091529281166000908152600190935260409092205490911690806119d68161320a565b915050611956565b6001600160a01b038216600114611a1657826119fb6001836133eb565b81518110611a0b57611a0b6133fe565b602002602001015191505b808352509250929050565b336000908152600260205260409020546001600160a01b0316611a865760405162461bcd60e51b815260206004820152600560248201527f47533033300000000000000000000000000000000000000000000000000000006044820152606401610754565b336000818152600860209081526040808320858452909152808220600190555183917ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c91a350565b6000611ae38c8c8c8c8c8c8c8c8c8c8c611fb8565b8051906020012090509b9a5050505050505050505050565b611b03612316565b6001600160a01b03811615801590611b2557506001600160a01b038116600114155b611b595760405162461bcd60e51b8152602060048201526005602482015264475331303160d81b6044820152606401610754565b6001600160a01b03828116600090815260016020526040902054811690821614611bc55760405162461bcd60e51b815260206004820152600560248201527f47533130330000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600160a01b03818116600081815260016020526040808220805487861684528284208054919096166001600160a01b0319918216179095558383528054909416909355915190917faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427691a25050565b611c3d612316565b6001600160a01b03811615611d39576040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fe6d7a83a0000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015611cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ced9190613480565b611d395760405162461bcd60e51b815260206004820152600560248201527f47533330300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c88181556040516001600160a01b038316907f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa290600090a25050565b611d9d612316565b6001600160a01b03811615801590611dbf57506001600160a01b038116600114155b8015611dd457506001600160a01b0381163014155b611e085760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038181166000908152600260205260409020541615611e585760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03821615801590611e7a57506001600160a01b038216600114155b611eae5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b03838116600090815260026020526040902054811690831614611f025760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805486861680855283852080549288166001600160a01b03199384161790559589168452828420805482169096179095558383528054909416909355915190917ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf91a26040516001600160a01b038216907f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2690600090a2505050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d604051611ff29291906134a2565b604051908190038120612018949392918e908e908e908e908e908e908e906020016134b2565b60408051601f19818403018152919052805160209091012090507f19000000000000000000000000000000000000000000000000000000000000007f01000000000000000000000000000000000000000000000000000000000000006120ce60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692184660408051602081019390935282015230606082015260800160405160208183030381529060405280519060200120905090565b6040517fff0000000000000000000000000000000000000000000000000000000000000093841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b61213b612316565b612144816127b4565b6040516001600160a01b038216907f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b090600090a250565b612183612316565b80600160035461219391906133eb565b10156121c95760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b6001600160a01b038216158015906121eb57506001600160a01b038216600114155b61221f5760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b038381166000908152600260205260409020548116908316146122735760405162461bcd60e51b8152602060048201526005602482015264475332303560d81b6044820152606401610754565b6001600160a01b03828116600081815260026020526040808220805488861684529183208054929095166001600160a01b031992831617909455918152825490911690915560038054916122c683613522565b90915550506040516001600160a01b038316907ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf90600090a280600454146123115761231181611173565b505050565b3330146123655760405162461bcd60e51b815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610754565b565b60008260000361237957506000610e37565b600061238583856132a3565b90508261239285836133c9565b1461239c57600080fd5b9392505050565b6000806123b083856133b6565b90508381101561239c57600080fd5b600060018360018111156123d5576123d56132ba565b036123ed576000808551602087018986f490506123fd565b600080855160208701888a87f190505b95945050505050565b600081831015612416578161239c565b5090919050565b60008282111561242c57600080fd5b6000610f5e83856133eb565b6000806001600160a01b038316156124505782612452565b325b90506001600160a01b0384166124fd576124843a8610612472573a612474565b855b61247e89896123a3565b90612367565b6040519092506001600160a01b0382169083156108fc029084906000818181858888f193505050506124f85760405162461bcd60e51b815260206004820152600560248201527f47533031310000000000000000000000000000000000000000000000000000006044820152606401610754565b612564565b61250b8561247e89896123a3565b91506125188482846129aa565b6125645760405162461bcd60e51b815260206004820152600560248201527f47533031320000000000000000000000000000000000000000000000000000006044820152606401610754565b5095945050505050565b600454156125be5760405162461bcd60e51b815260206004820152600560248201527f47533230300000000000000000000000000000000000000000000000000000006044820152606401610754565b81518111156125f75760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b6044820152606401610754565b60018110156126305760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b6044820152606401610754565b600160005b8351811015612781576000848281518110612652576126526133fe565b6020026020010151905060006001600160a01b0316816001600160a01b03161415801561268957506001600160a01b038116600114155b801561269e57506001600160a01b0381163014155b80156126bc5750806001600160a01b0316836001600160a01b031614155b6126f05760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b6044820152606401610754565b6001600160a01b0381811660009081526002602052604090205416156127405760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b6044820152606401610754565b6001600160a01b03928316600090815260026020526040902080546001600160a01b03191693821693909317909255806127798161320a565b915050612635565b506001600160a01b0316600090815260026020526040902080546001600160a01b03191660011790559051600355600455565b306001600160a01b0382160361280c5760405162461bcd60e51b815260206004820152600560248201527f47533430300000000000000000000000000000000000000000000000000000006044820152606401610754565b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b600160008190526020527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f546001600160a01b0316156128b25760405162461bcd60e51b815260206004820152600560248201527f47533130300000000000000000000000000000000000000000000000000000006044820152606401610754565b6001600081905260208190527fcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f80546001600160a01b03191690911790556001600160a01b0382161561086557813b61294d5760405162461bcd60e51b815260206004820152600560248201527f47533030320000000000000000000000000000000000000000000000000000006044820152606401610754565b61295e8260008360016000196123bf565b6108655760405162461bcd60e51b815260206004820152600560248201527f47533030300000000000000000000000000000000000000000000000000000006044820152606401610754565b604080516001600160a01b03841660248201526044808201849052825180830390910181526064909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251600093929184919082896127105a03f13d8015612a4a5760208114612a525760009350612a5d565b819350612a5d565b600051158215171593505b5050509392505050565b6001600160a01b0381168114612a7c57600080fd5b50565b8035612a8a81612a67565b919050565b60008060408385031215612aa257600080fd5b8235612aad81612a67565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612ae257600080fd5b813567ffffffffffffffff80821115612afd57612afd612abb565b604051601f8301601f19908116603f01168101908282118183101715612b2557612b25612abb565b81604052838152866020858801011115612b3e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215612b7457600080fd5b84359350602085013567ffffffffffffffff80821115612b9357600080fd5b612b9f88838901612ad1565b94506040870135915080821115612bb557600080fd5b50612bc287828801612ad1565b949793965093946060013593505050565b600060208284031215612be557600080fd5b813561239c81612a67565b803560028110612a8a57600080fd5b60008060008060808587031215612c1557600080fd5b8435612c2081612a67565b935060208501359250604085013567ffffffffffffffff811115612c4357600080fd5b612c4f87828801612ad1565b925050612c5e60608601612bf0565b905092959194509250565b6000815180845260005b81811015612c8f57602081850181015186830182015201612c73565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610f5e6040830184612c69565b60008060408385031215612cdd57600080fd5b50508035926020909101359150565b60208152600061239c6020830184612c69565b600060208284031215612d1157600080fd5b5035919050565b60008083601f840112612d2a57600080fd5b50813567ffffffffffffffff811115612d4257600080fd5b602083019150836020828501011115612d5a57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215612d8357600080fd5b612d8c8c612a7f565b9a5060208c0135995067ffffffffffffffff8060408e01351115612daf57600080fd5b612dbf8e60408f01358f01612d18565b909a509850612dd060608e01612bf0565b975060808d0135965060a08d0135955060c08d01359450612df360e08e01612a7f565b9350612e026101008e01612a7f565b9250806101208e01351115612e1657600080fd5b50612e288d6101208e01358e01612ad1565b90509295989b509295989b9093969950565b600080600060608486031215612e4f57600080fd5b83359250602084013567ffffffffffffffff80821115612e6e57600080fd5b612e7a87838801612ad1565b93506040860135915080821115612e9057600080fd5b50612e9d86828701612ad1565b9150509250925092565b600081518084526020808501945080840160005b83811015612ee05781516001600160a01b031687529582019590820190600101612ebb565b509495945050505050565b60208152600061239c6020830184612ea7565b60008060408385031215612f1157600080fd5b8235612f1c81612a67565b9150602083013567ffffffffffffffff811115612f3857600080fd5b612f4485828601612ad1565b9150509250929050565b6000806000806000806000806000806101008b8d031215612f6e57600080fd5b8a3567ffffffffffffffff80821115612f8657600080fd5b818d0191508d601f830112612f9a57600080fd5b813581811115612fa957600080fd5b8e60208260051b8501011115612fbe57600080fd5b60208381019d50909b508d01359950612fd960408e01612a7f565b985060608d0135915080821115612fef57600080fd5b50612ffc8d828e01612d18565b909750955061300f905060808c01612a7f565b935061301d60a08c01612a7f565b925060c08b0135915061303260e08c01612a7f565b90509295989b9194979a5092959850565b6040815260006130566040830185612ea7565b90506001600160a01b03831660208301529392505050565b60008060008060008060008060008060006101408c8e03121561309057600080fd5b8b3561309b81612a67565b9a5060208c0135995060408c013567ffffffffffffffff8111156130be57600080fd5b6130ca8e828f01612d18565b909a5098506130dd905060608d01612bf0565b965060808c0135955060a08c0135945060c08c0135935060e08c013561310281612a67565b92506101008c013561311381612a67565b809250506101208c013590509295989b509295989b9093969950565b6000806040838503121561314257600080fd5b823561314d81612a67565b9150602083013561315d81612a67565b809150509250929050565b60008060006060848603121561317d57600080fd5b833561318881612a67565b9250602084013561319881612a67565b915060408401356131a881612a67565b809150509250925092565b6000806000606084860312156131c857600080fd5b83356131d381612a67565b925060208401356131e381612a67565b929592945050506040919091013590565b634e487b7160e01b600052601160045260246000fd5b60006001820161321c5761321c6131f4565b5060010190565b6040815260006132366040830185612c69565b82810360208401526123fd8185612c69565b60006020828403121561325a57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461239c57600080fd5b60ff8281168282160390811115610e3757610e376131f4565b8082028115828204841417610e3757610e376131f4565b634e487b7160e01b600052602160045260246000fd5b600281106132ee57634e487b7160e01b600052602160045260246000fd5b9052565b60006101606001600160a01b038f1683528d60208401528060408401528b81840152506101808b8d828501376000838d01820152601f8c01601f1916830161333d606085018d6132d0565b8a60808501528960a08501528860c085015261336460e08501896001600160a01b03169052565b6001600160a01b038716610100850152818482030161012085015261338b82820187612c69565b925050506133a56101408301846001600160a01b03169052565b9d9c50505050505050505050505050565b80820180821115610e3757610e376131f4565b6000826133e657634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610e3757610e376131f4565b634e487b7160e01b600052603260045260246000fd5b6080808252810185905260008660a08301825b8881101561345757823561343a81612a67565b6001600160a01b0316825260209283019290910190600101613427565b50602084019690965250506001600160a01b039283166040820152911660609091015292915050565b60006020828403121561349257600080fd5b8151801515811461239c57600080fd5b8183823760009101908152919050565b6000610160820190508c82526001600160a01b03808d1660208401528b60408401528a60608401526134e7608084018b6132d0565b60a083019890985260c082019690965260e0810194909452918516610100840152909316610120820152610140019190915295945050505050565b600081613531576135316131f4565b50600019019056fea26469706673582212209bcbc2e71222794e10995ae165b9d71f7a026576c65a1cf169606564c80b43ee64736f6c63430008130033608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220f6d0ed3d14d299b553e8beb97bdc4287f01be2c407fb1e65f9f19ca299bb329c64736f6c63430008130033608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a3b082108fec4b938fb56788ed62abaa33867b980c3b3bc10c55af06853f443064736f6c63430008130033a2646970667358221220b22be616182bb1d10dd4b3980d28cd0f7a1e9c78adc37b7289d58a8352c1eebf64736f6c63430008130033a264697066735822122078fc398203f4f473fa5a365212d8bad35606b971758df7a975ec9f02456ac09064736f6c63430008130033","sourceMap":"1374:2342:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:38;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;1763:107:38;;;;;;;;2429:119;;;:::i;3285:429:98:-;;;:::i;:::-;;269:28:100;;;;;-1:-1:-1;;;;;269:28:100;;;4045:101:38;;;:::i;1594:44:98:-;;1634:4;1594:44;;;;;644:25:101;;;632:2;617:18;1594:44:98;498:177:101;1838:1328:98;;;:::i;226:92:38:-;306:4;226:92;;905:138;968:7;905:138;;2159:111:40;2244:19;;-1:-1:-1;;;;;2244:19:40;2159:111;;2572:97;2650:12;;2572:97;;380:708:100;;;;;;:::i;:::-;;:::i;3126:109:38:-;;;:::i;2554:113::-;;;:::i;2452:134:51:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;267:84:99:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:99;;;;;;;;;;267:84;2757:105:40;2839:16;;-1:-1:-1;;;;;2839:16:40;2757:105;;1644:79:98;;;:::i;:::-;;;;;;;;:::i;2276:97:40:-;2354:12;;2276:97;;3221:133:51;;;:::i;2922:141::-;;;:::i;1331:118:38:-;;;:::i;3366:113::-;;;:::i;1540:48:98:-;;;;;;4257:113:38;;;:::i;4152:99::-;;;:::i;2738:178:51:-;;;:::i;:::-;;;;;;;:::i;1876:107:38:-;;;:::i;240:23:100:-;;;;;;;;-1:-1:-1;;;;;240:23:100;;;1885:763;;;;;;:::i;:::-;;:::i;2792:241:38:-;;;:::i;4376:105::-;;;:::i;339:34:100:-;;;;;;1989:232:38;;;:::i;610:85:40:-;678:10;;-1:-1:-1;;;;;678:10:40;610:85;;2673:113:38;;;:::i;439:101::-;;;:::i;2592:140:51:-;;;:::i;:::-;;;;;;;:::i;304:29:100:-;;;;;-1:-1:-1;;;;;304:29:100;;;1537:101:38;;;:::i;3485:113::-;;;:::i;3069:146:51:-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:38;;;:::i;1480:26:98:-;;;;;-1:-1:-1;;;;;1480:26:98;;;3938:101:38;;;:::i;2157:141:51:-;;;:::i;1819:584:44:-;;;:::i;:::-;;;9916:14:101;;9909:22;9891:41;;9879:2;9864:18;1819:584:44;9751:187:101;2461:105:40;2543:16;;-1:-1:-1;;;;;2543:16:40;2461:105;;1644:113:38;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;647:73:39:-;707:6;;-1:-1:-1;;;;;707:6:39;647:73;;546:124:38;;;:::i;324:109::-;;;:::i;2304:142:51:-;;;:::i;3241:119:38:-;;;:::i;1572:26:44:-;;;;;;;;;1512:22:98;;;;;-1:-1:-1;;;;;1512:22:98;;;2050:103:40;2131:15;;2050:103;;1763:107:38;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;3285:429:98:-;3341:35;;;;;;;;;;;;;;;;;;:17;:35::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;3426:8:98;;3386:50;;;;;-1:-1:-1;;;;;3426:8:98;;;3386:50;;;160:74:101;3386:31:98;;;;;133:18:101;;3386:50:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3461:11:98;;3447:26;;;;;-1:-1:-1;;;;;3461:11:98;;;3447:26;;;160:74:101;3447:13:98;;-1:-1:-1;3447:13:98;;-1:-1:-1;133:18:101;;3447:26:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3483:5:98;;3505:15;;3483:54;;;;;-1:-1:-1;;;;;3505:15:98;;;3483:54;;;10857:74:101;1634:4:98;10947:18:101;;;10940:34;3483:5:98;;;-1:-1:-1;3483:13:98;;-1:-1:-1;10830:18:101;;3483:54:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3257:15:98;;-1:-1:-1;;;;;3257:15:98;-1:-1:-1;;;;;3547:41:98;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3609:5:98;;3633:15;;3609:41;;;;;-1:-1:-1;;;;;3633:15:98;;;3609:41;;;160:74:101;3600:54:98;;-1:-1:-1;3609:5:98;;;-1:-1:-1;3609:15:98;;133:18:101;;3609:41:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3652:1;3600:8;:54::i;:::-;317:28:45;309:37;;-1:-1:-1;;;;;3665:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3689:18;:16;:18::i;:::-;3285:429::o;4045:101:38:-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;1838:1328:98:-;1872:21;:19;:21::i;:::-;1903:32;1923:10;678::40;;-1:-1:-1;;;;;678:10:40;;610:85;1923:10:98;1903:11;:32::i;:::-;1946:13;;1960:12;:10;:12::i;:::-;1946:27;;-1:-1:-1;;;;;;1946:27:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;1946:27:98;;;160:74:101;133:18;;1946:27:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;1983:6:98;:23;;;;;2004:1;1983:23;;;644:25:101;-1:-1:-1;;;;;1983:20:98;;;;;;;617:18:101;;1983:23:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2016:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2016:6:98;:26;;;;;2040:1;2016:26;;;644:25:101;-1:-1:-1;;;;;2016:23:98;;;;;;;617:18:101;;2016:26:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2052:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2085:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2077:5:98;:23;;-1:-1:-1;;;;;;2077:23:98;-1:-1:-1;;;;;2077:23:98;;;;;;;;;2110:10;306:4:38;2130:10:98;;2110:31;;-1:-1:-1;;;;;;2110:31:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2110:31:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2110:31:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2151:5:98;;-1:-1:-1;;;;;2151:5:98;;-1:-1:-1;2151:10:98;;-1:-1:-1;2162:12:98;:10;:12::i;:::-;2176:10;;2151:36;;-1:-1:-1;;;;;;2151:36:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2151:36:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2151:36:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2197:5:98;;2208:11;;2221:10;;2197:35;;;;;-1:-1:-1;;;;;2208:11:98;;;2197:35;;;10857:74:101;10947:18;;;10940:34;;;;2197:5:98;;;-1:-1:-1;2197:10:98;;-1:-1:-1;10830:18:101;;2197:35:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2242:5:98;;-1:-1:-1;;;;;2242:5:98;;-1:-1:-1;2242:13:98;;-1:-1:-1;2264:6:98;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2264:6:98;2273:10;;2242:42;;-1:-1:-1;;;;;;2242:42:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2242:42:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2242:42:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2295:8:98;;2304:12;:10;:12::i;:::-;2295:22;;-1:-1:-1;;;;;;2295:22:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;2295:22:98;;;160:74:101;133:18;;2295:22:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2327:5:98;;-1:-1:-1;;;;;2327:5:98;;-1:-1:-1;2327:13:98;;-1:-1:-1;2349:6:98;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2349:6:98;2358:10;;2327:42;;-1:-1:-1;;;;;;2327:42:98;;;;;;;-1:-1:-1;;;;;10875:55:101;;;2327:42:98;;;10857:74:101;10947:18;;;10940:34;10830:18;;2327:42:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;707:6:39;;-1:-1:-1;;;;;707:6:39;2466:31:98;;;;;:::i;:::-;-1:-1:-1;;;;;178:55:101;;;160:74;;148:2;133:18;2466:31:98;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2455:8:98;:42;;-1:-1:-1;;;;;;2455:42:98;-1:-1:-1;;;;;2455:42:98;;;;;;;;;;2581:13;;2595:12;:10;:12::i;:::-;2581:27;;-1:-1:-1;;;;;;2581:27:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;2581:27:98;;;160:74:101;133:18;;2581:27:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2618:6;707::39;;-1:-1:-1;;;;;707:6:39;;647:73;2618:6:98;-1:-1:-1;;;;;2618:24:98;;306:4:38;2618:33:98;;-1:-1:-1;;;;;;2618:33:98;;;;;;;-1:-1:-1;;;;;178:55:101;;;2618:33:98;;;160:74:101;133:18;;2618:33:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;2661:12:98;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2685:31;2719:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2685:55;;2750:46;;:::i;:::-;707:6:39;;-1:-1:-1;;;;;707:6:39;;;2806:30:98;;2883:5;;;2846:19;;;;:44;;;;1634:4;2900:26;;;;:42;;;;2974:1;2952:19;;;:23;2985:27;;;;;;;;3004:8;2985:27;;;;;;;;;3004:8;;2985:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2985:27:98;;;;-1:-1:-1;;;2985:16:98;;;:27;3060:14;:12;:14::i;:::-;-1:-1:-1;;;;;3022:54:98;;;:19;;;:54;3120:38;;;;;:30;;;;;;:38;;3022:6;;3120:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3086:15;:73;;-1:-1:-1;;;;;;3086:73:98;-1:-1:-1;;;;;3086:73:98;;;;;;;;;;-1:-1:-1;;1838:1328:98:o;380:708:100:-;471:16;;443:4;;-1:-1:-1;;;;;471:16:100;459:590;;518:20;541:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;518:45;;577:12;592:3;-1:-1:-1;;;;;592:24:100;;625:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:52:100;;-1:-1:-1;;;;;;592:52:100;;;;;;;-1:-1:-1;;;;;13830:55:101;;;592:52:100;;;13812:74:101;13922:2;13902:18;;;13895:30;642:1:100;13941:18:101;;;13934:29;;;14015:18;;;14008:34;13980:19;;592:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:16;:45;;-1:-1:-1;;;;;;658:45:100;-1:-1:-1;;;;;658:45:100;;;;;;;;717:54;;;-1:-1:-1;;;717:54:100;;;;;14540:74:101;;;;14630:18;;;14623:30;14689:2;14669:18;;;14662:30;14728:17;14708:18;;;14701:45;658::100;;-1:-1:-1;717:8:100;;;;14763:19:101;;717:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;785:45:100;;;-1:-1:-1;;;785:45:100;;-1:-1:-1;;;;;15023:55:101;;785:45:100;;;15005:74:101;15095:18;;;15088:30;;;;15154:2;15134:18;;;15127:30;15193:18;15173;;;15166:46;785:8:100;;-1:-1:-1;785:8:100;;-1:-1:-1;15229:19:101;;785:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:23:100;;-1:-1:-1;884:1:100;;-1:-1:-1;870:16:100;;-1:-1:-1;870:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;870:16:100;;844:42;;920:6;900;907:1;900:9;;;;;;;;:::i;:::-;-1:-1:-1;;;;;900:27:100;;;:9;;;;;;;;;:27;941:16;;:97;;-1:-1:-1;;;941:97:100;;:16;;;:22;;:97;;964:6;;941:16;;;;;;;;;;;;:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:545;;;459:590;-1:-1:-1;;1065:16:100;;-1:-1:-1;;;;;1065:16:100;;380:708::o;3126:109:38:-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:51:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:51;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;1644:79:98:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3221:133:51:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:51;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:51;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:38:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:38;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:51:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:38;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;1885:763:100:-;1971:19;1993:11;;;;;;;;;-1:-1:-1;;;;;1993:11:100;-1:-1:-1;;;;;1993:33:100;;2048:3;2066:6;2086:5;2105:19;2138:1;2153;2168;2191;2223;2240:11;;;;;;;;;-1:-1:-1;;;;;2240:11:100;-1:-1:-1;;;;;2240:17:100;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1993:276;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1993:276:100;;;;;;;;;;;;:::i;:::-;2301:17;;;;;;2371:15;;2363:36;;;;;;;;18820:25:101;;;;18861:18;;;18854:34;;;2301:17:100;;-1:-1:-1;2301:17:100;2280:18;;;;;;2363:7;;;;18793:18:101;;2363:36:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2435:25;;;;;;19480:19:101;;;19515:12;;;19508:28;;;19588:66;19574:3;19570:16;;;19566:89;19552:12;;;19545:111;2435:25:100;;;;;;;;;19672:12:101;;;2435:25:100;;;;2489:11;;:152;;;;19570:16:101;;-1:-1:-1;19480:19:101;;-1:-1:-1;19508:28:101;;-1:-1:-1;2489:11:100;;;-1:-1:-1;;;;;2489:11:100;;:27;;:152;;2538:3;;2544:6;;2552:5;;-1:-1:-1;;;;;;;;;;;;2435:25:100;;2489:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1961:687;;;;;;1885:763;;;:::o;2792:241:38:-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:38;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:38;;;-1:-1:-1;;;;;2926:32:38;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:38;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:38:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:38;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:38;;;-1:-1:-1;;;;;2120:29:38;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:51:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:38;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:51:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:38;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:38;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:38;;;-1:-1:-1;;;;;3738:32:38;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:51:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:44;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:44;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;10857:74:101;;;-1:-1:-1;;;10947:18:101;;;10940:34;2196:43:44;;;;;;;;;10830:18:101;;;2196:43:44;;;-1:-1:-1;;1671:64:44;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:44;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:44:o;1644:113:38:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:51:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:51;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:38:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:49;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:49;20439:125;-1:-1:-1;;20439:125:49:o;357:192:99:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;432:111;357:192;:::o;5209:262:44:-;5271:1;5266;:6;5262:203;;5293:41;;;;;24270:2:101;24252:21;;;24309:2;24289:18;;;24282:30;24348:34;24343:2;24328:18;;24321:62;24419:4;24414:2;24399:18;;24392:32;24456:3;24441:19;;24068:398;5293:41:44;;;;;;;;5353:31;;;24683:21:101;;;24740:2;24720:18;;;24713:30;24779:12;24774:2;24759:18;;24752:40;24859:4;24844:20;;24837:36;;;5353:31:44;;;;;;;24824:3:101;5353:31:44;;;5403;;;25096:21:101;;;25153:2;25133:18;;;25126:30;25192:12;25187:2;25172:18;;25165:40;25272:4;25257:20;;25250:36;;;5403:31:44;;;;;;;25237:3:101;5403:31:44;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;555:396:99:-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:99;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;555:396::o;1114:930:40:-;1164:17;:15;:17::i;:::-;1192:8;;1201:12;:10;:12::i;:::-;1192:22;;-1:-1:-1;;;;;;1192:22:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1192:22:40;;;160:74:101;133:18;;1192:22:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1242:10;;;;;;;;;-1:-1:-1;;;;;1242:10:40;-1:-1:-1;;;;;1242:24:40;;1280:1;1301:48;;;;;;;;1321:1;1301:48;;;;;;;;;;;;;;;;;;;;;;;;1351:12;:10;:12::i;:::-;1365:15;:13;:15::i;:::-;1242:148;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1224:15;:166;;;1422:10;;:42;;-1:-1:-1;;;1422:42:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1422:10:40;;:25;;617:18:101;;1422:42:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1422:42:40;;;;;;;;;;;;:::i;:::-;:49;;;1400:19;:71;;-1:-1:-1;;;;;;1400:71:40;-1:-1:-1;;;;;1400:71:40;;;;;;;;;1482:8;;1491:16;:14;:16::i;:::-;1482:26;;-1:-1:-1;;;;;;1482:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1482:26:40;;;160:74:101;133:18;;1482:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:10;;;;;;;;;-1:-1:-1;;;;;1533:10:40;-1:-1:-1;;;;;1533:24:40;;1571:1;1587:44;;;;;;;;1607:1;1587:44;;;;;;;;;;;;;;;;;;;;;;;;1633:16;:14;:16::i;:::-;1651:18;:16;:18::i;:::-;1533:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1518:12;:161;;;1708:10;;:39;;-1:-1:-1;;;1708:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1708:10:40;;:25;;617:18:101;;1708:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1708:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1689:16;:65;;-1:-1:-1;;;;;;1689:65:40;-1:-1:-1;;;;;1689:65:40;;;;;;;;;1765:8;;1774:16;:14;:16::i;:::-;1765:26;;-1:-1:-1;;;;;;1765:26:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;1765:26:40;;;160:74:101;133:18;;1765:26:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1816:10;;;;;;;;;-1:-1:-1;;;;;1816:10:40;-1:-1:-1;;;;;1816:24:40;;1854:1;1870:44;;;;;;;;1890:1;1870:44;;;;;;;;;;;;;;;;;;;;;;;;1916:16;:14;:16::i;:::-;1934:18;:16;:18::i;:::-;1816:146;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1801:12;:161;;;1991:10;;:39;;-1:-1:-1;;;1991:39:40;;;;;644:25:101;;;;-1:-1:-1;;;;;1991:10:40;;:25;;617:18:101;;1991:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1991:39:40;;;;;;;;;;;;:::i;:::-;:46;;;1972:16;:65;;-1:-1:-1;;;;;;1972:65:40;-1:-1:-1;;;;;1972:65:40;;;;;;;;;1114:930::o;283:358:39:-;342:13;;356:12;:10;:12::i;:::-;342:27;;-1:-1:-1;;;;;;342:27:39;;;;;;;-1:-1:-1;;;;;178:55:101;;;342:27:39;;;160:74:101;133:18;;342:27:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;388:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:39;:19;;-1:-1:-1;;;;;;379:19:39;-1:-1:-1;;;;;379:19:39;;;;;;;;;409:17;440:12;:10;:12::i;:::-;476:9;512:15;:13;:15::i;:::-;409:201;;;;;;-1:-1:-1;;;;;;409:201:39;;;-1:-1:-1;;;;;32076:15:101;;;409:201:39;;;32058:34:101;32128:15;;;32108:18;;;32101:43;32180:15;;;32160:18;;;32153:43;554:4:39;32212:18:101;;;32205:34;-1:-1:-1;32255:19:101;;;32248:35;31969:19;;409:201:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:45;309:37;;-1:-1:-1;;;;;620:12:39;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;283:358;:::o;1094:785:100:-;1177:15;;1169:24;;;;;1136:4;;1169:7;;;;:24;;;;644:25:101;;;632:2;617:18;;498:177;1169:24:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1152:14;:41;;-1:-1:-1;;;;;;1152:41:100;-1:-1:-1;;;;;1152:41:100;;;;;;;;;1203:42;;;-1:-1:-1;;;1203:42:100;;;;;32506:74:101;;;;32596:18;;;32589:30;32655:2;32635:18;;;32628:30;32694:16;32674:18;;;32667:44;1203:8:100;;;;32728:19:101;;1203:42:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1268:11:100;;;;;-1:-1:-1;;;;;1268:11:100;;-1:-1:-1;1256:589:100;;-1:-1:-1;1256:589:100;1310:20;1333:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1310:45;;1369:12;1384:3;-1:-1:-1;;;;;1384:24:100;;1417:10;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1384:52:100;;-1:-1:-1;;;;;;1384:52:100;;;;;;;-1:-1:-1;;;;;13830:55:101;;;1384:52:100;;;13812:74:101;13922:2;13902:18;;;13895:30;1434:1:100;13941:18:101;;;13934:29;;;14015:18;;;14008:34;13980:19;;1384:52:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1450:11;:40;;;;;-1:-1:-1;;;;;1450:40:100;;;;;;;;;;;;;1504:60;;;;;;;;;;;;;;;;;1450:40;;-1:-1:-1;1504:60:100;;;1551:11;;1504;:60::i;:::-;1595:11;;1578:45;;;-1:-1:-1;;;1578:45:100;;1595:11;;;;-1:-1:-1;;;;;1595:11:100;1578:45;;;32970:74:101;33060:18;;;33053:30;33119:2;33099:18;;;33092:30;33158:13;33138:18;;;33131:41;1578:8:100;;;;33189:19:101;;1578:45:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1637:23:100;;-1:-1:-1;1677:1:100;;-1:-1:-1;1663:16:100;;-1:-1:-1;1663:16:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:16:100;-1:-1:-1;1713:14:100;;1693:9;;1637:42;;-1:-1:-1;;;;;;1713:14:100;;1637:42;;1713:14;;1693:9;;;;:::i;:::-;-1:-1:-1;;;;;1693:35:100;;;:9;;;;;;;;;:35;1742:11;;:92;;-1:-1:-1;;;1742:92:100;;:11;;;;;;;;:17;;:92;;1760:6;;1742:11;;1779:1;;;;;;;;;;1742:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1296:549;;;1256:589;-1:-1:-1;1861:11:100;;;;;-1:-1:-1;;;;;1861:11:100;;1094:785::o;20158:242:49:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:49;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;644:25:101;;;20293:33:49;-1:-1:-1;20344:7:49;;;;617:18:101;;20344:19:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:49;;20337:26;;-1:-1:-1;20373:8:49;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;2409:432:44:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;34060:74:101;;;-1:-1:-1;;;34150:18:101;;;34143:34;;;;2712:4:44;34193:18:101;;;34186:34;2489:11:44;;1671:64;2586:43;;34033:18:101;;2652:67:44;;;-1:-1:-1;;2652:67:44;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:44;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:44;2820:7;:14;;-1:-1:-1;;2820:14:44;;;;;2409:432::o;475:129:40:-;534:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;521:10:40;:27;;-1:-1:-1;;;;;;521:27:40;-1:-1:-1;;;;;521:27:40;;;;;;;;;558:21;580:16;:14;:16::i;:::-;558:39;;-1:-1:-1;;;;;;558:39:40;;;;;;;-1:-1:-1;;;;;178:55:101;;;558:39:40;;;160:74:101;133:18;;558:39:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;475:129::o;6994:145:59:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:59;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:59;;;;;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;862:154:101:-;-1:-1:-1;;;;;941:5:101;937:54;930:5;927:65;917:93;;1006:1;1003;996:12;1021:247;1080:6;1133:2;1121:9;1112:7;1108:23;1104:32;1101:52;;;1149:1;1146;1139:12;1101:52;1188:9;1175:23;1207:31;1232:5;1207:31;:::i;:::-;1257:5;1021:247;-1:-1:-1;;;1021:247:101:o;1273:484::-;1326:3;1364:5;1358:12;1391:6;1386:3;1379:19;1417:4;1446:2;1441:3;1437:12;1430:19;;1483:2;1476:5;1472:14;1504:1;1514:218;1528:6;1525:1;1522:13;1514:218;;;1593:13;;-1:-1:-1;;;;;1589:62:101;1577:75;;1672:12;;;;1707:15;;;;1550:1;1543:9;1514:218;;;-1:-1:-1;1748:3:101;;1273:484;-1:-1:-1;;;;;1273:484:101:o;1762:261::-;1941:2;1930:9;1923:21;1904:4;1961:56;2013:2;2002:9;1998:18;1990:6;1961:56;:::i;2028:250::-;2113:1;2123:113;2137:6;2134:1;2131:13;2123:113;;;2213:11;;;2207:18;2194:11;;;2187:39;2159:2;2152:10;2123:113;;;-1:-1:-1;;2270:1:101;2252:16;;2245:27;2028:250::o;2283:271::-;2325:3;2363:5;2357:12;2390:6;2385:3;2378:19;2406:76;2475:6;2468:4;2463:3;2459:14;2452:4;2445:5;2441:16;2406:76;:::i;:::-;2536:2;2515:15;-1:-1:-1;;2511:29:101;2502:39;;;;2543:4;2498:50;;2283:271;-1:-1:-1;;2283:271:101:o;2559:1767::-;2794:2;2846:21;;;2916:13;;2819:18;;;2938:22;;;2765:4;;2794:2;2979;;2997:18;;;;3034:1;3077:15;;;3062:31;;3058:40;;3121:15;;;2765:4;;3185:1112;3201:6;3196:3;3193:15;3185:1112;;;-1:-1:-1;;3270:22:101;;;3266:36;3254:49;;3326:13;;3413:9;;-1:-1:-1;;;;;3409:58:101;3394:74;;3507:11;;3501:18;3539:15;;;3532:27;;;3620:19;;3366:15;;;3652:24;;;3833:21;;;;3699:2;3781:17;;;3769:30;;3765:39;;;3723:15;;;;3878:1;3892:296;3908:8;3903:3;3900:17;3892:296;;;4014:2;4010:7;4001:6;3993;3989:19;3985:33;3978:5;3971:48;4046:42;4081:6;4070:8;4064:15;4046:42;:::i;:::-;4117:17;;;;4036:52;-1:-1:-1;4160:14:101;;;;3936:1;3927:11;3892:296;;;-1:-1:-1;;;4275:12:101;;;;4211:6;-1:-1:-1;;4240:15:101;;;;3227:1;3218:11;3185:1112;;;-1:-1:-1;4314:6:101;;2559:1767;-1:-1:-1;;;;;;;;;;2559:1767:101:o;4331:118::-;4417:5;4410:13;4403:21;4396:5;4393:32;4383:60;;4439:1;4436;4429:12;4454:241;4510:6;4563:2;4551:9;4542:7;4538:23;4534:32;4531:52;;;4579:1;4576;4569:12;4531:52;4618:9;4605:23;4637:28;4659:5;4637:28;:::i;4700:291::-;4877:6;4866:9;4859:25;4920:2;4915;4904:9;4900:18;4893:30;4840:4;4940:45;4981:2;4970:9;4966:18;4958:6;4940:45;:::i;:::-;4932:53;4700:291;-1:-1:-1;;;;4700:291:101:o;4996:1638::-;5200:4;5229:2;5269;5258:9;5254:18;5299:2;5288:9;5281:21;5322:6;5357;5351:13;5388:6;5380;5373:22;5414:2;5404:12;;5447:2;5436:9;5432:18;5425:25;;5509:2;5499:6;5496:1;5492:14;5481:9;5477:30;5473:39;5547:2;5539:6;5535:15;5568:1;5589;5599:1006;5615:6;5610:3;5607:15;5599:1006;;;5684:22;;;-1:-1:-1;;5680:36:101;5668:49;;5740:13;;5827:9;;-1:-1:-1;;;;;5823:58:101;5808:74;;5921:11;;5915:18;5953:15;;;5946:27;;;6034:19;;5780:15;;;6066:24;;;6156:21;;;;6201:1;;6124:2;6112:15;;;6215:282;6231:8;6226:3;6223:17;6215:282;;;6312:15;;-1:-1:-1;;;;;;6308:88:101;6294:103;;6466:17;;;;6259:1;6250:11;;;;;6423:14;;;;6215:282;;;-1:-1:-1;6583:12:101;;;;6520:5;-1:-1:-1;;;6548:15:101;;;;5641:1;5632:11;5599:1006;;;-1:-1:-1;6622:6:101;;4996:1638;-1:-1:-1;;;;;;;;;4996:1638:101:o;6639:184::-;-1:-1:-1;;;6688:1:101;6681:88;6788:4;6785:1;6778:15;6812:4;6809:1;6802:15;6828:253;6900:2;6894:9;6942:4;6930:17;;6977:18;6962:34;;6998:22;;;6959:62;6956:88;;;7024:18;;:::i;:::-;7060:2;7053:22;6828:253;:::o;7086:275::-;7157:2;7151:9;7222:2;7203:13;;-1:-1:-1;;7199:27:101;7187:40;;7257:18;7242:34;;7278:22;;;7239:62;7236:88;;;7304:18;;:::i;:::-;7340:2;7333:22;7086:275;;-1:-1:-1;7086:275:101:o;7366:186::-;7414:4;7447:18;7439:6;7436:30;7433:56;;;7469:18;;:::i;:::-;-1:-1:-1;7535:2:101;7514:15;-1:-1:-1;;7510:29:101;7541:4;7506:40;;7366:186::o;7557:874::-;7643:6;7651;7659;7712:2;7700:9;7691:7;7687:23;7683:32;7680:52;;;7728:1;7725;7718:12;7680:52;7767:9;7754:23;7786:31;7811:5;7786:31;:::i;:::-;7836:5;-1:-1:-1;7888:2:101;7873:18;;7860:32;;-1:-1:-1;7943:2:101;7928:18;;7915:32;7970:18;7959:30;;7956:50;;;8002:1;7999;7992:12;7956:50;8025:22;;8078:4;8070:13;;8066:27;-1:-1:-1;8056:55:101;;8107:1;8104;8097:12;8056:55;8143:2;8130:16;8168:48;8184:31;8212:2;8184:31;:::i;:::-;8168:48;:::i;:::-;8239:2;8232:5;8225:17;8279:7;8274:2;8269;8265;8261:11;8257:20;8254:33;8251:53;;;8300:1;8297;8290:12;8251:53;8355:2;8350;8346;8342:11;8337:2;8330:5;8326:14;8313:45;8399:1;8394:2;8389;8382:5;8378:14;8374:23;8367:34;8420:5;8410:15;;;;;7557:874;;;;;:::o;8684:803::-;8846:4;8875:2;8915;8904:9;8900:18;8945:2;8934:9;8927:21;8968:6;9003;8997:13;9034:6;9026;9019:22;9072:2;9061:9;9057:18;9050:25;;9134:2;9124:6;9121:1;9117:14;9106:9;9102:30;9098:39;9084:53;;9172:2;9164:6;9160:15;9193:1;9203:255;9217:6;9214:1;9211:13;9203:255;;;9310:2;9306:7;9294:9;9286:6;9282:22;9278:36;9273:3;9266:49;9338:40;9371:6;9362;9356:13;9338:40;:::i;:::-;9328:50;-1:-1:-1;9436:12:101;;;;9401:15;;;;9239:1;9232:9;9203:255;;;-1:-1:-1;9475:6:101;;8684:803;-1:-1:-1;;;;;;;8684:803:101:o;10985:245::-;11052:6;11105:2;11093:9;11084:7;11080:23;11076:32;11073:52;;;11121:1;11118;11111:12;11073:52;11153:9;11147:16;11172:28;11194:5;11172:28;:::i;11235:184::-;11305:6;11358:2;11346:9;11337:7;11333:23;11329:32;11326:52;;;11374:1;11371;11364:12;11326:52;-1:-1:-1;11397:16:101;;11235:184;-1:-1:-1;11235:184:101:o;11614:437::-;11693:1;11689:12;;;;11736;;;11757:61;;11811:4;11803:6;11799:17;11789:27;;11757:61;11864:2;11856:6;11853:14;11833:18;11830:38;11827:218;;-1:-1:-1;;;11898:1:101;11891:88;12002:4;11999:1;11992:15;12030:4;12027:1;12020:15;11827:218;;11614:437;;;:::o;12056:252::-;12143:5;12137:12;12132:3;12125:25;12107:3;12196:4;12189:5;12185:16;12179:23;12234:4;12227;12222:3;12218:14;12211:28;12255:47;12296:4;12291:3;12287:14;12273:12;12255:47;:::i;12313:848::-;12512:2;12501:9;12494:21;12475:4;-1:-1:-1;;;;;12631:2:101;12622:6;12616:13;12612:22;12607:2;12596:9;12592:18;12585:50;12699:2;12693;12685:6;12681:15;12675:22;12671:31;12666:2;12655:9;12651:18;12644:59;12757:2;12749:6;12745:15;12739:22;12734:2;12723:9;12719:18;12712:50;12817:2;12809:6;12805:15;12799:22;12793:3;12782:9;12778:19;12771:51;12877:3;12869:6;12865:16;12859:23;12853:3;12842:9;12838:19;12831:52;12930:3;12922:6;12918:16;12912:23;12972:4;12966:3;12955:9;12951:19;12944:33;13000:61;13056:3;13045:9;13041:19;13027:12;13000:61;:::i;:::-;12986:75;;13128:2;13121:3;13113:6;13109:16;13103:23;13099:32;13092:4;13081:9;13077:20;13070:62;13149:6;13141:14;;;;12313:848;;;;:::o;13166:138::-;13245:13;;13267:31;13245:13;13267:31;:::i;13309:251::-;13379:6;13432:2;13420:9;13411:7;13407:23;13403:32;13400:52;;;13448:1;13445;13438:12;13400:52;13480:9;13474:16;13499:31;13524:5;13499:31;:::i;15259:184::-;-1:-1:-1;;;15308:1:101;15301:88;15408:4;15405:1;15398:15;15432:4;15429:1;15422:15;15448:1065;15890:4;15919:3;15949:2;15938:9;15931:21;15975:56;16027:2;16016:9;16012:18;16004:6;15975:56;:::i;:::-;16062:2;16047:18;;;16040:34;;;;-1:-1:-1;;;;;16171:15:101;;;16166:2;16151:18;;16144:43;16223:22;;;16218:2;16203:18;;16196:50;-1:-1:-1;16255:17:101;;16341:15;;;16335:3;16320:19;;16313:44;-1:-1:-1;;16394:15:101;;;16388:3;16373:19;;16366:44;16441:3;16426:19;;16419:35;;;;16491:15;;;16485:3;16470:19;;;16463:44;;;;16289:15;;15448:1065;-1:-1:-1;15448:1065:101:o;16518:294::-;16599:1;16592:5;16589:12;16579:200;;-1:-1:-1;;;16632:1:101;16625:88;16736:4;16733:1;16726:15;16764:4;16761:1;16754:15;16579:200;16788:18;;16518:294::o;16817:1037::-;17224:4;17253:3;-1:-1:-1;;;;;17356:2:101;17348:6;17344:15;17333:9;17326:34;17396:6;17391:2;17380:9;17376:18;17369:34;17439:2;17434;17423:9;17419:18;17412:30;17459:45;17500:2;17489:9;17485:18;17477:6;17459:45;:::i;:::-;17451:53;;17513;17562:2;17551:9;17547:18;17539:6;17513:53;:::i;:::-;17597:3;17582:19;;17575:35;;;;-1:-1:-1;17641:3:101;17626:19;;17619:35;;;;17685:3;17670:19;;17663:35;;;;17735:15;;;17729:3;17714:19;;17707:44;17788:15;;;17782:3;17767:19;;17760:44;17835:3;17820:19;17813:35;;;;16817:1037;;-1:-1:-1;;;;16817:1037:101:o;17859:320::-;17934:5;17963:52;17979:35;18007:6;17979:35;:::i;17963:52::-;17954:61;;18038:6;18031:5;18024:21;18078:3;18069:6;18064:3;18060:16;18057:25;18054:45;;;18095:1;18092;18085:12;18054:45;18108:65;18166:6;18159:4;18152:5;18148:16;18143:3;18108:65;:::i;18184:457::-;18263:6;18316:2;18304:9;18295:7;18291:23;18287:32;18284:52;;;18332:1;18329;18322:12;18284:52;18365:9;18359:16;18398:18;18390:6;18387:30;18384:50;;;18430:1;18427;18420:12;18384:50;18453:22;;18506:4;18498:13;;18494:27;-1:-1:-1;18484:55:101;;18535:1;18532;18525:12;18484:55;18558:77;18627:7;18622:2;18616:9;18611:2;18607;18603:11;18558:77;:::i;18899:395::-;18985:6;18993;19001;19054:2;19042:9;19033:7;19029:23;19025:32;19022:52;;;19070:1;19067;19060:12;19022:52;19102:9;19096:16;19152:4;19145:5;19141:16;19134:5;19131:27;19121:55;;19172:1;19169;19162:12;19121:55;19240:2;19225:18;;19219:25;19284:2;19269:18;;;19263:25;19195:5;;19219:25;;-1:-1:-1;19263:25:101;18899:395;-1:-1:-1;;;18899:395:101:o;19695:1135::-;20128:4;20157:3;-1:-1:-1;;;;;20260:2:101;20252:6;20248:15;20237:9;20230:34;20300:6;20295:2;20284:9;20280:18;20273:34;20343:2;20338;20327:9;20323:18;20316:30;20369:45;20410:2;20399:9;20395:18;20387:6;20369:45;:::i;:::-;20355:59;;20423:53;20472:2;20461:9;20457:18;20449:6;20423:53;:::i;:::-;20513:6;20507:3;20496:9;20492:19;20485:35;20557:6;20551:3;20540:9;20536:19;20529:35;20601:6;20595:3;20584:9;20580:19;20573:35;20657:2;20649:6;20645:15;20639:3;20628:9;20624:19;20617:44;20710:2;20702:6;20698:15;20692:3;20681:9;20677:19;20670:44;;20763:9;20755:6;20751:22;20745:3;20734:9;20730:19;20723:51;20791:33;20817:6;20809;20791:33;:::i;:::-;20783:41;19695:1135;-1:-1:-1;;;;;;;;;;;;;19695:1135:101:o;21137:430::-;-1:-1:-1;;;;;;21326:6:101;21322:79;21317:3;21310:92;21292:3;21431:6;21425:13;21447:74;21514:6;21510:1;21505:3;21501:11;21494:4;21486:6;21482:17;21447:74;:::i;:::-;21541:16;;;;21559:1;21537:24;;21137:430;-1:-1:-1;;;21137:430:101:o;21572:287::-;21701:3;21739:6;21733:13;21755:66;21814:6;21809:3;21802:4;21794:6;21790:17;21755:66;:::i;:::-;21837:16;;;;;21572:287;-1:-1:-1;;21572:287:101:o;21990:545::-;22092:2;22087:3;22084:11;22081:448;;;22128:1;22153:5;22149:2;22142:17;22198:4;22194:2;22184:19;22268:2;22256:10;22252:19;22249:1;22245:27;22239:4;22235:38;22304:4;22292:10;22289:20;22286:47;;;-1:-1:-1;22327:4:101;22286:47;22382:2;22377:3;22373:12;22370:1;22366:20;22360:4;22356:31;22346:41;;22437:82;22455:2;22448:5;22445:13;22437:82;;;22500:17;;;22481:1;22470:13;22437:82;;;22441:3;;;22081:448;21990:545;;;:::o;22711:1352::-;22837:3;22831:10;22864:18;22856:6;22853:30;22850:56;;;22886:18;;:::i;:::-;22915:97;23005:6;22965:38;22997:4;22991:11;22965:38;:::i;:::-;22959:4;22915:97;:::i;:::-;23067:4;;23131:2;23120:14;;23148:1;23143:663;;;;23850:1;23867:6;23864:89;;;-1:-1:-1;23919:19:101;;;23913:26;23864:89;-1:-1:-1;;22668:1:101;22664:11;;;22660:24;22656:29;22646:40;22692:1;22688:11;;;22643:57;23966:81;;23113:944;;23143:663;21937:1;21930:14;;;21974:4;21961:18;;-1:-1:-1;;23179:20:101;;;23297:236;23311:7;23308:1;23305:14;23297:236;;;23400:19;;;23394:26;23379:42;;23492:27;;;;23460:1;23448:14;;;;23327:19;;23297:236;;;23301:3;23561:6;23552:7;23549:19;23546:201;;;23622:19;;;23616:26;-1:-1:-1;;23705:1:101;23701:14;;;23717:3;23697:24;23693:37;23689:42;23674:58;23659:74;;23546:201;-1:-1:-1;;;;;23793:1:101;23777:14;;;23773:22;23760:36;;-1:-1:-1;22711:1352:101:o;25297:282::-;25364:9;;;25385:11;;;25382:191;;;-1:-1:-1;;;25426:1:101;25419:88;25530:4;25527:1;25520:15;25558:4;25555:1;25548:15;25382:191;25297:282;;;;:::o;25584:979::-;25813:3;25842:1;25875:6;25869:13;25905:36;25931:9;25905:36;:::i;:::-;25960:1;25977:18;;;26004:133;;;;26151:1;26146:356;;;;25970:532;;26004:133;-1:-1:-1;;26037:24:101;;26025:37;;26110:14;;26103:22;26091:35;;26082:45;;;-1:-1:-1;26004:133:101;;26146:356;26177:6;26174:1;26167:17;26207:4;26252:2;26249:1;26239:16;26277:1;26291:165;26305:6;26302:1;26299:13;26291:165;;;26383:14;;26370:11;;;26363:35;26426:16;;;;26320:10;;26291:165;;;26295:3;;;26485:6;26480:3;26476:16;26469:23;;25970:532;-1:-1:-1;;26523:6:101;26511:19;;-1:-1:-1;;26555:1:101;26546:11;;25584:979;-1:-1:-1;;;25584:979:101:o;26568:291::-;26745:2;26734:9;26727:21;26708:4;26765:45;26806:2;26795:9;26791:18;26783:6;26765:45;:::i;:::-;26757:53;;26846:6;26841:2;26830:9;26826:18;26819:34;26568:291;;;;;:::o;26864:902::-;27288:6;27277:9;27270:25;27331:3;27326:2;27315:9;27311:18;27304:31;27372:2;27366:3;27355:9;27351:19;27344:31;27412:16;27406:3;27395:9;27391:19;27384:45;27465:3;27460:2;27449:9;27445:18;27438:31;27251:4;27492:55;27542:3;27531:9;27527:19;27519:6;27492:55;:::i;:::-;-1:-1:-1;;;;;27587:6:101;27583:55;27578:2;27567:9;27563:18;27556:83;27688:9;27680:6;27676:22;27670:3;27659:9;27655:19;27648:51;27716:44;27753:6;27745;27716:44;:::i;:::-;27708:52;26864:902;-1:-1:-1;;;;;;;26864:902:101:o;27960:236::-;28014:5;28067:3;28060:4;28052:6;28048:17;28044:27;28034:55;;28085:1;28082;28075:12;28034:55;28107:83;28186:3;28177:6;28171:13;28164:4;28156:6;28152:17;28107:83;:::i;28201:618::-;28267:5;28315:4;28303:9;28298:3;28294:19;28290:30;28287:50;;;28333:1;28330;28323:12;28287:50;28366:4;28360:11;28410:4;28402:6;28398:17;28434:18;28502:6;28490:10;28487:22;28482:2;28470:10;28467:18;28464:46;28461:72;;;28513:18;;:::i;:::-;28555:10;28549:4;28542:24;28584:6;28575:15;;28620:9;28614:16;28606:6;28599:32;28675:2;28664:9;28660:18;28654:25;28640:39;;28702:2;28694:6;28691:14;28688:34;;;28718:1;28715;28708:12;28688:34;;28755:57;28808:3;28799:6;28788:9;28784:22;28755:57;:::i;:::-;28750:2;28742:6;28738:15;28731:82;;;28201:618;;;;:::o;28824:1059::-;28919:6;28972:2;28960:9;28951:7;28947:23;28943:32;28940:52;;;28988:1;28985;28978:12;28940:52;29021:9;29015:16;29050:18;29091:2;29083:6;29080:14;29077:34;;;29107:1;29104;29097:12;29077:34;29130:22;;;;29186:4;29168:16;;;29164:27;29161:47;;;29204:1;29201;29194:12;29161:47;29230:22;;:::i;:::-;29281:2;29275:9;29268:5;29261:24;29331:2;29327;29323:11;29317:18;29312:2;29305:5;29301:14;29294:42;29375:2;29371;29367:11;29361:18;29404:2;29394:8;29391:16;29388:36;;;29420:1;29417;29410:12;29388:36;29456:56;29504:7;29493:8;29489:2;29485:17;29456:56;:::i;:::-;29451:2;29444:5;29440:14;29433:80;;29552:2;29548;29544:11;29538:18;29581:2;29571:8;29568:16;29565:36;;;29597:1;29594;29587:12;29565:36;29633:65;29690:7;29679:8;29675:2;29671:17;29633:65;:::i;:::-;29628:2;29621:5;29617:14;29610:89;;29732:43;29770:3;29766:2;29762:12;29732:43;:::i;:::-;29726:3;29719:5;29715:15;29708:68;29809:43;29847:3;29843:2;29839:12;29809:43;:::i;:::-;29803:3;29792:15;;29785:68;29796:5;28824:1059;-1:-1:-1;;;;;28824:1059:101:o;29888:896::-;30312:6;30301:9;30294:25;30355:3;30350:2;30339:9;30335:18;30328:31;30396:1;30390:3;30379:9;30375:19;30368:30;30435:11;30429:3;30418:9;30414:19;30407:40;30483:3;30478:2;30467:9;30463:18;30456:31;30275:4;30510:55;30560:3;30549:9;30545:19;30537:6;30510:55;:::i;30789:896::-;31213:6;31202:9;31195:25;31256:3;31251:2;31240:9;31236:18;31229:31;31297:1;31291:3;31280:9;31276:19;31269:30;31336:11;31330:3;31319:9;31315:19;31308:40;31384:3;31379:2;31368:9;31364:18;31357:31;31176:4;31411:55;31461:3;31450:9;31446:19;31438:6;31411:55;:::i;33513:340::-;-1:-1:-1;;;;;33694:6:101;33690:55;33679:9;33672:74;33782:2;33777;33766:9;33762:18;33755:30;33653:4;33802:45;33843:2;33832:9;33828:18;33820:6;33802:45;:::i;34231:340::-;34408:2;34397:9;34390:21;34371:4;34428:45;34469:2;34458:9;34454:18;34446:6;34428:45;:::i;:::-;34420:53;;-1:-1:-1;;;;;34513:6:101;34509:55;34504:2;34493:9;34489:18;34482:83;34231:340;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","MINIMUM_STAKE()":"08dbbb03","NATIVE()":"a0cf0aea","_councilSafeWithOwner(address)":"1ae726d9","allo()":"d6d8428d","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","councilMember1()":"896546a1","councilMemberPK()":"7658524d","councilSafe()":"6c53db9a","councilSafeOwner()":"0522b7db","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","metadata()":"392f37e9","mintAmount()":"5a2bcc18","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","safeHelper(address,uint256,bytes)":"6db52510","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_stakeAndRegisterMember()":"0354ae60","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_STAKE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"_councilSafeWithOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract Allo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMember1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilMemberPK\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafeOwner\",\"outputs\":[{\"internalType\":\"contract Safe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data_\",\"type\":\"bytes\"}],\"name\":\"safeHelper\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"contract CVStrategy\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/RegistryTest.t.sol\":\"RegistryTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/AlloSetup.sol\":{\"keccak256\":\"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3\",\"dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]},\"lib/allo-v2/test/utils/MockStrategy.sol\":{\"keccak256\":\"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c\",\"dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8\"]},\"lib/allo-v2/test/utils/TestStrategy.sol\":{\"keccak256\":\"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5\",\"dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85\",\"dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e\",\"dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32\",\"dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90\",\"dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1\",\"dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070\",\"dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/safe-contracts/contracts/Safe.sol\":{\"keccak256\":\"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119\",\"dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c\",\"dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e\",\"dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64\",\"dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d\",\"dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a\",\"dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34\",\"dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo\"]},\"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol\":{\"keccak256\":\"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9\",\"dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3\",\"dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3\",\"dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80\",\"dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde\",\"dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e\",\"dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ\"]},\"lib/safe-contracts/contracts/external/SafeMath.sol\":{\"keccak256\":\"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c\",\"dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89\",\"dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25\",\"dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099\",\"dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7\"]},\"lib/safe-contracts/contracts/proxies/SafeProxy.sol\":{\"keccak256\":\"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec\",\"dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP\"]},\"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol\":{\"keccak256\":\"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26\",\"dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11\",\"dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951\",\"dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN\"]},\"pkg/contracts/src/RegistryGardens.sol\":{\"keccak256\":\"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132\",\"dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb\"]},\"pkg/contracts/test/RegistryTest.t.sol\":{\"keccak256\":\"0xec1195e8cceb42e3d733b34ca807c0cf415d73bb7a64c119b97d45a968528fe8\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6ef246c8d5efc3d8ab2e9324b2c8da413dbbb49aed09a65aa26325684778aae4\",\"dweb:/ipfs/QmZX3cWu9cydo8ezty9T3FxQqimQW9bfWzDWRyC4vsYgvu\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]},\"pkg/contracts/test/shared/SafeSetup.sol\":{\"keccak256\":\"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8\",\"dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINIMUM_STAKE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"_councilSafeWithOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract Allo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMember1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilMemberPK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafeOwner","outputs":[{"internalType":"contract Safe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeHelper"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"contract CVStrategy","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_stakeAndRegisterMember"},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract MockERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/RegistryTest.t.sol":"RegistryTest"},"libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/AlloSetup.sol":{"keccak256":"0xc3043a3bc8f280688b9ddf0925e51886a7eede4d55ea197e2a6c4c4529016cf5","urls":["bzz-raw://865359aed9fc3f3081e0dbf52f68ee1dd701e0579a156f71d6e4ca6bf62a65d3","dweb:/ipfs/QmQRBbksFgxujjGJyiBW3vFRKnBRBWbTCJvZrzvyZMSk5Y"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/MockStrategy.sol":{"keccak256":"0xe6235d12f77ad7ef6c22d164d1e34a7954da4b0a7bd938e415fe51bed7805d9d","urls":["bzz-raw://f27af709c8f2ce97fade2a823ac6dcc7c7be73e1ac70ae01b656029f176b3f3c","dweb:/ipfs/QmNcFA8U649pvUT3yvNxSbt8PHr9EUc7W3XwMPYZqubKQ8"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/utils/TestStrategy.sol":{"keccak256":"0xea2365485b419bd4bf36d725a21616f0620a1daac7ad8afc9e458e8e4175de69","urls":["bzz-raw://2458faf35fda24efc7a1f6172353b3be7967c715538008d02d0a488fb7fe62f5","dweb:/ipfs/QmYPgwKZSo7RmocFUkpVPdywabJy1bu5BEqsAqGQ2P4A6L"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x1419991b2a8eb2de79b9bd2b3c5a0ceb5d7636ab9bcddde0b71701fd6ad47273","urls":["bzz-raw://7afc962ec6e60e1ff749cd0d4c671bc3b85386c68d26b824d4a6c6e6e8255e85","dweb:/ipfs/QmWwfj6Qk8QBcnGD45seGnDXtUmC9CYKuPNJCApSjLyPSj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x8f914dbd016bd0e318fe2b8bd556fbc8256c7cddc24e3e4fcb9f3c1c1935592d","urls":["bzz-raw://19e704df493dde38323303b07d18cadfeb4dcadf1ddc2301add4aea9474fbb5e","dweb:/ipfs/QmZasuGiLK8LHwWtvpqEBxUR6QFY6GdzLMTJ9q7CMf8PNZ"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x4298f3f4cedaedb07029820b1daad2c03af45379559392201f7bf3ec71105811","urls":["bzz-raw://6e062f36d8d1ae3c383ef8975757926eaa9c4de3a92b5f1fe2d12748bcd8db32","dweb:/ipfs/QmcWkv3ia5Ew4DZNcudMNSTNXZ3W2QiXTZunRd44e9BT8z"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x7c6be780decc2c54d0c65990b2f0a66d6d25778a3840a55977344290ef544fce","urls":["bzz-raw://ae80141e1208d1c5a7c3417d79a09aa510c5b6ecaaa08884ca45e42583daed90","dweb:/ipfs/Qmc6MwPwwDC242vwEJWyGhwUbKLKc7ab9hUau2JCmuHrTT"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xd8703f49411737ecf8d411f8fa66b2bf0ef972ba28b7a4adf1748c63df1bf682","urls":["bzz-raw://b7c10a6b8112f6fe3cdccb6240ecd382765216b1a82e9a86a0fec8f5e09eadd1","dweb:/ipfs/QmdRvPCU4RkjMHsTu3Ric1ZEF1AWDNLp78unFC5aWP17xq"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xa24468244abb66e663fb7eee6463cb518eb9a7c14e1071548ff564cca825bbca","urls":["bzz-raw://145585a2194aa6e2d30edfe709ef2814e20b1b4540469aa6a8f50c841fcb9070","dweb:/ipfs/QmZrwbvtpbtTxqbW5phUrwb3F1tBiPSQc6jZJAXBfsBsAh"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/safe-contracts/contracts/Safe.sol":{"keccak256":"0xbab2f7bec33283e349342e7b23f5191c678c64fe02065bac4f4f44fb3f5d2638","urls":["bzz-raw://f95884e85691d49ba3efb9b2a160466fed17377bfa92fc8bf5923f3c61e99119","dweb:/ipfs/QmQjhP9RnB3Cj3DNpWLzWqqvRdKBya6Efx6xzmRrwLqjm9"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0xf0be832e7529e92000544170a5529d73666a9b5e836b30c6f2ed6ef7d7d8c94a","urls":["bzz-raw://710022b40c9f78a5b55b97f6ce600e4834df2ddd36bf714974d953883c82d58c","dweb:/ipfs/QmbdJNKH5opevm7HxQKQAe6W7dQTgSHKa4nKvbUNGRcQQp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x646b3088f15af8b4f71ac5eeffaa24ce0c1abed5f494f90368208b09e35d5165","urls":["bzz-raw://7975be46d228510c70659b18076aecb3b0e7331b4d3a162444304145143bdc6e","dweb:/ipfs/QmRRbZrWUnoky6pVo8zMUzCTsshR4sZ2FjR13s8vyAb8dV"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0xedfc7c830ab35e52d1208986b253f3422c2f0ca68054c10819fb348fcc6ccf5d","urls":["bzz-raw://3ff8a4194d1160d2e23142937bc9d7eac7b6b553b1ee226390a0df07ebac1b64","dweb:/ipfs/QmSw8Y7z4TQrUTEosdWqcug7TUv9Tg1kxqMKHd7RuTnyzx"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0xd71b0d56dce386fa6f67c51061face071b2c7b03ec535d68717e2538ec47113a","urls":["bzz-raw://30812896d9f57cae84a432c67fbb3007d566071ec203b2992f1c0f762722df0d","dweb:/ipfs/QmRyJ3JbsUwDQxQDTrqDDX4qNtVu7XiW8cD8WP5kgNJGGz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0xec9799093eb7a73461cd5e563198751ee222f956f754ea622a03fe953e515b2c","urls":["bzz-raw://5729c58b14e7b656c71dd3377e9519c0d34ef8c04851a9a21c3d62393e4fae7a","dweb:/ipfs/QmRRtfFpNqvdANny9TYBr8rA3HbT1egUCpb2uXALMHkVxK"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x4ff3008926a118e9f36e6747facc39dd13168e0d00f516888ae966ec20766453","urls":["bzz-raw://385929800d1c0f92eb165fcf37a9e28b395b17d8b74f74755654d3a096a0fc34","dweb:/ipfs/QmagieLuN2jrp2oJHFyZuyz65Sh1CcupnXSEKypGFS5Gvo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/NativeCurrencyPaymentFallback.sol":{"keccak256":"0x3ddcd4130c67326033dcf773d2d87d7147e3a8386993ea3ab3f1c38da406adba","urls":["bzz-raw://740a729397b6a0d903f4738a50e856d4e5039555024937b148d97529525dbfa9","dweb:/ipfs/QmQJuNVvHbkeJ6jjd75D8FsZBPXH6neoGBZdQgtsA82E7g"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x1eb8c3601538b73dd6a823ac4fca49bb8adc97d1302a936622156636c971eb05","urls":["bzz-raw://c26495b1fe9229ea17f90b70f295030880d629b9ea3016ea20b634983865f7b3","dweb:/ipfs/QmTc1UmKcynkKn8DeviLMuy6scxNvAVSdLoX4ndUtdEL9N"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0xfb0e176bb208e047a234fe757e2acd13787e27879570b8544547ac787feb5f13","urls":["bzz-raw://8e9a317f0c3c02ab1d6c38039bff2b3e0c97f4dc9d229d3d9149c1af1c5023b3","dweb:/ipfs/QmNcZjNChsuXF34T6f3Zu7i3tnqvKN4NyWBWZ4tXLH9kMu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2a3baf0efa1585ddf2276505c6d34fa16f01cafff1288e40110d5e67fb459c7c","urls":["bzz-raw://00cdded3068b9051ee0a966f40926fbc57dbe7ef8bf4285db3740f9d50468c80","dweb:/ipfs/QmcP5hKmaRqBe7TpgoXtncZqsNKKdCCKxZgXoxEL4Nj5F4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0xcab7c6e5fb6d7295a9343f72fec26a2f632ddfe220a6f267b5c5a1eb2f9bce50","urls":["bzz-raw://dd1c31d5787ef590a60f6b0dbc74d09e6fe4d3ad2f0529940d662bf315521cde","dweb:/ipfs/QmSAS5DYrGksJe4cPQ4wLrveXa1CjxAuEiohcLpPG5h2bo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x2c5412a8f014db332322a6b24ee3cedce15dca17a721ae49fdef368568d4391e","urls":["bzz-raw://e775f267d3e60ebe452d9533f46a0eb1f1dc4593d1bcb553e86cea205a5f361e","dweb:/ipfs/QmQdYDHGQsiMx1AADWRhX7tduU9ycTzrT5q3zBWvphXzKZ"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/SafeMath.sol":{"keccak256":"0x5f856674d9be11344c5899deb43364e19baa75bc881cada4c159938270b2bd89","urls":["bzz-raw://351c66e5fe92c0a51f79d133521545dabdd3f756312a7b1428c1fc813c512a1c","dweb:/ipfs/QmdnrRmgef8SdamEU6fVEqFD5RQwXeDFTfQuZEfX2vxC4x"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x779ed3893a8812e383670b755f65c7727e9343dadaa4d7a4aa7f4aa35d859fdb","urls":["bzz-raw://bb2039e1459ace1e68761e873632fc339866332f9f5ecb7452a0bc3a3b847e89","dweb:/ipfs/QmYXvDQXJnDkXFvsvKLyZXaAv4x42qvtbtmwHftP4RKX38"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x2459cb3ed73ecb80e1e7a6508d09a58cc59570b049f77042f669dedfcc5f6457","urls":["bzz-raw://3c4a1371948b11f78171bc4ae4fd169a1eec11e5c4b273eb2c54bc030a1aae25","dweb:/ipfs/QmPuztatXZYVS65n8YbCyccJFZYPP6zQfBQ8tTY27pB978"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0xf5410c842c1bbff96a2047b31f5437a9dc5183d004ab1fc9f952220f11379602","urls":["bzz-raw://0ac1fa0c7d6fc683384a3ce0b328c66adcc53b6a3e59d3b67c62404dd57c3099","dweb:/ipfs/QmcVvxtcjZqyQwQcU4cPU4SZZ2LEahsmVWgJWGh5n8EHa7"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxy.sol":{"keccak256":"0x5dccbe86285c1d4c4b2fed0ae8007620c3186d22411f43feecfbf8a028e5c7e2","urls":["bzz-raw://a1a02d01a92895110505e141d05b0924ea457a25b89a161f0aeedf6b5cb41aec","dweb:/ipfs/QmYWEsFbWwtrVvEF9MNQtf4X3Qt13dAE8o44tEyAS9jmKP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/SafeProxyFactory.sol":{"keccak256":"0xdc68ce6d07d02723fcdde9f115c976d78bc599667b4f9d08e6cda50f51949533","urls":["bzz-raw://0389c45311e383f0a27a928594341da67f061bf88795aafdbfb5e8449416fc26","dweb:/ipfs/QmZXmXReN6uro3RAbh661G6LqfMEMeaLKRVoeJr5nx1tnh"],"license":"LGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x47351ee393ef06c8e139154f2a6e4905d90b34efbeb629951ac2c705e2136ed4","urls":["bzz-raw://b36a7b204d43a79d2b3d7e4008035710974b22957a555cef36a7792053816f11","dweb:/ipfs/QmdbDQQ3Hn8KMrLSG9nNLGEnXAsWYGDy9fdboy1e4mskGi"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0xfbfd4edaf11d0d675e02592d2d3b9b1d5b7d8ae807f6df8b76036763f2c6d7f7","urls":["bzz-raw://c232f83fbedb988eb5e8a9eae62af0e865e50c0ee187b391743f1d3e358a9951","dweb:/ipfs/QmX24JnxFEVi5TGvFfxLNoezCu3Mw5WmSxSXYTTnGHP9tN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryGardens.sol":{"keccak256":"0xd1a2311c509d57567ddad49f54e71fdb5e38033dec9846761aa18e69ba83e179","urls":["bzz-raw://114b443aae971f3d3f4e014c622fd5ae46ebb0782056f48151fe6165a9118132","dweb:/ipfs/QmWDM6AhpyXsiQvCPnwJswQUHWWpjqmw1nTvQdQgaMkdgb"],"license":"AGPL-3.0-only"},"pkg/contracts/test/RegistryTest.t.sol":{"keccak256":"0xec1195e8cceb42e3d733b34ca807c0cf415d73bb7a64c119b97d45a968528fe8","urls":["bzz-raw://6ef246c8d5efc3d8ab2e9324b2c8da413dbbb49aed09a65aa26325684778aae4","dweb:/ipfs/QmZX3cWu9cydo8ezty9T3FxQqimQW9bfWzDWRyC4vsYgvu"],"license":"UNLICENSED"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"},"pkg/contracts/test/shared/SafeSetup.sol":{"keccak256":"0x72f3be90e032c4bad370ac3af08c3acc1293349b1757fd397988e018984f6e52","urls":["bzz-raw://d59c6418416f2e0270066b29e0b6493c8bd185ac83555b7572d16a18599462f8","dweb:/ipfs/QmeUCyL97uUUC83WDSJxZUmgagP3tEY7hZERdczNYXnSGR"],"license":"AGPL-3.0-only"}},"version":1},"ast":{"absolutePath":"pkg/contracts/test/RegistryTest.t.sol","id":65750,"exportedSymbols":{"Allo":[1390],"AlloSetup":[9325],"CVStrategy":[61025],"DSTest":[12515],"Errors":[3089],"GasHelpers2":[65823],"IAllo":[2610],"IERC20":[6903],"IStrategy":[2969],"Metadata":[3098],"MockERC20":[9751],"MockStrategy":[9977],"Native":[3106],"Registry":[2295],"RegistryFactory":[61072],"RegistryGardens":[61840],"RegistrySetupFull":[9534],"RegistryTest":[65749],"SafeSetup":[66204],"StdAssertions":[14047],"StdChains":[14811],"StdCheats":[17664],"StdInvariant":[17989],"StdStorage":[18755],"StdStyle":[21605],"StdUtils":[22391],"Test":[22442],"TestBase":[12581],"TestStrategy":[10223],"Vm":[24293],"console":[32357],"console2":[40482],"safeconsole":[54822],"stdError":[17730],"stdJson":[18581],"stdMath":[18723],"stdStorage":[20394]},"nodeType":"SourceUnit","src":"39:3678:98","nodes":[{"id":65396,"nodeType":"PragmaDirective","src":"39:24:98","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":65397,"nodeType":"ImportDirective","src":"65:28:98","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":22443,"symbolAliases":[],"unitAlias":""},{"id":65398,"nodeType":"ImportDirective","src":"94:31:98","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":32358,"symbolAliases":[],"unitAlias":""},{"id":65399,"nodeType":"ImportDirective","src":"126:56:98","nodes":[],"absolutePath":"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":6904,"symbolAliases":[],"unitAlias":""},{"id":65401,"nodeType":"ImportDirective","src":"183:66:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":65400,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"191:5:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65403,"nodeType":"ImportDirective","src":"250:74:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"allo-v2-contracts/core/interfaces/IStrategy.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":65402,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"258:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65405,"nodeType":"ImportDirective","src":"343:53:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":65404,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"351:4:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65407,"nodeType":"ImportDirective","src":"397:61:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"allo-v2-contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":65406,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"405:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65409,"nodeType":"ImportDirective","src":"481:67:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"allo-v2-contracts/core/libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":65408,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"489:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65411,"nodeType":"ImportDirective","src":"549:71:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":65410,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"557:8:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65413,"nodeType":"ImportDirective","src":"621:67:98","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":65412,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"629:6:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65415,"nodeType":"ImportDirective","src":"707:68:98","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/AlloSetup.sol","file":"allo-v2-test/foundry/shared/AlloSetup.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":9326,"symbolAliases":[{"foreign":{"id":65414,"name":"AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"715:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65417,"nodeType":"ImportDirective","src":"776:80:98","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","file":"allo-v2-test/foundry/shared/RegistrySetup.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":9535,"symbolAliases":[{"foreign":{"id":65416,"name":"RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9534,"src":"784:17:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65419,"nodeType":"ImportDirective","src":"857:65:98","nodes":[],"absolutePath":"lib/allo-v2/test/utils/TestStrategy.sol","file":"allo-v2-test/utils/TestStrategy.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":10224,"symbolAliases":[{"foreign":{"id":65418,"name":"TestStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10223,"src":"865:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65421,"nodeType":"ImportDirective","src":"923:65:98","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockStrategy.sol","file":"allo-v2-test/utils/MockStrategy.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":9978,"symbolAliases":[{"foreign":{"id":65420,"name":"MockStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9977,"src":"931:12:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65423,"nodeType":"ImportDirective","src":"989:59:98","nodes":[],"absolutePath":"lib/allo-v2/test/utils/MockERC20.sol","file":"allo-v2-test/utils/MockERC20.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":9752,"symbolAliases":[{"foreign":{"id":65422,"name":"MockERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"997:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65425,"nodeType":"ImportDirective","src":"1049:53:98","nodes":[],"absolutePath":"pkg/contracts/test/shared/GasHelpers2.sol","file":"./shared/GasHelpers2.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":65824,"symbolAliases":[{"foreign":{"id":65424,"name":"GasHelpers2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65823,"src":"1057:11:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65427,"nodeType":"ImportDirective","src":"1103:59:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":61073,"symbolAliases":[{"foreign":{"id":65426,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61072,"src":"1111:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65429,"nodeType":"ImportDirective","src":"1163:49:98","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":61026,"symbolAliases":[{"foreign":{"id":65428,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61025,"src":"1171:10:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65431,"nodeType":"ImportDirective","src":"1213:59:98","nodes":[],"absolutePath":"pkg/contracts/src/RegistryGardens.sol","file":"../src/RegistryGardens.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":61841,"symbolAliases":[{"foreign":{"id":65430,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"1221:15:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65433,"nodeType":"ImportDirective","src":"1274:49:98","nodes":[],"absolutePath":"pkg/contracts/test/shared/SafeSetup.sol","file":"./shared/SafeSetup.sol","nameLocation":"-1:-1:-1","scope":65750,"sourceUnit":66205,"symbolAliases":[{"foreign":{"id":65432,"name":"SafeSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66204,"src":"1282:9:98","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":65749,"nodeType":"ContractDefinition","src":"1374:2342:98","nodes":[{"id":65450,"nodeType":"VariableDeclaration","src":"1480:26:98","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"1498:8:98","scope":65749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"},"typeName":{"id":65449,"nodeType":"UserDefinedTypeName","pathNode":{"id":65448,"name":"CVStrategy","nameLocations":["1480:10:98"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"1480:10:98"},"referencedDeclaration":61025,"src":"1480:10:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"visibility":"public"},{"id":65453,"nodeType":"VariableDeclaration","src":"1512:22:98","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","nameLocation":"1529:5:98","scope":65749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"},"typeName":{"id":65452,"nodeType":"UserDefinedTypeName","pathNode":{"id":65451,"name":"MockERC20","nameLocations":["1512:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"1512:9:98"},"referencedDeclaration":9751,"src":"1512:9:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"visibility":"public"},{"id":65460,"nodeType":"VariableDeclaration","src":"1540:48:98","nodes":[],"constant":false,"functionSelector":"5a2bcc18","mutability":"mutable","name":"mintAmount","nameLocation":"1555:10:98","scope":65749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65454,"name":"uint256","nodeType":"ElementaryTypeName","src":"1540:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000000000_by_1","typeString":"int_const 1000000000000000000000000"},"id":65459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"315f3030305f303030","id":65455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1568:9:98","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1_000_000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":65458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":65456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1580:2:98","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":65457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1586:2:98","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"1580:8:98","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"src":"1568:20:98","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000000_by_1","typeString":"int_const 1000000000000000000000000"}},"visibility":"public"},{"id":65463,"nodeType":"VariableDeclaration","src":"1594:44:98","nodes":[],"constant":true,"functionSelector":"08dbbb03","mutability":"constant","name":"MINIMUM_STAKE","nameLocation":"1618:13:98","scope":65749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65461,"name":"uint256","nodeType":"ElementaryTypeName","src":"1594:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31303030","id":65462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1634:4:98","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"visibility":"public"},{"id":65470,"nodeType":"VariableDeclaration","src":"1644:79:98","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"1660:8:98","scope":65749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":65465,"nodeType":"UserDefinedTypeName","pathNode":{"id":65464,"name":"Metadata","nameLocations":["1644:8:98"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1644:8:98"},"referencedDeclaration":3098,"src":"1644:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":65467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1691:1:98","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"737472617465677920706f696e746572","id":65468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1703:18:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""},"value":"strategy pointer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_c40c3a929724f92e3142fb466adc076a480bd9cc370830774d07d4e4d45988bb","typeString":"literal_string \"strategy pointer\""}],"id":65466,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1671:8:98","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":65469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1681:8:98","1694:7:98"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1671:52:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":65473,"nodeType":"VariableDeclaration","src":"1730:40:98","nodes":[],"constant":false,"mutability":"mutable","name":"registryGardens","nameLocation":"1755:15:98","scope":65749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":65472,"nodeType":"UserDefinedTypeName","pathNode":{"id":65471,"name":"RegistryGardens","nameLocations":["1730:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"1730:15:98"},"referencedDeclaration":61840,"src":"1730:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"},{"id":65478,"nodeType":"VariableDeclaration","src":"1777:54:98","nodes":[],"constant":false,"mutability":"mutable","name":"gardenOwner","nameLocation":"1785:11:98","scope":65749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65474,"name":"address","nodeType":"ElementaryTypeName","src":"1777:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"636f6d6d756e69747947617264656e4f776e6572","id":65476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1808:22:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3b05b505cc7f1f54c5edfd4d9e287f1cc476b8d108f6a22b370fcc0bb54332f","typeString":"literal_string \"communityGardenOwner\""},"value":"communityGardenOwner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3b05b505cc7f1f54c5edfd4d9e287f1cc476b8d108f6a22b370fcc0bb54332f","typeString":"literal_string \"communityGardenOwner\""}],"id":65475,"name":"makeAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16633,"src":"1799:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) returns (address)"}},"id":65477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1799:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":65682,"nodeType":"FunctionDefinition","src":"1838:1328:98","nodes":[],"body":{"id":65681,"nodeType":"Block","src":"1862:1304:98","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65481,"name":"__RegistrySetupFull","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9485,"src":"1872:19:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1872:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65483,"nodeType":"ExpressionStatement","src":"1872:21:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65487,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9369,"src":"1923:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () view returns (contract Registry)"}},"id":65488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1923:10:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":65486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1915:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65485,"name":"address","nodeType":"ElementaryTypeName","src":"1915:7:98","typeDescriptions":{}}},"id":65489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1915:19:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65484,"name":"__AlloSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"1903:11:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1903:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65491,"nodeType":"ExpressionStatement","src":"1903:32:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65495,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"1960:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1960:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65492,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"1946:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1949:10:98","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"1946:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1946:27:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65498,"nodeType":"ExpressionStatement","src":"1946:27:98"},{"expression":{"arguments":[{"hexValue":"30","id":65502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2004:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65499,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"1983:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1990:13:98","memberName":"updateBaseFee","nodeType":"MemberAccess","referencedDeclaration":312,"src":"1983:20:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":65503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65504,"nodeType":"ExpressionStatement","src":"1983:23:98"},{"expression":{"arguments":[{"hexValue":"30","id":65508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2040:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65505,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2016:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2016:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2023:16:98","memberName":"updatePercentFee","nodeType":"MemberAccess","referencedDeclaration":299,"src":"2016:23:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":65509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2016:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65510,"nodeType":"ExpressionStatement","src":"2016:26:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65511,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2052:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2055:9:98","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2052:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2052:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65515,"nodeType":"ExpressionStatement","src":"2052:14:98"},{"expression":{"id":65521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65516,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"2077:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":65519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2085:13:98","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockERC20_$9751_$","typeString":"function () returns (contract MockERC20)"},"typeName":{"id":65518,"nodeType":"UserDefinedTypeName","pathNode":{"id":65517,"name":"MockERC20","nameLocations":["2089:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":9751,"src":"2089:9:98"},"referencedDeclaration":9751,"src":"2089:9:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}},"id":65520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2085:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"src":"2077:23:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65522,"nodeType":"ExpressionStatement","src":"2077:23:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65526,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2121:5:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":65527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:7:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65528,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65460,"src":"2130:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65523,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"2110:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:4:98","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2110:10:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65530,"nodeType":"ExpressionStatement","src":"2110:31:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65534,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2162:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2162:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65536,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65460,"src":"2176:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65531,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"2151:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2157:4:98","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2151:10:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2151:36:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65538,"nodeType":"ExpressionStatement","src":"2151:36:98"},{"expression":{"arguments":[{"id":65542,"name":"gardenOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65478,"src":"2208:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65543,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65460,"src":"2221:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65539,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"2197:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2203:4:98","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":9605,"src":"2197:10:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":65544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2197:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65545,"nodeType":"ExpressionStatement","src":"2197:35:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65551,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2264:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2264:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2256:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65549,"name":"address","nodeType":"ElementaryTypeName","src":"2256:7:98","typeDescriptions":{}}},"id":65553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2256:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65554,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65460,"src":"2273:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65546,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"2242:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2248:7:98","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2242:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":65555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2242:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65556,"nodeType":"ExpressionStatement","src":"2242:42:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65560,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8991,"src":"2304:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2304:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65557,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2295:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2298:5:98","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":23954,"src":"2295:8:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2295:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65563,"nodeType":"ExpressionStatement","src":"2295:22:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65569,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2349:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2341:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65567,"name":"address","nodeType":"ElementaryTypeName","src":"2341:7:98","typeDescriptions":{}}},"id":65571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2341:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65572,"name":"mintAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65460,"src":"2358:10:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65564,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"2327:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2333:7:98","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"2327:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":65573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2327:42:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65574,"nodeType":"ExpressionStatement","src":"2327:42:98"},{"expression":{"id":65585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65575,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"2455:8:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65581,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2489:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2489:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2481:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65579,"name":"address","nodeType":"ElementaryTypeName","src":"2481:7:98","typeDescriptions":{}}},"id":65583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2481:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2466:14:98","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_CVStrategy_$61025_$","typeString":"function (address) returns (contract CVStrategy)"},"typeName":{"id":65577,"nodeType":"UserDefinedTypeName","pathNode":{"id":65576,"name":"CVStrategy","nameLocations":["2470:10:98"],"nodeType":"IdentifierPath","referencedDeclaration":61025,"src":"2470:10:98"},"referencedDeclaration":61025,"src":"2470:10:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}},"id":65584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2466:31:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"src":"2455:42:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}},"id":65586,"nodeType":"ExpressionStatement","src":"2455:42:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65590,"name":"allo_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"2595:10:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":65591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2595:12:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65587,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2581:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2584:10:98","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"2581:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2581:27:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65593,"nodeType":"ExpressionStatement","src":"2581:27:98"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65597,"name":"local","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8903,"src":"2643:5:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":65598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2643:7:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65594,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2618:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2625:17:98","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":8257,"src":"2618:24:98","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":65599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:33:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65600,"nodeType":"ExpressionStatement","src":"2618:33:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65601,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"2661:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2664:9:98","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"2661:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2661:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65605,"nodeType":"ExpressionStatement","src":"2661:14:98"},{"assignments":[65608],"declarations":[{"constant":false,"id":65608,"mutability":"mutable","name":"registryFactory","nameLocation":"2701:15:98","nodeType":"VariableDeclaration","scope":65681,"src":"2685:31:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"},"typeName":{"id":65607,"nodeType":"UserDefinedTypeName","pathNode":{"id":65606,"name":"RegistryFactory","nameLocations":["2685:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2685:15:98"},"referencedDeclaration":61072,"src":"2685:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":65613,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":65611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2719:19:98","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryFactory_$61072_$","typeString":"function () returns (contract RegistryFactory)"},"typeName":{"id":65610,"nodeType":"UserDefinedTypeName","pathNode":{"id":65609,"name":"RegistryFactory","nameLocations":["2723:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61072,"src":"2723:15:98"},"referencedDeclaration":61072,"src":"2723:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}}},"id":65612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2719:21:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"2685:55:98"},{"assignments":[65618],"declarations":[{"constant":false,"id":65618,"mutability":"mutable","name":"params","nameLocation":"2790:6:98","nodeType":"VariableDeclaration","scope":65681,"src":"2750:46:98","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams"},"typeName":{"id":65617,"nodeType":"UserDefinedTypeName","pathNode":{"id":65616,"name":"RegistryGardens.InitializeParams","nameLocations":["2750:15:98","2766:16:98"],"nodeType":"IdentifierPath","referencedDeclaration":61245,"src":"2750:32:98"},"referencedDeclaration":61245,"src":"2750:32:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_storage_ptr","typeString":"struct RegistryGardens.InitializeParams"}},"visibility":"internal"}],"id":65619,"nodeType":"VariableDeclarationStatement","src":"2750:46:98"},{"expression":{"id":65628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65620,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65618,"src":"2806:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2813:5:98","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":61230,"src":"2806:12:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65625,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"2829:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2829:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":65624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2821:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65623,"name":"address","nodeType":"ElementaryTypeName","src":"2821:7:98","typeDescriptions":{}}},"id":65627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2821:15:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2806:30:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65629,"nodeType":"ExpressionStatement","src":"2806:30:98"},{"expression":{"id":65639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65630,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65618,"src":"2846:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2853:12:98","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":61233,"src":"2846:19:98","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65636,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"2883:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}],"id":65635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2875:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65634,"name":"address","nodeType":"ElementaryTypeName","src":"2875:7:98","typeDescriptions":{}}},"id":65637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2875:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65633,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"2868:6:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$6903_$","typeString":"type(contract IERC20)"}},"id":65638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:22:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"src":"2846:44:98","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$6903","typeString":"contract IERC20"}},"id":65640,"nodeType":"ExpressionStatement","src":"2846:44:98"},{"expression":{"id":65645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65641,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65618,"src":"2900:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2907:19:98","memberName":"_minimumStakeAmount","nodeType":"MemberAccess","referencedDeclaration":61235,"src":"2900:26:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65644,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65463,"src":"2929:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2900:42:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65646,"nodeType":"ExpressionStatement","src":"2900:42:98"},{"expression":{"id":65651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65647,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65618,"src":"2952:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2959:12:98","memberName":"_protocolFee","nodeType":"MemberAccess","referencedDeclaration":61237,"src":"2952:19:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":65650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2974:1:98","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"2952:23:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65652,"nodeType":"ExpressionStatement","src":"2952:23:98"},{"expression":{"id":65657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65653,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65618,"src":"2985:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2992:9:98","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":61242,"src":"2985:16:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65656,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65470,"src":"3004:8:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"src":"2985:27:98","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"id":65658,"nodeType":"ExpressionStatement","src":"2985:27:98"},{"expression":{"id":65670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":65659,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65618,"src":"3022:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}},"id":65661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3029:12:98","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":61244,"src":"3022:19:98","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65666,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66105,"src":"3060:12:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_Safe_$55944_$","typeString":"function () returns (contract Safe)"}},"id":65667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3060:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Safe_$55944","typeString":"contract Safe"}],"id":65665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3052:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65664,"name":"address","nodeType":"ElementaryTypeName","src":"3052:7:98","typeDescriptions":{}}},"id":65668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3052:23:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3044:8:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65662,"name":"address","nodeType":"ElementaryTypeName","src":"3044:8:98","stateMutability":"payable","typeDescriptions":{}}},"id":65669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3044:32:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"3022:54:98","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":65671,"nodeType":"ExpressionStatement","src":"3022:54:98"},{"expression":{"id":65679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65672,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65473,"src":"3086:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":65676,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65618,"src":"3151:6:98","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$61245_memory_ptr","typeString":"struct RegistryGardens.InitializeParams memory"}],"expression":{"id":65674,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65608,"src":"3120:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$61072","typeString":"contract RegistryFactory"}},"id":65675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3136:14:98","memberName":"createRegistry","nodeType":"MemberAccess","referencedDeclaration":61071,"src":"3120:30:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$61245_memory_ptr_$returns$_t_address_$","typeString":"function (struct RegistryGardens.InitializeParams memory) external returns (address)"}},"id":65677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3120:38:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65673,"name":"RegistryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61840,"src":"3104:15:98","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryGardens_$61840_$","typeString":"type(contract RegistryGardens)"}},"id":65678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3104:55:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"src":"3086:73:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":65680,"nodeType":"ExpressionStatement","src":"3086:73:98"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1847:5:98","parameters":{"id":65479,"nodeType":"ParameterList","parameters":[],"src":"1852:2:98"},"returnParameters":{"id":65480,"nodeType":"ParameterList","parameters":[],"src":"1862:0:98"},"scope":65749,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":65691,"nodeType":"FunctionDefinition","src":"3172:107:98","nodes":[],"body":{"id":65690,"nodeType":"Block","src":"3240:39:98","nodes":[],"statements":[{"expression":{"id":65688,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65473,"src":"3257:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"functionReturnParameters":65687,"id":65689,"nodeType":"Return","src":"3250:22:98"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_registryGardens","nameLocation":"3181:16:98","parameters":{"id":65683,"nodeType":"ParameterList","parameters":[],"src":"3197:2:98"},"returnParameters":{"id":65687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65691,"src":"3223:15:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"},"typeName":{"id":65685,"nodeType":"UserDefinedTypeName","pathNode":{"id":65684,"name":"RegistryGardens","nameLocations":["3223:15:98"],"nodeType":"IdentifierPath","referencedDeclaration":61840,"src":"3223:15:98"},"referencedDeclaration":61840,"src":"3223:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"visibility":"internal"}],"src":"3222:17:98"},"scope":65749,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":65748,"nodeType":"FunctionDefinition","src":"3285:429:98","nodes":[],"body":{"id":65747,"nodeType":"Block","src":"3331:383:98","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"63726561746550726f706f73616c","id":65695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3359:16:98","typeDescriptions":{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""},"value":"createProposal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5536a8091585df374904ce34bc5a018a066909f56bacdb9a6a98233f172cc216","typeString":"literal_string \"createProposal\""}],"id":65694,"name":"startMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65790,"src":"3341:17:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":65696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3341:35:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65697,"nodeType":"ExpressionStatement","src":"3341:35:98"},{"expression":{"arguments":[{"arguments":[{"id":65703,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65450,"src":"3426:8:98","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$61025","typeString":"contract CVStrategy"}],"id":65702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3418:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65701,"name":"address","nodeType":"ElementaryTypeName","src":"3418:7:98","typeDescriptions":{}}},"id":65704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3418:17:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65698,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9324,"src":"3386:4:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_Allo_$1390_$","typeString":"function () view returns (contract Allo)"}},"id":65699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3386:6:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":65700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3393:24:98","memberName":"addToCloneableStrategies","nodeType":"MemberAccess","referencedDeclaration":341,"src":"3386:31:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3386:50:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65706,"nodeType":"ExpressionStatement","src":"3386:50:98"},{"expression":{"arguments":[{"id":65710,"name":"gardenOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65478,"src":"3461:11:98","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65707,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3447:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3450:10:98","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":23959,"src":"3447:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":65711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3447:26:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65712,"nodeType":"ExpressionStatement","src":"3447:26:98"},{"expression":{"arguments":[{"arguments":[{"id":65718,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65473,"src":"3505:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":65717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3497:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65716,"name":"address","nodeType":"ElementaryTypeName","src":"3497:7:98","typeDescriptions":{}}},"id":65719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3497:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65720,"name":"MINIMUM_STAKE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65463,"src":"3523:13:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65713,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"3483:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3489:7:98","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":8464,"src":"3483:13:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":65721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3483:54:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65722,"nodeType":"ExpressionStatement","src":"3483:54:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65723,"name":"_registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65691,"src":"3547:16:98","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_contract$_RegistryGardens_$61840_$","typeString":"function () view returns (contract RegistryGardens)"}},"id":65724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3547:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}},"id":65725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3566:22:98","memberName":"stakeAndRegisterMember","nodeType":"MemberAccess","referencedDeclaration":61652,"src":"3547:41:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3547:43:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65727,"nodeType":"ExpressionStatement","src":"3547:43:98"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":65733,"name":"registryGardens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65473,"src":"3633:15:98","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryGardens_$61840","typeString":"contract RegistryGardens"}],"id":65732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3625:7:98","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65731,"name":"address","nodeType":"ElementaryTypeName","src":"3625:7:98","typeDescriptions":{}}},"id":65734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3625:24:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65729,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65453,"src":"3609:5:98","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$9751","typeString":"contract MockERC20"}},"id":65730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3615:9:98","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":8438,"src":"3609:15:98","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":65735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3609:41:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":65736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3652:1:98","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65728,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[12748,12773,12786,12802,12844,12886,12928,12965,13002,13039,10544,10569,10599,10624,10683,10708,10738,10763,12236,12271],"referencedDeclaration":10738,"src":"3600:8:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":65737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3600:54:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65738,"nodeType":"ExpressionStatement","src":"3600:54:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65739,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12574,"src":"3665:2:98","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$24293","typeString":"contract Vm"}},"id":65741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3668:9:98","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":23976,"src":"3665:12:98","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":65742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:14:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65743,"nodeType":"ExpressionStatement","src":"3665:14:98"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":65744,"name":"stopMeasuringGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65822,"src":"3689:16:98","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":65745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3689:18:98","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65746,"nodeType":"ExpressionStatement","src":"3689:18:98"}]},"functionSelector":"0354ae60","implemented":true,"kind":"function","modifiers":[],"name":"test_stakeAndRegisterMember","nameLocation":"3294:27:98","parameters":{"id":65692,"nodeType":"ParameterList","parameters":[],"src":"3321:2:98"},"returnParameters":{"id":65693,"nodeType":"ParameterList","parameters":[],"src":"3331:0:98"},"scope":65749,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":65434,"name":"Test","nameLocations":["1399:4:98"],"nodeType":"IdentifierPath","referencedDeclaration":22442,"src":"1399:4:98"},"id":65435,"nodeType":"InheritanceSpecifier","src":"1399:4:98"},{"baseName":{"id":65436,"name":"AlloSetup","nameLocations":["1405:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":9325,"src":"1405:9:98"},"id":65437,"nodeType":"InheritanceSpecifier","src":"1405:9:98"},{"baseName":{"id":65438,"name":"RegistrySetupFull","nameLocations":["1416:17:98"],"nodeType":"IdentifierPath","referencedDeclaration":9534,"src":"1416:17:98"},"id":65439,"nodeType":"InheritanceSpecifier","src":"1416:17:98"},{"baseName":{"id":65440,"name":"Native","nameLocations":["1435:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"1435:6:98"},"id":65441,"nodeType":"InheritanceSpecifier","src":"1435:6:98"},{"baseName":{"id":65442,"name":"Errors","nameLocations":["1443:6:98"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"1443:6:98"},"id":65443,"nodeType":"InheritanceSpecifier","src":"1443:6:98"},{"baseName":{"id":65444,"name":"GasHelpers2","nameLocations":["1451:11:98"],"nodeType":"IdentifierPath","referencedDeclaration":65823,"src":"1451:11:98"},"id":65445,"nodeType":"InheritanceSpecifier","src":"1451:11:98"},{"baseName":{"id":65446,"name":"SafeSetup","nameLocations":["1464:9:98"],"nodeType":"IdentifierPath","referencedDeclaration":66204,"src":"1464:9:98"},"id":65447,"nodeType":"InheritanceSpecifier","src":"1464:9:98"}],"canonicalName":"RegistryTest","contractDependencies":[1390,2295,9751,55944,57710,61025,61072],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[65749,66204,65823,3089,3106,9534,9370,9325,9264,22442,22391,17989,17664,16871,14811,14047,12515,12581,12578],"name":"RegistryTest","nameLocation":"1383:12:98","scope":65750,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088]}],"license":"UNLICENSED"},"id":98} \ No newline at end of file diff --git a/pkg/contracts/script/DeployCVArbSepolia.s.sol b/pkg/contracts/script/DeployCVArbSepolia.s.sol index 69073f573..e78f8a549 100644 --- a/pkg/contracts/script/DeployCVArbSepolia.s.sol +++ b/pkg/contracts/script/DeployCVArbSepolia.s.sol @@ -84,19 +84,18 @@ contract DeployCVArbSepolia is Native, CVStrategyHelpers, Script, SafeSetup { token.approve(address(allo), type(uint256).max); allo.fundPool(poolId, 1_000); - CVStrategy.CreateProposal memory proposal = CVStrategy.CreateProposal( - 1, poolId, pool_admin(), CVStrategy.ProposalType.Funding, 1000 wei, address(token) - ); + CVStrategy.CreateProposal memory proposal = + CVStrategy.CreateProposal(1, poolId, pool_admin(), CVStrategy.ProposalType.Funding, 50 wei, address(token)); bytes memory data = abi.encode(proposal); allo.registerRecipient(poolId, data); proposal = - CVStrategy.CreateProposal(2, poolId, pool_admin(), CVStrategy.ProposalType.Funding, 500 wei, address(token)); + CVStrategy.CreateProposal(2, poolId, pool_admin(), CVStrategy.ProposalType.Funding, 25 wei, address(token)); data = abi.encode(proposal); allo.registerRecipient(poolId, data); proposal = - CVStrategy.CreateProposal(3, poolId, pool_admin(), CVStrategy.ProposalType.Funding, 900 wei, address(token)); + CVStrategy.CreateProposal(3, poolId, pool_admin(), CVStrategy.ProposalType.Funding, 10 wei, address(token)); data = abi.encode(proposal); allo.registerRecipient(poolId, data); diff --git a/pkg/contracts/test/CVStrategyHelpers.sol b/pkg/contracts/test/CVStrategyHelpers.sol index a58ed979a..bab9f640e 100644 --- a/pkg/contracts/test/CVStrategyHelpers.sol +++ b/pkg/contracts/test/CVStrategyHelpers.sol @@ -2,6 +2,7 @@ pragma solidity ^0.8.13; +import "forge-std/console.sol"; import {Allo} from "allo-v2-contracts/core/Allo.sol"; import {Metadata} from "allo-v2-contracts/core/libraries/Metadata.sol"; import {CVStrategy} from "../src/CVStrategy.sol"; @@ -19,13 +20,17 @@ contract CVStrategyHelpers is Native, Accounts { uint256 internal constant TWO_128 = 2 ** 128; uint256 internal constant D = 10 ** 7; + // function poolProfile_id1(RegistryGardens registryGardens) public virtual returns (bytes32) { function poolProfile_id1(IRegistry registry) public virtual returns (bytes32) { if (_poolProfileId1_ == bytes32(0)) { _poolProfileId1_ = registry.createProfile( - 1, "Pool Profile 1", Metadata({protocol: 1, pointer: "PoolProfile1"}), pool_admin(), pool_managers() + 2, "Pool Profile 1", Metadata({protocol: 1, pointer: "PoolProfile1"}), pool_admin(), pool_managers() ); } return _poolProfileId1_; + // bytes32 profileId = registryGardens.profileId(); + // console.logBytes32(profileId); + // return profileId; } function createPool(Allo allo, address strategy, address registryGardens, IRegistry registry, address token) diff --git a/turbo.json b/turbo.json index ece77b967..7b052d293 100644 --- a/turbo.json +++ b/turbo.json @@ -1,5 +1,8 @@ { "$schema": "https://turbo.build/schema.json", + "globalDotEnv": [ + ".env" + ], "pipeline": { "generate": { "dependsOn": [ From 797e5fb7fc432ee9a8fdb8a354c364b9c47f3616 Mon Sep 17 00:00:00 2001 From: Felipe Novaes F Rocha Date: Thu, 11 Jan 2024 07:23:26 -0300 Subject: [PATCH 4/4] :zap: enforce only sepolia in vercel --- apps/web/constants/contracts/index.ts | 2 ++ apps/web/providers/WagmiProvider.tsx | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/web/constants/contracts/index.ts b/apps/web/constants/contracts/index.ts index 06c0a58b6..2bf8625a9 100644 --- a/apps/web/constants/contracts/index.ts +++ b/apps/web/constants/contracts/index.ts @@ -50,3 +50,5 @@ console.log("env", ENV); console.log("envs", __contractsAddresses); export const contractsAddresses = __contractsAddresses; + +export const isProd = ENV === "prod"; diff --git a/apps/web/providers/WagmiProvider.tsx b/apps/web/providers/WagmiProvider.tsx index 3150101d7..ecd535f77 100644 --- a/apps/web/providers/WagmiProvider.tsx +++ b/apps/web/providers/WagmiProvider.tsx @@ -18,7 +18,7 @@ import { InjectedConnector } from "wagmi/connectors/injected"; import { WalletConnectConnector } from "wagmi/connectors/walletConnect"; import { jsonRpcProvider } from "wagmi/providers/jsonRpc"; -import { contractsAddresses } from "@/constants/contracts"; +import { contractsAddresses, isProd } from "@/constants/contracts"; type WagmiProviderType = { children: React.ReactNode; }; @@ -45,7 +45,7 @@ const localChain = { }; const { chains, publicClient } = configureChains( - [localChain, arbitrumSepolia], + isProd ? [arbitrumSepolia] : [localChain, arbitrumSepolia], [ jsonRpcProvider({ rpc: (chain: any) => chain.rpcUrls.default }), walletConnectProvider({ projectId }),